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

📄 book.pas

📁 一个简单的图书借阅管理系统,相信对做课程设计的同学会有所帮助,程序中提供了教详细的代码设计
💻 PAS
字号:
unit Book;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls, DBCtrls, Mask;

type
  TForm4 = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    DBMemo1: TDBMemo;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    GroupBox2: TGroupBox;
    Label9: TLabel;
    Label10: TLabel;
    Button5: TButton;
    Button6: TButton;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    GroupBox3: TGroupBox;
    Label11: TLabel;
    Label12: TLabel;
    Edit2: TEdit;
    DBEdit7: TDBEdit;
    Button1: TButton;
    Button2: TButton;
    Edit3: TEdit;
    Label15: TLabel;
    DBEdit10: TDBEdit;
    GroupBox4: TGroupBox;
    DBGrid2: TDBGrid;
    Button3: TButton;
    Button4: TButton;
    GroupBox5: TGroupBox;
    Button7: TButton;
    Edit4: TEdit;
    Label14: TLabel;
    DBEdit8: TDBEdit;
    Label13: TLabel;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Label16: TLabel;
    Label17: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBEdit1Change(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure DBEdit8Change(Sender: TObject);


    //procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

uses Main, Datamodule;

{$R *.dfm}
function SpanOfNowAndThen(const ANow, AThen: TDateTime): TDateTime;
begin
  if ANow - AThen >= 30 then
    Result := ANow - AThen -30
  else
    Result := 0;
end;


procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  form1.show;
end;

procedure TForm4.DBEdit1Change(Sender: TObject);
begin
  //if length(DBedit1.text)=10 then
  //DBedit2.SetFocus;
end;

procedure TForm4.Button6Click(Sender: TObject);
  var choice,content:string;
begin
  choice:=ComboBox1.text;
  content:=edit1.text;
  if content='' then
   begin
    Application.Messagebox('请输入查询内容!','提示',Mb_OK+Mb_iconinformation);
    exit;
   end;
  DataModule1.adoquery3.Close;
  DataModule1.adoquery3.SQL.clear;
  DataModule1.adoquery3.SQL.add('select * from Book where '+choice+' like :content');
  DataModule1.ADOQuery3.Parameters.ParamByName('content').Value:='%'+edit1.text+'%';
  DataModule1.adoquery3.Open;

end;
procedure TForm4.Button5Click(Sender: TObject);
begin
  DataModule1.adoquery3.Close;
  DataModule1.adoquery3.SQL.clear;
  DataModule1.adoquery3.SQL.add('select * from Book');
  DataModule1.adoquery3.Open;
end;

procedure TForm4.Button1Click(Sender: TObject);
  var StuNo:string;
begin
if edit2.text<>'' then
  begin
  try
  StuNo:=edit2.Text;
  DataModule1.adoquery6.Close;
  DataModule1.adoquery6.SQL.clear;
  DataModule1.adoquery6.SQL.add('select * from Reader where 学号=:StuNo');
  DataModule1.adoquery6.Parameters.ParamByName('StuNo').Value:=edit2.Text;
  DataModule1.adoquery6.Open;
  if DataModule1.adoquery6.FieldValues['姓名']<>null then
  begin
  edit3.Text:=DataModule1.adoquery6.FieldValues['姓名'];
  button2.Enabled:=true;
  end
  else application.MessageBox('查无此人!','提示',0+16);
  except
  application.MessageBox('操作失败!','提示',0+48);
  exit;

end;
end;
end;


procedure TForm4.Button2Click(Sender: TObject);
 var StuNo,BookNo:string;
 lendtime:TDatetime;
begin
  stuNo:=edit2.text;
  BookNo:=DBedit10.text;
  lendtime:=now();
if edit2.Text<>'' then
//begin
try
 DataModule1.adoquery4.Close;
 DataModule1.adoquery4.SQL.clear;
 DataModule1.adoquery4.sql.Add('insert into lend (学号,书号,借书日期) values(:stuno,:BookNo,:Lendtime)');
 DataModule1.adoquery4.Parameters.parambyname('stuno').value:=trim(edit2.text);
 DataModule1.adoquery4.Parameters.parambyname('BookNo').value:=trim(DBedit10.text);
 DataModule1.adoquery4.Parameters.parambyname('Lendtime').value:=now();
 DataModule1.adoquery4.ExecSQL;
 DataModule1.adoquery4.close;
 DataModule1.adotable1.active:=false;
 DataModule1.adotable1.active:=true;
//隐藏,显示表
 Groupbox1.Visible:=false;
 Groupbox4.visible:=true;
 button3.Enabled:=false;
 button4.Enabled:=true;

//Book on 借阅表 lendbook
 // StuNo:=edit2.Text;
  DataModule1.adoquery7.Close;
  DataModule1.adoquery7.SQL.clear;
  DataModule1.adoquery7.SQL.add('select * from lendbook where 学号=:StuNo');
  DataModule1.adoquery7.Parameters.ParamByName('StuNo').Value:=edit2.Text;
  DataModule1.adoquery7.Open;
  application.MessageBox('借书成功!','提示',MB_ok+MB_iconinformation);
 except
  application.MessageBox('操作失败!','提示',0+48);
  exit;
end;
end;

procedure TForm4.Button3Click(Sender: TObject);
begin
Groupbox1.Visible:=false;
Groupbox4.visible:=true;
button3.Enabled:=false;
button4.Enabled:=true;
end;

procedure TForm4.Button4Click(Sender: TObject);
begin
Groupbox1.Visible:=true;
Groupbox4.visible:=false;
button4.Enabled:=false;
button3.Enabled:=true;

end;

procedure TForm4.FormCreate(Sender: TObject);
begin
  edit4.text:= DateTimeToStr(Now);
end;

procedure TForm4.Button7Click(Sender: TObject);
  var RBNo:string;
begin
  RBNo:=DBedit8.text;
try
 DataModule1.adoquery4.Close;
 DataModule1.adoquery4.SQL.clear;
 DataModule1.adoquery4.sql.Add('Delete from lend where 书号=:RBNo');
 DataModule1.adoquery4.Parameters.parambyname('RBNo').value:=DBedit8.text;
 DataModule1.adoquery4.ExecSQL;
 DataModule1.adoquery4.close;
 DataModule1.adotable1.active:=false;
 DataModule1.adotable1.active:=true;
 application.MessageBox('还书成功!','提示',MB_ok+MB_iconinformation);
 except
  application.MessageBox('操作失败!','提示',0+48);
  exit;
end;
end;
procedure TForm4.Button8Click(Sender: TObject);
begin
 // DataModule1.adoquery3.open;
 // if (DataModule1.adoquery3.State = dsEdit) or (DataModule1.adoquery3.State = dsInsert)  then
 // begin
  DataModule1.adoquery3.Post;
  application.MessageBox('信息已保存!','提示',0+64);
 // end;
 // Button8.Enabled:=false;
end;

procedure TForm4.Button9Click(Sender: TObject);
begin
  DataModule1.adoquery3.Edit;
end;

procedure TForm4.Button10Click(Sender: TObject);
begin
  if messagedlg('确定删除信息',mtInformation, [mbyes,mbno], 0)=mryes then
  DataModule1.adoquery3.Delete;
end;

procedure TForm4.Button11Click(Sender: TObject);
begin
  DataModule1.adoquery3.insert;
end;


procedure TForm4.DBEdit8Change(Sender: TObject);
  var Tnow,Tthen,Pass:Tdatetime;
begin
  {TThen:=DataModule1.adoTable1.Fieldbyname('借书日期').Value;
  TNow:=now();
  Pass:=SpanOfNowAndThen(TNow,TThen);
  label16.caption:=datetimetostr(Pass);  }
end;

end.

⌨️ 快捷键说明

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