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

📄 unit12.~pas

📁 图书管理系统设计程序
💻 ~PAS
字号:
unit Unit12;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;

type
  TForm12 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    DBGrid1: TDBGrid;
    ADODataSet1: TADODataSet;
    ADODataSet2: TADODataSet;
    ADODataSet3: TADODataSet;
    ADODataSet4: TADODataSet;
    DataSource1: TDataSource;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form12: TForm12;     
  i:integer;
  m_reader:string;
  m_book:string;
  flag1,flag2:boolean;
  value1:Tdate;
  value2:integer;
  value3:integer;
  punish:integer;

implementation
uses unit3,unit1,DateUtils;
{$R *.dfm}

procedure TForm12.Button1Click(Sender: TObject);
begin
    if(edit1.Text<>'')or(edit2.Text<>'')then
    begin
        adodataset1.Active:=true;
        adodataset2.Active:=true;
        adodataset3.Active:=true;
        adodataset4.Active:=true;
        adodataset1.First;
        adodataset2.First;
        adodataset3.First;     
        adodataset4.First;
        for i:=0 to adodataset4.RecordCount-1 do
        begin
            m_book:=trim(adodataset4.fieldbyname('series').AsString);
            if(edit2.Text=m_book)then
            begin
                flag1:=true;
                break;
            end
            else
            begin
                flag1:=false;
                adodataset4.Next;
            end
        end;
        for i:=0 to adodataset4.RecordCount-1 do
        begin
            m_reader:=adodataset4.fieldbyname('reader_no').AsString;
            if(edit1.Text=m_reader)then
            begin
                flag2:=true;
                break;
            end
            else
            begin
                flag2:=false;
                adodataset4.Next;
            end
        end;
        if (flag1=true)and(flag2=true) then
        begin
            value1:=strtodate(adodataset4.FieldByName('borrow_date').AsString);
            value2:=strtoint(adodataset3.FieldByName('datelimit').AsString);
            value3:=daysbetween(date,value1);
            punish:=value3-value2;
            if (punish>0) then
            begin
                adodataset3.Edit;
                adodataset3.FieldByName('punish').AsString:=inttostr(punish);
                adodataset3.Post;
                showmessage('对不起,你借的书已过期!');
            end;
            adodataset2.Edit;
            adodataset2.FieldByName('statement').AsString:='在馆';
            adodataset2.Post;
            adodataset4.Delete;
            with adodataset1 do
            begin
                insert;
                fieldbyname('reader_no').AsString:=edit1.Text;
                fieldbyname('series').AsString:=edit2.Text;
                fieldbyname('back_date').AsString:=datetostr(Date);
                Post;
                edit1.Text:='';
                edit2.Text:='';
                showmessage('还书成功!');
            end;
        end
        else
        begin
            edit1.Text:='';
            edit2.Text:='';
            messagedlg('输入有误! ',mtconfirmation,[mbyes],0);
        end
    end
    else
        messagedlg('还没有完全输入数据,请输入。',mtconfirmation,[mbyes],0);
end;

procedure TForm12.Button3Click(Sender: TObject);
begin
    Form12.Hide;
    jiemian.Show;
end;

procedure TForm12.FormCreate(Sender: TObject);
begin
    edit3.Text:=datetostr(date);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -