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

📄 bookidnamefrm.~pas

📁 基于Interbase的图书管理系统
💻 ~PAS
字号:
unit bookidnamefrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ChildFrm, Buttons, ExtCtrls, StdCtrls, ComCtrls, Mask, DBCtrls,
  Menus;

type
  TbookidnameForm = class(TChildForm)
    GroupBox1: TGroupBox;
    GroupBox3: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label13: TLabel;
    DBE1: TDBEdit;
    DBE2: TDBEdit;
    DBE3: TDBEdit;
    DBE4: TDBEdit;
    DBE5: TDBEdit;
    GroupBox4: TGroupBox;
    LBreader: TListBox;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel2: TPanel;
    Label2: TLabel;
    Edbookid: TEdit;
    BtBbookid: TBitBtn;
    TabSheet2: TTabSheet;
    Panel1: TPanel;
    Label1: TLabel;
    Edbookname: TEdit;
    BtBbookname: TBitBtn;
    Splitter1: TSplitter;
    Label7: TLabel;
    DBE7: TDBEdit;
    Label8: TLabel;
    DBE6: TDBEdit;
    Label9: TLabel;
    DBE8: TDBEdit;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label14: TLabel;
    GroupBox2: TGroupBox;
    GroupBox5: TGroupBox;
    GroupBox6: TGroupBox;
    GroupBox7: TGroupBox;
    LBbook: TListBox;
    Label25: TLabel;
    Label26: TLabel;
    DBE9: TDBEdit;
    Label27: TLabel;
    DBE12: TDBEdit;
    Label28: TLabel;
    DBE10: TDBEdit;
    Label29: TLabel;
    DBE11: TDBEdit;
    Label30: TLabel;
    DBE13: TDBEdit;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    EdBorrowdate: TEdit;
    EdBorrowday: TEdit;
    EdBorrowpass: TEdit;
    EdRenewaldate: TEdit;
    EdRenewalday: TEdit;
    EdRenewalpass: TEdit;
    procedure FormDestroy(Sender: TObject);
    procedure EdbookidKeyPress(Sender: TObject; var Key: Char);
    procedure EdbooknameKeyPress(Sender: TObject; var Key: Char);
    procedure BtBbookidClick(Sender: TObject);
    procedure BtBbooknameClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure LBbookClick(Sender: TObject);
    procedure LBreaderClick(Sender: TObject);
  private
    { Private declarations }
  public
    procedure clearDBEdit;
    procedure clearEdit;
    { Public declarations }
  end;

var
  bookidnameForm: TbookidnameForm;

implementation

uses dmfrm;

{$R *.dfm}

procedure TbookidnameForm.FormDestroy(Sender: TObject);
begin
  inherited;
bookidnameForm:=nil;
end;

