📄 main.pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, DB, ADODB, ExtCtrls,JPEG,inifiles;
type
TfrmMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
StatusBar1: TStatusBar;
ADOConn: TADOConnection;
Panel1: TPanel;
Image1: TImage;
PopupMenu1: TPopupMenu;
N18: TMenuItem;
N19: TMenuItem;
OpenDialog1: TOpenDialog;
procedure FormActivate(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure PluginMenuClick(Sender:TObject);
procedure ADOConnConnectComplete(Connection: TADOConnection;
const Error: Error; var EventStatus: TEventStatus);
procedure N6Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure ADOConnDisconnect(Connection: TADOConnection;
var EventStatus: TEventStatus);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
firstIn:Boolean = True;
Logined:Boolean = False;
UserID:String;
implementation
uses Loading, Login, ChgPassword;
{$R *.dfm}
procedure TfrmMain.FormActivate(Sender: TObject);
begin
if firstIn then
begin
frmLoading:=TfrmLoading.Create(Self);
frmLoading.ShowModal;
if not Logined then Close;
firstIn:=False;
end;
end;
procedure TfrmMain.N9Click(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var
Myini:Tinifile;
ImgFileName:String;
begin
Panel1.Align:=alClient;
Myini:=Tinifile.Create('Sunway.ini');
ImgFileName:=Myini.ReadString('Desktop','Image','');
Myini.Free;
if ImgFileName<>'' then
begin
try
Image1.Picture.LoadFromFile(ImgFileName);
except
end;
end;
end;
procedure TfrmMain.N18Click(Sender: TObject);
var
Myini:Tinifile;
begin
if Opendialog1.Execute then
if Opendialog1.FileName<>'' then
begin
try
Image1.Picture.LoadFromFile(Opendialog1.FileName);
Self.Update;
Myini:=Tinifile.Create('Sunway.ini');
Myini.WriteString('Desktop','Image',Opendialog1.FileName);
Myini.Free;
except
Messagebox(Handle,'调入桌面图片失败,可能该文件已经损坏!','系统提示',mb_iconError);
end;
end;
end;
procedure TfrmMain.N19Click(Sender: TObject);
begin
Image1.Picture.Bitmap:=nil;
end;
procedure TfrmMain.PluginMenuClick(Sender: TObject);
type
TProc = procedure(aHnd:THandle;conn:TADOConnection;UID:PChar);
var
DllHnd:THandle;
Proc:TProc;
begin
if UserID='' then
begin
MessageBox(Handle,'未找到可用的用户登录信息,请先登录用户!','系统提示',mb_ok+mb_iconError);
Exit;
end;
if TMenuItem(Sender).Tag<>0 then
DllHnd:=TMenuItem(Sender).Tag
else
DllHnd:=LoadLibrary(Pchar(TMenuItem(Sender).Hint));
if DLLHnd=0 then Exit;
Proc:=GetProcAddress(DllHnd,'Execute');
if Assigned(Proc) then
begin
Proc(DllHnd,ADOConn,Pchar(USERID));
TMenuItem(Sender).Tag:=DllHnd;
end;
end;
procedure TfrmMain.ADOConnConnectComplete(Connection: TADOConnection;
const Error: Error; var EventStatus: TEventStatus);
begin
StatusBar1.Panels[1].Text:=ADOConn.DefaultDatabase;
N4.Caption:='断开连接';
N4.Tag:=1;
N2.Enabled:=True;
N6.Enabled:=True;
N7.Enabled:=True;
end;
procedure TfrmMain.N6Click(Sender: TObject);
begin
if N6.Tag=1 then
begin
Logined:=False;
UserID:='';
StatusBar1.Panels[2].Text:='None';
N6.Tag:=0;
N7.Enabled:=False;
N6.Caption:='登录用户';
end
else
begin
frmLogin:=TfrmLogin.Create(Self);
frmLogin.ShowModal;
end;
end;
procedure TfrmMain.N4Click(Sender: TObject);
begin
if UserID='' then
begin
MessageBox(Handle,'未找到可用的用户登录信息,请先登录用户!','系统提示',mb_ok+mb_iconError);
Exit;
end;
if N4.Tag=0 then
begin
ADOConn.ConnectionString:='File Name='+ExtractFilePath(Application.ExeName)+'Sunway.udl';
try
ADOConn.Open;
except
Messagebox(Handle,'无法连接到指定服务器,请检查配置文件或网络状态!','连接失败',mb_ok+mb_iconError);
end;
end
else
begin
ADOConn.Close;
end;
end;
procedure TfrmMain.ADOConnDisconnect(Connection: TADOConnection;
var EventStatus: TEventStatus);
begin
StatusBar1.Panels[1].Text:='None';
N4.Caption:='连接服务器';
N4.Tag:=0;
N2.Enabled:=False;
N6.Enabled:=False;
N7.Enabled:=False;
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ADOConn.Close;
end;
procedure TfrmMain.N7Click(Sender: TObject);
begin
frmChgPassword:=TfrmChgPassword.Create(Self);
frmChgPassword.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -