?? newbook.~pas
字號:
unit newbook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,dbtables, ComCtrls;
type
Tnewfrm = class(TForm)
GroupBox1: TGroupBox;
memobox: TMemo;
Label8: TLabel;
Label7: TLabel;
Label6: TLabel;
Label5: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
pricebox: TEdit;
publisherbox: TEdit;
authorbox: TEdit;
namebox: TEdit;
nobox: TEdit;
typebox: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label9: TLabel;
intimebox: TEdit;
Label10: TLabel;
outcountbox: TEdit;
pubtimebox: TDateTimePicker;
BitBtn3: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure typeboxChange(Sender: TObject);
private
function nextbookno(const str:string):string;
procedure autono(const stype:string);
procedure insbook;//新書入庫
{ Private declarations }
public
{ Public declarations }
end;
var
newfrm: Tnewfrm;
implementation
uses global;
{$R *.dfm}
function Tnewfrm.nextbookno(const str:string):string;
var s,s1:string;
i,j,k:integer;
begin
s:=str;
s1:=copy(s,1,1);
delete(s,1,1);
i:=length(s);
j:=length(inttostr(strtoint(s)));
for k:=1 to i-j do s1:=s1+'0';
result:=s1+inttostr(strtoint(s)+1);
end;
procedure Tnewfrm.autono(const stype:string) ;
var q:tquery;
s:string;
begin
q:=tquery.Create(nil);
q.DatabaseName :=dbname;
q.SQL.Add('select 圖書編號 from book_info where 類別='''+stype+''''+' order by 圖書編號');
q.Open ;
q.Last ;
s:=q.fieldbyname('圖書編號').AsString ;
q.Close ;
q.Free ;
nobox.Text :=nextbookno(s);
end;
procedure Tnewfrm.insbook ;
var q:tquery;
begin
q:=tquery.Create(nil);
q.DatabaseName :=dbname ;
q.SQL.Add('insert into book_info(圖書編號,書名,作者,出版社,出版時間,書價,類別,備注,入庫時間,借閱次數)'+
' values(:b_no,:b_name,:b_author,:b_publisher,:b_ptime,:b_money,:b_type,:b_memo,:b_intime,:b_outcount)');
q.ParamByName('b_no').AsString :=nobox.Text ;
q.ParamByName('b_name').AsString :=namebox.Text ;
q.ParamByName('b_type').AsString :=typebox.Items[typebox.itemindex];
q.ParamByName('b_author').AsString :=authorbox.Text ;
q.ParamByName('b_publisher').AsString :=publisherbox.Text ;
q.ParamByName('b_ptime').AsDate:=pubtimebox.Date ;
q.ParamByName('b_money').AsFloat :=strtofloat(pricebox.Text);
q.ParamByName('b_intime').AsDate :=strtodate(intimebox.Text);
q.ParamByName('b_outcount').AsInteger :=strtoint(outcountbox.Text);
q.ParamByName('b_memo').AsString :=memobox.Lines.GetText ;
q.ExecSQL ;
messagedlg('新書:'+namebox.Text+chr(10)+chr(13)+'已經成功入庫!',mtinformation,[mbYes],0);
q.Close;
q.Free ;
end;
procedure Tnewfrm.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tnewfrm.FormShow(Sender: TObject);
begin
autono(typebox.Text);
namebox.Clear ;
authorbox.Clear ;
publisherbox.Clear ;
pricebox.Clear ;
memobox.Lines.Clear ;
namebox.SetFocus ;
end;
procedure Tnewfrm.FormCreate(Sender: TObject);
begin
intimebox.Text :=datetostr(date);
end;
procedure Tnewfrm.BitBtn1Click(Sender: TObject);
begin
if messagedlg('確定入庫嗎?',mtconfirmation,[mbYes,mbNo],0)=mrYes then
begin
insbook; //先入庫
newfrm.OnShow(self); //清空并產生下一個書號
end;
end;
procedure Tnewfrm.BitBtn3Click(Sender: TObject);
begin
newfrm.OnShow(self);
end;
procedure Tnewfrm.typeboxChange(Sender: TObject);
begin
autono(typebox.Text);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -