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

📄 unit11.pas

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

interface

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

type
  Tborrow = class(TForm)
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    ADODataSet1: TADODataSet;
    ADODataSet2: TADODataSet;
    ADODataSet3: TADODataSet;
    ADODataSet4: TADODataSet;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    TabSheet2: TTabSheet;
    Button3: TButton;
    Button4: TButton;
    GroupBox1: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit6: TEdit;
    Edit5: TEdit;
    Edit4: TEdit;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Edit2: TEdit;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  borrow: Tborrow;
  i:integer;
  m_reader:string;
  m_book:string;
  flag1,flag2:boolean;
  count:integer;

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

procedure Tborrow.Button1Click(Sender: TObject);
begin
    if(edit1.Text<>'')or(edit2.Text<>'')then
    begin
        adodataset4.Close;
        DBGrid1.DataSource:=DataSource1;
        adodataset1.Active:=true;
        adodataset2.Active:=true;
        adodataset3.Active:=true;
        adodataset1.First;
        adodataset2.First;
        adodataset3.First;
        for i:=1 to adodataset2.RecordCount do
        begin
            m_book:=trim(adodataset2.fieldbyname('series').AsString);
            if(edit2.Text=m_book)then
            begin
                flag1:=true;
                break;
            end
            else
            begin
                flag1:=false;
                adodataset2.Next;
            end
        end;
        for i:=1 to adodataset3.RecordCount do
        begin
            m_reader:=adodataset3.fieldbyname('reader_no').AsString;
            if(edit1.Text=m_reader)then
            begin
                flag2:=true;
                break;
            end
            else
            begin
                flag2:=false;
                adodataset3.Next;
            end
        end;
        if (flag1=true) and (flag2=true) then
        begin
            count:=adodataset3.fieldbyname('datelimit').AsInteger;
            with adodataset2 do
            begin
                edit;
                FieldByName('statement').AsString:='借书';
                post;
            end;
            with adodataset1 do
            begin
                insert;
                fieldbyname('reader_no').AsString:=edit1.Text;
                fieldbyname('series').AsString:=edit2.Text;
                fieldbyname('borrow_date').AsString:=datetostr(Date);
                fieldbyname('back_date').AsDateTime:=date+count;
                Post;
                edit1.Text:='';
                edit2.Text:='';
            end;
            showmessage('借书成功!');
        end
        else
        begin
            edit1.Text:='';
            edit2.Text:='';
            messagedlg('输入有误! ',mtconfirmation,[mbyes],0);
        end
    end
    else
        messagedlg('还没有完全输入数据,请输入。',mtconfirmation,[mbyes],0);
end;

procedure Tborrow.Button2Click(Sender: TObject);
begin
    borrow.Hide;
    jiemian.Show;
end;

procedure Tborrow.Button3Click(Sender: TObject);
begin
    if(edit4.Text<>'')or(edit5.Text<>'')then
    begin
        adodataset1.Close;
        DBGrid1.DataSource:=DataSource2;
        adodataset4.Active:=true;
        adodataset2.Active:=true;
        adodataset3.Active:=true;
        adodataset4.First;
        adodataset2.First;
        adodataset3.First;
        for i:=1 to adodataset2.RecordCount do
        begin
            m_book:=trim(adodataset2.fieldbyname('series').AsString);
            if(edit5.Text=m_book)then
            begin
                flag1:=true;
                break;
            end
            else
            begin
                flag1:=false;
                adodataset2.Next;
            end
        end;
        for i:=1 to adodataset3.RecordCount do
        begin
            m_reader:=adodataset3.fieldbyname('reader_no').AsString;
            if(edit4.Text=m_reader)then
            begin
                flag2:=true;
                break;
            end
            else
            begin
                flag2:=false;
                adodataset3.Next;
            end
        end;
        if (flag1=true)and(flag2=true) then
        begin                           
            count:=adodataset3.fieldbyname('datelimit').AsInteger;
            with adodataset2 do
            begin
                edit;
                fieldbyname('statement').AsString:='借阅';
                post;
            end;
            with adodataset4 do
            begin
                insert;
                fieldbyname('reader_no').AsString:=edit4.Text;
                fieldbyname('series').AsString:=edit5.Text;
                fieldbyname('read_date').AsString:=datetostr(Date);
                fieldbyname('back_date').AsDateTime:=date+count;
                adodataset4.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 Tborrow.Button4Click(Sender: TObject);
begin
    borrow.Hide;
    jiemian.Show;
end;

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

end.

⌨️ 快捷键说明

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