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

📄 guanli.~pas

📁 实现图书馆数据库管理功能
💻 ~PAS
字号:
unit guanli;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls, Menus,  ImgList, Buttons;

type
  TForm3 = class(TForm)
    Image_title: TImage;
    Image_close: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Image1: TImage;
    Image2: TImage;
    procedure Image_titleMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_titleMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image_titleMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure Image_closeClick(Sender: TObject);
    procedure Image_rightMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_rightMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image_rightMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormResize(Sender: TObject);
    procedure Image_leftMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_leftMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image_leftMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_bottomMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_bottomMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image_bottomMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_bian_topMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_bian_topMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image_bian_topMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_titleDblClick(Sender: TObject);
    procedure Image_maximizeClick(Sender: TObject);
    procedure Image_minimizeClick(Sender: TObject);
    procedure Image_maximizeMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Image_closeMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_closeMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_right_bottomMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Image_right_bottomMouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_right_bottomMouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Image_left_bottomMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Image_left_bottomMouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    procedure Image_left_bottomMouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure d1Click(Sender: TObject);
    

   procedure wmgetminmaxinfo(var message:twmgetminmaxinfo);
    message wm_getminmaxinfo;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn1Enter(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
   
  private

    { Private declarations }
    originalpos:tpoint;
    currentpos:tpoint;
    downpos:tpoint;
    mouselbuttondown:boolean;
    originalwid,originalhei:integer;
    flag:string;
    flag_normal:boolean;
     public
     
     readerno:string;
    { Public declarations }
  end;

var
  Form3: TForm3;


implementation

uses unit2;

{$R *.dfm}





procedure TForm3.Image_titleMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
originalpos.X:=self.Left;
originalpos.Y:=self.Top;
downpos.X:=x;
downpos.Y:=y;
downpos:=clienttoscreen(downpos);
if button=mbleft then
mouselbuttondown:=true;
end;






procedure TForm3.Image_titleMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin


if mouselbuttondown then
  begin
  currentpos.X:=x;
  currentpos.Y:=y;
  currentpos:=clienttoscreen(currentpos);
  self.left:=originalpos.X+(currentpos.X-downpos.X);
  self.Top:=originalpos.Y+(currentpos.Y-downpos.Y);
end;
end ;

procedure TForm3.Image_titleMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

mouselbuttondown:=false;

end;




procedure TForm3.FormCreate(Sender: TObject);

begin
self.DefaultMonitor:= dmdesktop;
flag_normal:=true;
mouselbuttondown:=false;
end;



procedure TForm3.Image_closeClick(Sender: TObject);
begin
close
end;

procedure TForm3.Image_rightMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
originalwid:=self.width;
downpos.X:=x;
downpos:=clienttoscreen(downpos);
if button=mbleft then
mouselbuttondown:=true;
end;


procedure TForm3.Image_rightMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);

  begin
 if mouselbuttondown then
  begin
  currentpos.X:=x;
  currentpos:=clienttoscreen(currentpos);
  self.width:=originalwid+(currentpos.x-downpos.x);
end;

end;

procedure TForm3.Image_rightMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);

begin
mouselbuttondown:=false;
end;

procedure TForm3.FormResize(Sender: TObject);

begin
originalwid:=self.Width;
if flag='down' then
self.originalhei:=self.Height;
if flag='up' then
self.originalhei:=self.Height;
end;

procedure TForm3.Image_leftMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
originalwid:=self.width;
downpos.X:=x;
downpos:=clienttoscreen(downpos);
originalpos.X:=self.Left;
if button=mbleft then
mouselbuttondown:=true;
end;


procedure TForm3.Image_leftMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
currentpos.X:=x;
currentpos:=clienttoscreen(currentpos);
end;


procedure TForm3.Image_leftMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var  ch:integer;
begin
ch:=currentpos.x-downpos.x ;
if ch>0 then
begin
self.width:=originalwid-ch;
self.Left:=currentpos.x
end
else
begin
self.Left:=currentpos.x;
self.width:=originalwid-ch;
end;
mouselbuttondown:=false;
end;


procedure TForm3.Image_bottomMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
flag:='down';
originalhei:=self.height;
downpos.Y:=y;
downpos:=clienttoscreen(downpos);
if button=mbleft then
mouselbuttondown:=true;
end;


procedure TForm3.Image_bottomMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if mouselbuttondown then
begin
currentpos.Y:=y;
currentpos:=clienttoscreen(currentpos);
self.Height:=originalhei+(currentpos.y-downpos.y);
end;
end;


procedure TForm3.Image_bottomMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);

begin

mouselbuttondown:=false;
flag:='';
end;


procedure TForm3.Image_bian_topMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
flag:='up';
originalhei:=self.height;
downpos.Y:=y;
downpos:=clienttoscreen(downpos);
if button=mbleft then
mouselbuttondown:=true;
end;


procedure TForm3.Image_bian_topMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);

begin
if mouselbuttondown then
begin
currentpos.Y:=y;
currentpos:=clienttoscreen(currentpos);
end
end;

procedure TForm3.Image_bian_topMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  var ch :integer;
begin

 ch:=self.currentpos.Y-self.downpos.Y;
 if ch<=0then
 begin
  self.Top:=currentpos.Y;
  self.Height:=self.originalhei-(ch);
  end
  else
 begin
  self.Height:=self.originalhei-(ch);
  self.Top:=currentpos.Y;
 end;
  mouselbuttondown:=false;
end;


procedure TForm3.Image_titleDblClick(Sender: TObject);
begin
flag_normal:=false;
image_bian_top.Enabled:=false;
image_bottom.Enabled:=false;
image_left.Enabled:=false;
image_right.Enabled:=false;
image_right_bottom.Enabled:=false;
image_left_bottom.Enabled:=false;
end ;





procedure TForm3.Image_maximizeClick(Sender: TObject);
begin
if self.WindowState=wsnormal then
begin
self.WindowState:=wsmaximized;
flag_normal:=false;
image_bian_top.Enabled:=false;
image_bottom.Enabled:=false;
image_left.Enabled:=false;
image_left_bottom.Enabled:=false;
image_right.Enabled:=false;
image_right_bottom.Enabled:=false;


end
else
begin
self.WindowState:=wsnormal;
flag_normal:=true;
image_bian_top.Enabled:=true;
image_bottom.Enabled:=true;
image_left.Enabled:=true;
image_left_bottom.Enabled:=true;
image_right.Enabled:=true;
image_right_bottom.Enabled:=true;

end
end;



procedure TForm3.Image_minimizeClick(Sender: TObject);
begin
if self.WindowState=wsnormal then
begin
application.Minimize;
end
else if self.WindowState=wsmaximized then
application.Minimize;
end;

procedure TForm3.Image_maximizeMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if flag_normal=true then

else

end;

procedure TForm3.Image_closeMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
image_close.Picture.LoadFromFile('close_down.jpg');
end;

procedure TForm3.Image_closeMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 image_close.Picture.LoadFromFile('close.jpg');
end;

procedure TForm3.Image_right_bottomMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
originalwid:=self.width;
downpos.X:=x;
flag:='down';
originalhei:=self.height;
downpos.Y:=y;
downpos:=clienttoscreen(downpos);
if button=mbleft then
mouselbuttondown:=true;
end;

procedure TForm3.Image_right_bottomMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
 if mouselbuttondown then
  begin
  currentpos.X:=x;
  currentpos.Y:=y;
currentpos:=clienttoscreen(currentpos);
self.width:=originalwid+(currentpos.x-downpos.x);
self.Height:=originalhei+(currentpos.Y-downpos.y);
end;
end;
procedure TForm3.Image_right_bottomMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
mouselbuttondown:=false;
flag:='';
end;