procedure TbookidnameForm.EdbookidKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
 if key=#13 then BtBbookidClick(Sender);
  if not(key in ['a'..'z','A'..'Z','0'..'9','-',#8]) then
   begin
    key:=#0;
    beep;
   end;
  if (key in ['a'..'z']) then key:=chr(ord(key)-32);
end;

procedure TbookidnameForm.EdbooknameKeyPress(Sender: TObject;
  var Key: Char);
begin
  inherited;
if key=#13 then BtBbooknameClick(Sender);
end;

procedure TbookidnameForm.BtBbookidClick(Sender: TObject);
begin
  inherited;
  if Edbookid.Text=Emptystr then
   begin
    bookInformation('请输入书号!');
    Edbookid.SetFocus;
    exit;
   end;
   dmbook.bookfirst;
   if not dmbook.Qrybook.Locate('book_id',Edbookid.Text,[]) then
    begin
     clearDBEdit;
     bookInformation('输入的书号在数据库中'+#13+'不存在,或输入有误!');
     Edbookid.SetFocus;
     exit;
   end;
   Edbookname.Text:=DBE2.Text;
LBreader.Items.Text:=dmbook.getborrowedreader(DBE1.Text);
 clearEdit;
end;

procedure TbookidnameForm.BtBbooknameClick(Sender: TObject);
begin
  inherited;
  if Edbookname.Text=Emptystr then
   begin
    bookInformation('请输入书名!');
    Edbookname.SetFocus;
    exit;
   end;
  dmbook.bookfirst;
  if not dmbook.Qrybook.Locate('book_name',Edbookname.Text,[]) then
    begin
     clearDBEdit;
     bookInformation('输入的书名在数据库中'+#13+'不存在,或输入有误!');
     Edbookname.SetFocus;
     exit;
   end;
  Edbookid.Text:=DBE1.Text;
  LBreader.Items.Text:=dmbook.getborrowedreader(DBE1.Text);
 clearEdit;
end;

procedure TbookidnameForm.clearDBEdit;
begin
 DBE1.Clear;
 DBE2.Clear;
 DBE3.Clear;
 DBE4.Clear;
 DBE5.Clear;
 DBE6.Clear;
 DBE7.Clear;
 DBE8.Clear;
 Lbreader.Clear;
 Lbbook.Clear;
 DBE9.Clear;
 DBE10.Clear;
 DBE11.Clear;
 DBE12.Clear;
 DBE13.Clear;
  EdBorrowdate.Clear;
  EdBorrowday.Clear;
  EdBorrowpass.Clear;
  EdRenewaldate.Clear;
  EdRenewalday.Clear;
  EdRenewalpass.Clear;
end;

procedure TbookidnameForm.clearEdit;
begin
 Lbbook.Clear;
 DBE9.Clear;
 DBE10.Clear;
 DBE11.Clear;
 DBE12.Clear;
 DBE13.Clear;
 EdBorrowdate.Clear;
 EdBorrowday.Clear;
 EdBorrowpass.Clear;
 EdRenewaldate.Clear;
 EdRenewalday.Clear;
 EdRenewalpass.Clear;
end;

procedure TbookidnameForm.FormShow(Sender: TObject);
begin
  inherited;
 dmbook.closebook;
 dmbook.closereader;
 dmbook.openbook;
 dmbook.openreader;
 clearDBEdit;
end;

procedure TbookidnameForm.LBbookClick(Sender: TObject);
var
 tmpstring,Aborrowdate,Aborrowday,Arenewaldate,Arenewalday:string;
begin
  inherited;
 tmpstring:=LBbook.Items.Strings[LBbook.ItemIndex];
 tmpstring:=copy(tmpstring,2,length(tmpstring));
 tmpstring:=copy(tmpstring,1,pos(']',tmpstring)-1);
 dmbook.bookfirst;
 dmbook.Qrybook.Locate('book_id',tmpstring,[]);
  DMbook.getborrowdateday(DBE12.Text,tmpstring,Aborrowdate,Aborrowday,Arenewaldate,Arenewalday);
EdBorrowdate.Text:=Aborrowdate;
EdBorrowday.Text:=Aborrowday;
EdRenewaldate.Text:=Arenewaldate;
EdRenewalday.Text:=Arenewalday;
if Arenewaldate=Emptystr then
 begin
   if dmbook.comparedatemothed(StrToDateTime(Aborrowdate),now)=1 then
   begin
    bookInformation('他没有续借该书,'+#13+'还书日期不能小于初借日期,'+#13+'系统日期有误,修改系统日期!');
   exit;
   end;
 EdBorrowpass.Text:=inttostr(dmbook.passdaymothed(StrToDateTime(Aborrowdate),now,strtoint(Aborrowday)));
 if strtoint(EdBorrowpass.Text)<0 then EdBorrowpass.Text:='0';
 EdRenewalpass.Text:=Emptystr;
 end
else begin
     if dmbook.comparedatemothed(StrToDateTime(ARenewaldate),now)=1 then
   begin
    bookInformation('他续借了该书,'+#13+'还书日期不能小于续借日期,'+#13+'系统日期有误,修改系统日期!');
    exit;
   end;
EdBorrowpass.Text:=inttostr(dmbook.passdaymothed(StrToDateTime(Aborrowdate),StrToDateTime(Arenewaldate),strtoint(Aborrowday)));
EdRenewalpass.Text:=inttostr(dmbook.passdaymothed(StrToDateTime(Arenewaldate),now,strtoint(Arenewalday)));
if strtoint(EdBorrowpass.Text)<0 then EdBorrowpass.Text:='0';
if strtoint(EdRenewalpass.Text)<0 then EdRenewalpass.Text:='0';
    end;
end;

procedure TbookidnameForm.LBreaderClick(Sender: TObject);
var
 tempstring:string;
begin
  inherited;
 tempstring:=LBreader.Items.Strings[LBreader.ItemIndex];
// showmessage(inttostr(pos('][',tempstring)));
 tempstring:=copy(tempstring,pos('][',tempstring)+2,length(tempstring)-(pos('][',tempstring)+2));
 tempstring:=copy(tempstring,1,pos(']',tempstring)-1);
// showmessage(tempstring);
dmbook.readerfirst;
dmbook.Qryreader.Locate('reader_id',tempstring,[]);
if DBE12.Text<>Emptystr then LBbook.Items.text:=dmbook.getborrowedbook(DBE12.Text);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -