📄 unit7.pas
字号:
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;
type
Tlenbookfrm = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Label3: TLabel;
DBGrid1: TDBGrid;
Button1: TButton;
Label4: TLabel;
booktb: TTable;
bobooktb: TTable;
DataSource1: TDataSource;
studenttb: TTable;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
Label5: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
lenbookfrm: Tlenbookfrm;
implementation
{$R *.dfm}
procedure Tlenbookfrm.Button1Click(Sender: TObject);
var
num2,num1,num3:integer;
str1,str2,str3,str4,str5,str6,str7,str8,str9:string;
t:Tdate;
begin
if(edit1.text='') or(edit2.text='') then begin
showmessage('请输入ISBN号和学号');
abort;
end;
studenttb.Open;
studenttb.IndexFieldNames:='学号';
studenttb.FindKey([edit2.Text]);
edit3.Text:=studenttb.fieldbyname('姓名').AsString;
num2:=strtoint(studenttb.fieldbyname('最大借书数量').AsVariant);
num3:=strtoint(studenttb.fieldbyname('已借书量').AsVariant);
if (num3=num2) then
begin
showmessage('你的借书证已借满,不能再借');
abort;
end;
booktb.Open;
booktb.IndexFieldNames:='ISBN';
if not booktb.findkey([edit1.Text]) then
begin
showmessage('没有这本书');
abort;
end
else
begin
num1:=strtoint(booktb.fieldbyname('可借数量').AsVariant);
str1:=booktb.fieldbyname('ISBN').AsString;
str2:=booktb.fieldbyname('书名').AsString;
str5:=booktb.fieldbyname('作者').AsString;
str3:=booktb.fieldbyname('出版社').AsString;
str4:=booktb.fieldbyname('出版日期').AsString;
str6:=booktb.fieldbyname('类别').AsString;
str7:=edit3.Text;
//studenttb.fieldbyname('姓名').AsString;
str8:=edit2.text;
if num1=0 then
begin
showmessage('此书已经借完了');
abort;
end
else
begin
bobooktb.Open;
booktb.Edit;
studenttb.Edit;
num1:=num1-1;
num3:=num3+1;
booktb.FieldByName('可借数量').AsString:=inttostr(num1);
studenttb.FieldByName('已借书量').AsString:=inttostr(num3);
booktb.Append;
studenttb.Append;
str9:=datetostr(date());
bobooktb.InsertRecord([str1,str8,str7,str2,str3,str4,str5,str6,str9]);
showmessage('借书完毕');
end;
end;
//booktb.Close;
// studenttb.Close;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
procedure Tlenbookfrm.Button2Click(Sender: TObject);
var
num2,num1,num3:integer;
str1,str2,str3,str4,str5,str6,str7,str8:string;
begin
if(edit1.text='') or(edit2.text='') then begin
showmessage('请输入ISBN号和学号');
abort;
end;
studenttb.Open;
studenttb.IndexFieldNames:='学号';
studenttb.FindKey([edit2.Text]);
edit3.Text:=studenttb.fieldbyname('姓名').AsString;
//num2:=strtoint(studenttb.fieldbyname('最大借书数量').AsVariant);
num3:=strtoint(studenttb.fieldbyname('已借书量').AsVariant);
//if (num3=num2) then
// begin
// showmessage('你的借书证已借满,不能再借');
// abort;
// end;
bobooktb.Open;
bobooktb.IndexFieldNames:='学号';
bobooktb.FindKey([edit2.text]);
while not booktb.Eof do
begin
if booktb.FieldByName('ISBN').AsString=EDIT1.text then break;
booktb.Next;
end;
booktb.Open;
//booktb.IndexFieldNames:='ISBN';
//booktb.FindKey([edit1.text]);
//if not booktb.findkey([edit1.Text]) then
// begin
// showmessage('没有这本书');
// abort;
// end
//else
//begin
if( booktb.Eof ) then
begin
booktb.IndexFieldNames:='ISBN';
booktb.FindKey([edit1.Text]);
end;
num1:=strtoint(booktb.fieldbyname('可借数量').AsVariant);
//str1:=booktb.fieldbyname('ISBN').AsString;
// str2:=booktb.fieldbyname('书名').AsString;
//str5:=booktb.fieldbyname('作者').AsString;
//str3:=booktb.fieldbyname('出版社').AsString;
//str4:=booktb.fieldbyname('出版日期').AsString;
// str6:=booktb.fieldbyname('类别').AsString;
// str7:=edit3.Text;
//studenttb.fieldbyname('姓名').AsString;
//str8:=edit2.text;
//if num1=0 then
// begin
// showmessage('此书已经借完了');
// abort;
// end
// else
// begin
//bobooktb.Open;
booktb.Edit;
studenttb.Edit;
num1:=num1+1;
num3:=num3-1;
booktb.FieldByName('可借数量').AsString:=inttostr(num1);
studenttb.FieldByName('已借书量').AsString:=inttostr(num3);
booktb.Append;
studenttb.Append;
bobooktb.Delete;
showmessage('还书完毕');
// bobooktb.InsertRecord([str1,str2,str3,str4,str5,str6,str7,str8]);
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
procedure Tlenbookfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
booktb.Close;
studenttb.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -