📄 bookidfrm.~pas
字号:
unit bookidfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ButtonFrm, StdCtrls, Buttons, ExtCtrls, ComCtrls, DBCtrls, Menus;
type
TbookidForm = class(Tbuttonform)
GroupBox1: TGroupBox;
Splitter1: TSplitter;
GroupBox2: TGroupBox;
BtBbookid: TBitBtn;
BtBcancel: TBitBtn;
Label4: TLabel;
Edbookid: TEdit;
Label5: TLabel;
Edbookname: TEdit;
Label6: TLabel;
Edpenster: TEdit;
Label7: TLabel;
Edprice: TEdit;
Label8: TLabel;
Edpublish: TEdit;
Label9: TLabel;
Ednumber: TEdit;
Label10: TLabel;
DTPdate: TDateTimePicker;
Label11: TLabel;
Mremark: TMemo;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label12: TLabel;
CBbig: TComboBox;
CBsmall: TComboBox;
LBbig: TLabel;
LBsmall: TLabel;
Label13: TLabel;
EdNo: TEdit;
Edit1: TEdit;
Label14: TLabel;
DTPpublishdate: TDateTimePicker;
procedure FormDestroy(Sender: TObject);
procedure CBbigChange(Sender: TObject);
procedure CBsmallChange(Sender: TObject);
procedure CBbigKeyPress(Sender: TObject; var Key: Char);
procedure CBsmallKeyPress(Sender: TObject; var Key: Char);
procedure EdNoKeyPress(Sender: TObject; var Key: Char);
procedure BtBcancelClick(Sender: TObject);
procedure BtBbookidClick(Sender: TObject);
procedure EdbookidKeyPress(Sender: TObject; var Key: Char);
procedure BBtnIDClick(Sender: TObject);
procedure EdbooknameKeyPress(Sender: TObject; var Key: Char);
procedure EdpensterKeyPress(Sender: TObject; var Key: Char);
procedure EdpriceKeyPress(Sender: TObject; var Key: Char);
procedure EdpublishKeyPress(Sender: TObject; var Key: Char);
procedure EdnumberKeyPress(Sender: TObject; var Key: Char);
procedure EdbookidExit(Sender: TObject);
procedure BBtnCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DTPpublishdateKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure BBtnPrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
bookidForm: TbookidForm;
implementation
uses dmfrm, prtbookidfrm;
{$R *.dfm}
var
Nostring:string;
procedure TbookidForm.FormDestroy(Sender: TObject);
begin
inherited;
bookidForm:=nil;
end;
procedure TbookidForm.CBbigChange(Sender: TObject);
begin
inherited;
dmbook.bigtypefirst;
dmbook.Qrybigtype.Locate('book_bigtype',CBbig.Text,[]);
LBbig.Caption:=dmbook.Qrybigtype['book_bigname'];
dmbook.Qrysmalltype.First;
LBsmall.Caption:=Emptystr;
CBsmall.Items.Clear;
while not dmbook.Qrysmalltype.Eof do
begin
if dmbook.Qrysmalltype['book_bigtype']=CBbig.Text then
CBsmall.Items.Add(dmbook.Qrysmalltype['book_type']);
dmbook.Qrysmalltype.Next;
end;
dmbook.Qrysmalltype.First;
end;
procedure TbookidForm.CBsmallChange(Sender: TObject);
begin
inherited;
dmbook.smalltypefirst;
dmbook.Qrysmalltype.Locate('book_type',CBsmall.Text,[]);
LBsmall.Caption:=dmbook.Qrysmalltype['book_smallname'];
end;
procedure TbookidForm.CBbigKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then CBsmall.SetFocus;
end;
procedure TbookidForm.CBsmallKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then EdNo.SetFocus;
end;
procedure TbookidForm.EdNoKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then BtBbookid.OnClick(Sender);
if not(key in ['0'..'9',#8]) then
begin
key:=#0;
beep;
end;
end;
procedure TbookidForm.BtBcancelClick(Sender: TObject);
begin
inherited;
Edbookid.Clear;
EdNo.Clear;
end;
procedure TbookidForm.BtBbookidClick(Sender: TObject);
{var
Nostring:string;}
begin
inherited;
if CBbig.Text=Emptystr then
begin
bookInformation('请选择大类!');
exit;
end;
if CBsmall.Text=Emptystr then
begin
bookInformation('请选择小类!');
exit;
end;
Nostring:=EdNo.Text;
case length(Nostring) of
0:begin bookInformation('请输入小类书编号!');exit;end;
1:Nostring:='00'+Nostring;
2:Nostring:='0'+Nostring;
3:Nostring:=Nostring;
end;
Nostring:=CBsmall.Text+'-'+Nostring;
// Edbookid.Text:=CBsmall.Text+'-'+Nostring;
Edbookid.Text:=Nostring;
if dmbook.bookISexists(edbookid.Text) then
begin
bookInformation('该书号在数据库中已经存在!'+#13+'请重新编号。');
Edno.Clear;
edbookid.Clear;
edno.SetFocus;
end
else Edbookname.SetFocus;
end;
procedure TbookidForm.EdbookidKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then Edbookname.SetFocus;
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 TbookidForm.BBtnIDClick(Sender: TObject);
var
a1,a2,a3,a4,a5,a6:string;
a7:integer;
a8,a9:tdate;
begin
inherited;
if Edbookid.Text=Emptystr then
begin
bookInformation('请输入书号!');
Edbookid.SetFocus;
exit;
end;
if Edbookname.Text=Emptystr then
begin
bookInformation('请输入书名!');
Edbookname.SetFocus;
exit;
end;
if Edprice.Text=Emptystr then
begin
bookInformation('请输入书价!');
Edprice.SetFocus;
exit;
end;
if Ednumber.Text=Emptystr then
begin
bookInformation('请输入该书存入数量!');
Ednumber.SetFocus;
exit;
end;
a1:=Edbookid.Text;
a2:=Edbookname.Text;
a3:=Edpenster.Text;
if Edprice.Text=Emptystr then a4:='0.00'
else a4:=Edprice.Text;
a5:=Mremark.Text;
a6:=Edpublish.Text;
if Ednumber.Text=Emptystr then a7:=0
else a7:=strtoint(Ednumber.Text);
a8:=DTPdate.Date;
a9:=DTPpublishdate.Date;
try
dmbook.booksave(a1,a2,a3,a4,a5,a6,a7,a8,a9);
except
bookError('图书入库失败!');
end;
if Edbookid.Text=Nostring then Edno.SetFocus
else Edbookid.SetFocus;
{ EdNo.Clear;
Edbookid.Clear;
Edbookname.Clear;
Edpenster.Clear;
Edprice.Clear;
Mremark.Clear;
Edpublish.Clear;
Ednumber.Clear; }
end;
procedure TbookidForm.EdbooknameKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then Edpenster.SetFocus;
end;
procedure TbookidForm.EdpensterKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then Edprice.SetFocus;
end;
procedure TbookidForm.EdpriceKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then Edpublish.SetFocus;
if not(key in ['0'..'9','.',#8]) then
begin
key:=#0;
beep;
end;
end;
procedure TbookidForm.EdpublishKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then Ednumber.SetFocus;
end;
procedure TbookidForm.EdnumberKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then DTPpublishdate.SetFocus;
if not(key in ['0'..'9',#8]) then
begin
key:=#0;
beep;
end;
end;
procedure TbookidForm.EdbookidExit(Sender: TObject);
begin
inherited;
if edbookid.Text=Emptystr then exit;
if pos('-',edbookid.Text)=0 then
begin
bookInformation('书号不符合格式!');
Edbookid.Clear;
Edbookid.SetFocus;
exit;
end;
if edbookid.Text<>Emptystr then
begin
if dmbook.bookISexists(edbookid.Text) then
begin
bookInformation('该书号在数据库中已经存在!'+#13+'请重新编号。');
Edno.Clear;
edbookid.Clear;
edbookid.SetFocus;
end;
end;
end;
procedure TbookidForm.BBtnCancelClick(Sender: TObject);
begin
inherited;
EdNo.Clear;
Edbookid.Clear;
Edbookname.Clear;
Edpenster.Clear;
Edprice.Clear;
Mremark.Clear;
Edpublish.Clear;
Ednumber.Clear;
end;
procedure TbookidForm.FormShow(Sender: TObject);
begin
inherited;
dmbook.closebooktypedb;
dmbook.openbooktypedb;
dmbook.Qrybigtype.First;
while not dmbook.Qrybigtype.Eof do
begin
CBbig.Items.Add(dmbook.Qrybigtype['book_bigtype']);
dmbook.Qrybigtype.Next;
end;
dmbook.Qrybigtype.First;
end;
procedure TbookidForm.DTPpublishdateKeyPress(Sender: TObject;
var Key: Char);
begin
inherited;
if key=#13 then BBtnIDClick(Sender);
end;
procedure TbookidForm.FormCreate(Sender: TObject);
begin
inherited;
DTPpublishdate.DateTime:=now;
end;
procedure TbookidForm.BBtnPrintClick(Sender: TObject);
begin
inherited;
if not assigned(prtbookidForm) then
prtbookidForm:=TprtbookidForm.Create(Application);
try
prtbookidForm.ShowModal;
finally
prtbookidForm.Free;
prtbookidForm:=nil;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -