📄 untmain.pas
字号:
unit UntMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ActnList, ImgList, DB, ADODB, UntIniFile,LblDBA,
GlobalClass, ExtCtrls, WinSkinData;
const
DBDefPwd = '~!·#¥%……—*';
DBConStr = 'Provider=Microsoft.Jet.OLEDB.4.0;'
+' Data Source="%s";'
+' Jet OLEDB:Database Password = "%s"';
type
TfrmMain = class(TForm)
mmMain: TMainMenu;
N1: TMenuItem;
mnuOpen: TMenuItem;
mnuNew: TMenuItem;
N4: TMenuItem;
mnuExit: TMenuItem;
dlgOpenDB: TOpenDialog;
statmain: TStatusBar;
ImglstMain: TImageList;
dlgNewDB: TOpenDialog;
tmrGetTme: TTimer;
SknDtMain: TSkinData;
mmLabel: TMainMenu;
N2: TMenuItem;
N3: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
H1: TMenuItem;
A1: TMenuItem;
procedure mnuNewClick(Sender: TObject);
procedure mnuOpenClick(Sender: TObject);
procedure mnuExitClick(Sender: TObject);
procedure tmrGetTmeTimer(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
procedure OpenUserDb(DBName:String);
procedure LoginUserDB;
public
{ Public declarations }
UserInfo : TUserInfo;
ChildFrm : TStringList;
end;
var
frmMain: TfrmMain;
implementation
uses UDM, UntLogin, UntNewLabel, untOpenLbl;
{$R *.dfm}
procedure TfrmMain.mnuExitClick(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.mnuNewClick(Sender: TObject);
var
DBName:string;
begin
dlgNewDB.Title := '新建标签数据库';
if dlgNewDB.Execute then
begin
DBName := dlgNewDB.FileName;
If FileExists(DBName) then
begin
ShowMessage('文件已存在,不能创建!');
Exit;
end
else
begin
If CreateDB(DBNAME,DBDefPwd,true) then
begin
ShowMessage('文件"'+DBNAME+'"创建成功'+#10#13#10+'初始用户名:admin '
+#10#13#10+' 初始密码:888888');
OpenUserDb(DBName);
end;
end;
end;
end;
procedure TfrmMain.mnuOpenClick(Sender: TObject);
begin
If dlgOpenDB.Execute then
If FileExists(dlgOpenDB.FileName)then
begin
// mmMain.Unmerge(mmLabel);
OpenUserDb(dlgOpenDB.FileName);
end;
end;
procedure TfrmMain.OpenUserDb(DBName:string);
var
iniFileName : string;
begin
If not Assigned(frmDMLbl) then frmDMLbl := TfrmDMLbl.create(Self);
frmDMLbl.conDBLbl.Connected := False;
frmDMLbl.conDBLbl.ConnectionString := Format(DBConStr,[DBName,DBDefPwd]);
frmDMLbl.conDBLbl.Connected := True;
statmain.Panels[4].Text := DBName;
iniFileName := ExtractFilePath(Application.ExeName)+'LblSetup.ini';
IniOptions.LoadFromFile(iniFileName);
IniOptions.OptionLastFile := DBNAME;
IniOptions.OptionLastUser := 'Admin';
IniOptions.OptionLastLbl := '';
IniOptions.SaveToFile(iniFileName);
LoginUserDB;
end;
procedure TfrmMain.LoginUserDB;
begin
UserInfo.UID := 0 ;
If not Assigned(frmLogin) then
frmLogin := TfrmLogin.Create(nil);
frmLogin.ShowModal;
FreeAndNil(frmLogin);
statmain.Panels[1].Text := UserInfo.UName;
If UserInfo.UID <>0 then
begin
Self.Menu := mmLabel;
end
else
statmain.Panels[1].Text := '未登陆';
end;
procedure TfrmMain.tmrGetTmeTimer(Sender: TObject);
begin
statmain.Panels[3].Text := DateTimeToStr(Now);
end;
procedure TfrmMain.N3Click(Sender: TObject);
begin
if ChildFrm.Count > 0 then
begin
ShowMessage('请先关闭打开的子窗体!');
Exit;
end;
if not Assigned(frmNewLabel) then frmNewLabel := TfrmNewLabel.Create(Self);
frmNewLabel.show;
frmNewLabel.BringToFront;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var
iniFileName :string;
AutoDBName:string;
begin
ChildFrm := TStringList.Create;
iniFileName := ExtractFilePath(Application.ExeName)+'LblSetup.ini';
IniOptions.LoadFromFile(iniFileName);
AutoDbName := IniOptions.OptionLastFile;
if FileExists(AutoDbName) then
OpenUserDb(AutoDbName);
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
ChildFrm.Destroy;
end;
procedure TfrmMain.N7Click(Sender: TObject);
var
i : Integer;
begin
with statmain do
begin
Panels[1].Text := '未登陆';
Panels[4].Text := '';
end;
//关闭所有子窗体
for i:=0 to MDIChildCount-1 do
MDIChildren[i].Close;
Self.Menu := mmMain;
//关闭所有数据连接
if Assigned(frmDMLbl) then
frmdmlbl.conDBLbl.Connected := False;
end;
procedure TfrmMain.N8Click(Sender: TObject);
begin
if ChildFrm.Count > 0 then
begin
ShowMessage('请先关闭打开的子窗体!');
Exit;
end;
if not Assigned(frmOpenLabel) then frmOpenLabel := TfrmOpenLabel.Create(Self);
frmOpenLabel.show;
frmOpenLabel.BringToFront;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -