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

📄 bookidfrm.~pas

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