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

📄 unit2.pas

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

interface

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

type
  Tbook_input = class(TForm)
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    book_no_input: TEdit;
    book_name_input: TEdit;
    Label1: TLabel;
    GroupBox2: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    auther_input: TEdit;
    publish_input: TEdit;
    Label9: TLabel;
    book_value_input: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label8: TLabel;
    date_input: TDateTimePicker;
    input: TADODataSet;
    Button3: TButton;
    Label4: TLabel;
    num_input: TEdit;
    Label10: TLabel;
    storeplace_input: TEdit;
    Label11: TLabel;
    statement_input: TMemo;
    publish_date_input: TDateTimePicker;
    book_type_no_input: TEdit;
    Label12: TLabel;
    b_in: TADODataSet;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  book_input: Tbook_input;
  i:integer;
  j:integer;

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

procedure Tbook_input.Button1Click(Sender: TObject);
begin
    input.Active:=false;
    input.CommandText:='select * from book';
    input.Active:=true;
    if (book_no_input.Text<>'') and (book_name_input.Text<>'') and (num_input.Text<>'') then
    begin
          if (input.Locate('book_no;book_name',VarArrayOf([book_no_input.text,book_name_input.Text]),[loPartialKey])) then
          begin
            with input do
              begin
                 edit;
                 i:=fieldbyname('book_num').AsInteger;
                 fieldbyname('book_num').AsInteger:=strtoint(num_input.Text)+i;
                 i:=fieldbyname('history_num').AsInteger;
                 fieldbyname('history_num').AsInteger:=i+strtoint(num_input.Text);
                 post;
              end;
              input.Active:=false;
              input.CommandText:='select * from per_book order by book_no';
              input.Active:=true;
              for  j:=1 to strtoint(num_input.Text) do
              begin
              with input do
              begin
                  last;
                  insert;
                  fieldbyname('book_no').AsString:=book_no_input.Text;
                  fieldbyname('series').AsString:=book_no_input.Text+'-'+inttostr(i+j);
                  fieldbyname('statement').AsString:='在馆';
                  fieldbyname('in_date').AsDateTime:=date_input.DateTime;
                  post;
                  active:=false;
                  active:=true;
              end;
              end;
              b_in.Active:=false;
              b_in.CommandText:='select *from input';
              b_in.Active:=true;
              with b_in do
              begin
                  last;
                  insert;
                  fieldbyname('book_no').AsString:=book_no_input.Text;
                  fieldbyname('manager_no').AsString:='a';
                  fieldbyname('input_date').AsDateTime:=date_input.DateTime;
                  fieldbyname('book_num').AsString:=num_input.Text;

              end;
              showmessage('已经入馆成功.');
          end
          else
              if (messagedlg('图书馆没有这种图书,是否要添加新书。',mtconfirmation,[mbyes,mbno],0)=mryes) then
              begin
                auther_input.Enabled:=true;
                publish_date_input.Enabled:=true;
                publish_input.Enabled:=true;
                book_value_input.Enabled:=true;
                auther_input.Color:=clWindow;
                publish_date_input.Color:=clWindow;
                publish_input.Color:=clWindow;
                book_value_input.Color:=clWindow;
                storeplace_input.Enabled:=true;
                storeplace_input.Color:=clWindow;
                Button1.Enabled:=false;
                Button3.Enabled:=true;
               statement_input.Enabled:=true;
               statement_input.Color:=clWindow;
               book_type_no_input.Enabled:=false;
               book_type_no_input.Color:=clScrollBar;
                     book_type_no_input.Enabled:=true;
      book_type_no_input.Color:=clWindow;
            end;

    end
    else
       showmessage('还没有完全输入数据,请立刻输入数据。');
end;

procedure Tbook_input.Button3Click(Sender: TObject);
begin

     if (auther_input.Text<>'') and (publish_input.Text<>'') and  (book_value_input.Text<>'')and (book_type_no_input.Text<>'') then
     begin
         with input do
         begin
              insert;
              fieldbyname('book_no').AsString:=book_no_input.Text;
              fieldbyname('book_name').AsString:=book_name_input.Text;
              fieldbyname('auther').AsString:=auther_input.Text;
              fieldbyname('publish').AsString:=publish_input.Text;
              fieldbyname('publish_date').AsDateTime:=publish_date_input.datetime;
              fieldbyname('book_value').AsString:=book_value_input.Text;
              fieldbyname('book_num').AsString:=num_input.Text;
              fieldbyname('book_type_no').AsString:=book_type_no_input.Text;
              fieldbyname('storeplace').AsString:=storeplace_input.Text;
              fieldbyname('history_num').AsString:=num_input.Text;
              if (statement_input.Text<>'') then
              begin
              fieldbyname('introduction').AsString:=statement_input.Text;
              end;
              post;
              active:=false;
              active:=true;
         end;
         input.Active:=false;
         input.CommandText:='select * from per_book';
         input.active:=true;
         for i:=1 to strtoint(num_input.Text) do
         begin
            with input do
            begin
                insert;
                fieldbyname('book_no').AsString:=book_no_input.Text;
                fieldbyname('series').AsString:=book_no_input.Text+'-'+inttostr(i);
                fieldbyname('in_date').AsDateTime:=publish_date_input.DateTime;
                fieldbyname('statement').AsString:='在馆';
                post;
            end;
         end;
         input.Active:=false;
         input.Active:=true;
         showmessage('已经入馆成功.');
     end
     else
          showmessage('还没有完全输入数据,请立刻输入。');
end;

procedure Tbook_input.Button2Click(Sender: TObject);
begin
      book_type_no_input.Text:='';
      book_type_no_input.Enabled:=false;
      book_type_no_input.Color:=clScrollBar;
      statement_input.Text:='';
      statement_input.Enabled:=false;
      statement_input.Color:=clScrollBar;
      auther_input.Text:='';
      publish_input.Text:='';
      book_value_input.Text:='';
      book_no_input.Text:='';
      book_name_input.Text:='';
      num_input.Text:='';
      auther_input.Enabled:=false;
      publish_date_input.Enabled:=false;
      publish_input.Enabled:=false;
      book_value_input.Enabled:=false;
      auther_input.Color:=clScrollBar;
      publish_date_input.Color:=clScrollBar;
      publish_input.Color:=clScrollBar;
      book_value_input.Color:=clScrollBar;
      button3.Enabled:=false;
      storeplace_input.Enabled:=false;
      storeplace_input.Color:=clScrollBar;
      button1.Enabled:=true;
end;

procedure Tbook_input.Button4Click(Sender: TObject);
begin
     jiemian.Show;
     close;
end;

end.

⌨️ 快捷键说明

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