⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datafrm.~pas

📁 基于Interbase的图书管理系统
💻 ~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 + -