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

📄 unit7.pas

📁 图书馆管理系统dephi版
💻 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 + -