📄 bookidnamefrm.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 + -