procedure TForm3.Image_left_bottomMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
originalwid:=self.width;
downpos.X:=x;
originalpos.X:=self.Left;
flag:='down';
originalhei:=self.height;
downpos.Y:=y;
downpos:=clienttoscreen(downpos);
if button=mbleft then
mouselbuttondown:=true;
end;

procedure TForm3.Image_left_bottomMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
if mouselbuttondown then
begin
currentpos.X:=x;
currentpos.Y:=y;
currentpos:=clienttoscreen(currentpos);

end;
end;

procedure TForm3.Image_left_bottomMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  var ch:integer;
begin
ch:=currentpos.x-downpos.x ;
if ch>0 then
begin
self.width:=originalwid-ch;
self.Left:=currentpos.x
end
else
begin
self.Left:=currentpos.x;
self.width:=originalwid-ch;
end;
self.Height:=originalhei+(currentpos.y-downpos.y);
mouselbuttondown:=false;
flag:='';
end;


procedure TForm3.d1Click(Sender: TObject);
begin
self.WindowState:=wsnormal;
flag_normal:=true;
end;

procedure tForm3.wmgetminmaxinfo(var message:twmgetminmaxinfo);
var f:integer;
begin
with message.MinMaxInfo^ do
begin
f:=GetSystemMetrics(SM_CYSCREEN);
ptmaxsize.y:=f-28;
ptmaxposition.x:=0;
ptmaxposition.Y:=0;
end;
message.Result:=0;
inherited;
end;

procedure TForm3.BitBtn1Click(Sender: TObject);
var
hasno,allowno:integer;
flag:boolean;
begin
flag:=true;
if edit1.Text='' then
begin
application.MessageBox('      请输入读者编号       ', '提示',MB_OK,);
end
else
begin
form2.Table1.Filter:='读者编号='''+edit1.text+'''';
form2.Table1.Filtered:=true;
form2.Table1.Active:=true;
if form2.Table1.RecordCount=0 then
messagedlg('此读者编号不存在,请重新输入',mtwarning,[mbok],0)
else if form2.Table1.RecordCount>0 then
begin
readerno:=edit1.text;
form2.Edit2.Text:=form2.Table1.fieldbyname('读者编号').value;
form2.Edit3.Text:=form2.Table1.fieldbyname('姓名').value;

form2.Edit4.Text:=form2.Table3.fieldbyname('类型名称').value;


//此处为是否已借满的代码
hasno:=form2.table1.FieldByName('已借册数').AsInteger;
form2.table3.Active:=true;
allowno:=form2.table3.FieldByName('借出册数').AsInteger;
form2.Enabled:=true;
form2.Label15.Visible:=true;
form2.DBText1.Visible:=true;

if hasno>=allowno then
begin
  form2.f_chaoce:=true;
  MessageDlg('您的图书可借册数已满,请归还图书之后再借!', mtwarning,[mbOk], 0);
  form2.edit1.Enabled:=false;
  form2.SpeedButton7.Enabled:=false;
end;
form2.checkoveredbook();
form2.showhowmanybooks();

if form2.Edit1.Enabled then
begin
  form2.Edit1.SetFocus;
  form2.Edit1.SelStart:=0;
  form2.Edit1.SelLength:=length(form2.edit1.text);
end;

close;
if (not form2.f_chaoqi) and (not form2.f_chaoce) then
   form2.Edit1.Enabled:=true;
   flag:=false;
end;
if flag then
  begin
    form3.Edit1.SetFocus;
    form3.Edit1.SelStart:=0;
    form3.Edit1.SelLength:=length(form3.edit1.text);
  end;
end;
end;

procedure TForm3.BitBtn1Enter(Sender: TObject);
begin
bitbtn1click(sender)
end;


procedure TForm3.BitBtn2Click(Sender: TObject);
begin
if form2.Edit2.Text='' then
form2.edit1.Enabled:=false;
close;
end;

procedure TForm3.FormShow(Sender: TObject);
begin
form2.Enabled:=false;
end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 form2.Enabled:=true;
end;

end.

⌨️ 快捷键说明

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