📄 datafrm.~pas
字号:
unit datafrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ChildFrm, Buttons, ExtCtrls, StdCtrls, Mask;
type
TdataForm = class(TForm)
GroupBox1: TGroupBox;
Splitter1: TSplitter;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
BBOK: TBitBtn;
BBcancel: TBitBtn;
Ed1: TEdit;
Ed2: TEdit;
Ed3: TEdit;
Ed4: TEdit;
Ed5: TEdit;
BBclose01: TBitBtn;
BBclose02: TBitBtn;
BBdown: TBitBtn;
BBup: TBitBtn;
BBstart: TBitBtn;
GroupBox3: TGroupBox;
Nbdata: TNotebook;
Label6: TLabel;
Label9: TLabel;
Label8: TLabel;
Label10: TLabel;
Label11: TLabel;
CBlocate: TComboBox;
Label12: TLabel;
Edalias: TEdit;
Label7: TLabel;
CBdatatype: TComboBox;
Label13: TLabel;
Eddatapath: TEdit;
SBfind: TSpeedButton;
Label14: TLabel;
LBremote: TListBox;
ODopen: TOpenDialog;
Label15: TLabel;
MEd6: TMaskEdit;
CBborrowday: TCheckBox;
Panel1: TPanel;
SBborrowhis: TSpeedButton;
SBreturnhis: TSpeedButton;
SBreaderquit: TSpeedButton;
SBbooklose: TSpeedButton;
procedure FormDestroy(Sender: TObject);
procedure BBcancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BBOKClick(Sender: TObject);
procedure Ed1KeyPress(Sender: TObject; var Key: Char);
procedure BBclose01Click(Sender: TObject);
procedure BBdownClick(Sender: TObject);
procedure BBupClick(Sender: TObject);
procedure NbdataPageChanged(Sender: TObject);
procedure BBstartClick(Sender: TObject);
procedure SBborrowhisClick(Sender: TObject);
procedure SBreturnhisClick(Sender: TObject);
procedure SBbookloseClick(Sender: TObject);
procedure SBfindClick(Sender: TObject);
procedure SBreaderquitClick(Sender: TObject);
private
{ Private declarations }
protected
procedure INIWRITE(var msg:TMessage);message INI_WRITE;
public
{ Public declarations }
end;
var
dataForm: TdataForm;
implementation
uses inifiles, dmfrm, delhistoryfrm;
{$R *.dfm}
var
ppinifile:tinifile;
pform:thandle;
procedure TdataForm.INIWRITE(var msg: TMessage);
begin
ppinifile:=tinifile(msg.LParam);
pform:=msg.WParam;
end;
procedure TdataForm.FormDestroy(Sender: TObject);
begin
inherited;
dataForm:=nil;
end;
procedure TdataForm.BBcancelClick(Sender: TObject);
begin
inherited;
ed1.Clear;
ed2.Clear;
ed3.Clear;
ed4.Clear;
ed5.Clear;
end;
procedure TdataForm.FormCreate(Sender: TObject);
begin
inherited;
CBborrowday.Checked:=childfrm.checkusesdefaultday;
ed1.Text:=inttostr(childfrm.borrowbooknum);
ed2.Text:=inttostr(childfrm.borrowbookday);
ed3.Text:=inttostr(childfrm.passdaybookcomm);
ed4.Text:=inttostr(childfrm.passdayself);
ed5.Text:=inttostr(childfrm.readercount);
med6.Text:=timetostr(childfrm.backuptime);//预留设定栏
end;
procedure TdataForm.BBOKClick(Sender: TObject);
var
bn,bd,bpn,bpsn,bpsr:string;
bptime:Tdatetime;
begin
inherited;
if ed1.Text=emptystr then bn:='1' else bn:=ed1.Text;
if ed2.Text=emptystr then bd:='7' else bd:=ed2.Text;
if ed3.Text=emptystr then bpn:='1' else bpn:=ed3.Text;
if ed4.Text=emptystr then bpsn:='1' else bpsn:=ed4.Text;
if ed5.Text=emptystr then bpsr:=inttostr(childfrm.readercount) else bpsr:=ed5.text;
if Med6.Text=' : : ' then bptime:=strtotime('23:00:00') else bptime:=strtotime(Med6.Text);
with ppinifile do
begin
writestring('BOOK2001','BorrowNumber',bn);
writebool('BOOK2001','UseDefaulBorrowDay',CBborrowday.Checked);
writestring('BOOK2001','BorrowDay',bd);
writestring('BOOK2001','BorrowPassCommNumber',bpn);
writestring('BOOK2001','BorrowPassSelfNumber',bpsn);
writestring('BOOK2001','ReaderCount',bpsr);
writestring('BOOK2001','BackupTime',FormatDateTime('hh:nn:ss',bptime));
childfrm.borrowbooknum:=strtoint(bn); //初始化借书数量变量
childfrm.borrowbookday:=strtoint(bd); //初始化借书借期变量
childfrm.passdaybookcomm:=strtoint(bpn);//初始化一般过期扣点数量变量
childfrm.passdayself:=strtoint(bpsn);//初始化特殊过期扣点数量变量
childfrm.readercount:=strtoint(bpsr);
childfrm.backuptime:=bptime;
childfrm.checkusesdefaultday:=CBborrowday.Checked;
end;
end;
procedure TdataForm.Ed1KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then
begin
if Tedit(sender)=ed1 then ed2.SetFocus;
if Tedit(sender)=ed2 then ed3.SetFocus;
if Tedit(sender)=ed3 then ed4.SetFocus;
if Tedit(sender)=ed4 then ed5.SetFocus;
if Tedit(sender)=ed5 then begin
bbok.SetFocus;
bbok.Click;
end;
end
else if not (key in ['0'..'9',#8]) then
begin
key:=#0;
beep;
end;
end;
procedure TdataForm.BBclose01Click(Sender: TObject);
begin
inherited;
ModalResult := mrOK;
end;
procedure TdataForm.BBdownClick(Sender: TObject);
var
dataAlias,locatRemate,datatype,RemotedbServer:string;
begin
inherited;
if BBdown.Caption='完成' then
begin
locatRemate:='Local';//测试
dataAlias:='book_gui';//测试
datatype:='INTRBASE';//测试
RemotedbServer:='127.0.0.1';//测试
BBdown.Enabled:=false;
ppinifile.writestring('BOOK2001','DataAliasName',dataAlias);
ppinifile.WriteString('BOOK2001','LocalRemote',locatRemate);
if locatRemate='Remote' then ppinifile.WriteString('BOOK2001','RemoteServer',RemotedbServer);
ppinifile.WriteString('BOOK2001','DataType',datatype);
if messagedlg('要使用新的数据库源,需重新登录系统!'
+#13#10#10+'重新登录系统吗?',mtWarning,[mbYes,mbNo],0)=mrYes then
begin
ModalResult := mrOK;
childfrm.dataAliasName:=dataAlias; //为全局变量dataAliasName设定为刚设定的数据别名
postmessage(pform,MY_LOGIN,dataform.Handle,0);//重新登录系统
end;
end;
NBdata.PageIndex:=NBdata.PageIndex+1;
end;
procedure TdataForm.BBupClick(Sender: TObject);
begin
inherited;
NBdata.PageIndex:=NBdata.PageIndex-1;
end;
procedure TdataForm.NbdataPageChanged(Sender: TObject);
begin
inherited;
if NBdata.PageIndex>2 then
begin
BBdown.Caption:='完成';
BBup.Enabled:=false;
end
else begin
BBdown.Caption:='下一步';
BBup.Enabled:=true;
end;
end;
procedure TdataForm.BBstartClick(Sender: TObject);
begin
inherited;
//断开数据源联接
// dmbook.Dbasebook.Close;
NBdata.PageIndex:=0;
BBup.Enabled:=true;
BBdown.Enabled:=true;
end;
procedure TdataForm.SBborrowhisClick(Sender: TObject);
begin
if not assigned(delhistoryform) then
delhistoryform:=Tdelhistoryform.create(self);
try
delhistoryform.Caption:='清空借书历史库';
if delhistoryform.ShowModal=mrYes then
dmbook.clearBorrowHistory(delhistoryform.DTPhistory.DateTime);
finally
delhistoryform.free;
delhistoryform:=nil;
end;
{if messagedlg('清空借书历史库,蒋丢失近期借书历史记录。'
+#13+'要清空借书历史库?',mtInformation,[mbYes,mbNo],0)=mrYes then}
end;
procedure TdataForm.SBreturnhisClick(Sender: TObject);
begin
if not assigned(delhistoryform) then
delhistoryform:=Tdelhistoryform.create(self);
try
delhistoryform.Caption:='清空还书历史库';
if delhistoryform.ShowModal=mrYes then
dmbook.clearReturnHistory(delhistoryform.DTPhistory.DateTime);
finally
delhistoryform.free;
delhistoryform:=nil;
end;
{ if messagedlg('清空还书历史库,蒋丢失近期还书历史记录。'
+#13+'要清空还书历史库?',mtInformation,[mbYes,mbNo],0)=mrYes then}
end;
procedure TdataForm.SBbookloseClick(Sender: TObject);
begin
if not assigned(delhistoryform) then
delhistoryform:=Tdelhistoryform.create(self);
try
delhistoryform.Caption:='清空破损遗失库';
if delhistoryform.ShowModal=mrYes then
dmbook.clearBookLose(delhistoryform.DTPhistory.DateTime);
finally
delhistoryform.free;
delhistoryform:=nil;
end;
{ if messagedlg('清空破损遗失库,蒋丢失近期破损遗失记录。'
+#13+'要清空破损遗失库?',mtInformation,[mbYes,mbNo],0)=mrYes then
dmbook.clearBookLose;}
end;
procedure TdataForm.SBfindClick(Sender: TObject);
begin
if ODopen.Execute then
Eddatapath.Text:=ODopen.FileName;
end;
procedure TdataForm.SBreaderquitClick(Sender: TObject);
begin
if not assigned(delhistoryform) then
delhistoryform:=Tdelhistoryform.create(self);
try
delhistoryform.Caption:='清空退借书证库';
if delhistoryform.ShowModal=mrYes then
dmbook.clearReaderQuit(delhistoryform.DTPhistory.DateTime);
finally
delhistoryform.free;
delhistoryform:=nil;
end;
{ if messagedlg('清空退借书证库,蒋丢失近期退借书证记录。'
+#13+'要清空退借书证库?',mtInformation,[mbYes,mbNo],0)=mrYes then
dmbook.clearReaderQuit; }
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -