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

📄 bookstle.pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls, Menus,  ImgList,
  Buttons, Mask, DB, ADODB, Grids, DBGrids, DBTables;

type
  Tbookstyle = class(TForm)
    PopupMenu1: TPopupMenu;
    N2: TMenuItem;
    ImageList1: TImageList;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit2: TEdit;
    DBGrid1: TDBGrid;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    DataSource1: TDataSource;
    GroupBox2: TGroupBox;
    SpeedButton2: TSpeedButton;
    GroupBox3: TGroupBox;
    SpeedButton6: TSpeedButton;
    GroupBox4: TGroupBox;
    SpeedButton3: TSpeedButton;
    GroupBox5: TGroupBox;
    SpeedButton5: TSpeedButton;
    GroupBox6: TGroupBox;
    SpeedButton4: TSpeedButton;
    GroupBox7: TGroupBox;
    SpeedButton1: TSpeedButton;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    MaskEdit3: TMaskEdit;
    Label6: TLabel;
    ADOTable1: TADOTable;
    Image_title: TImage;
    Image1: TImage;
    Image_close: TImage;
    Label1: TLabel;
    Image2: TImage;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Image_closeClick(Sender: TObject);
   
  private

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

var
  bookstyle: Tbookstyle;


implementation

uses Unit6, Unit2;

{$R *.dfm}






procedure Tbookstyle.FormCreate(Sender: TObject);

begin
flag_normal:=true;
mouselbuttondown:=false;
adodataset1.CommandText:='select * from 图书类别 ';
adodataset1.Active:=true;
maskedit3.ReadOnly:=true;
edit2.ReadOnly:=true;
maskedit2.ReadOnly:=true;
maskedit1.ReadOnly:=true;
speedbutton3.Enabled:=false;
speedbutton4.Enabled:=false;

end;





procedure Tbookstyle.FormClose(Sender: TObject; var Action: TCloseAction);
begin
shukuguanli.enabled:=true;
if speedbutton4.Enabled then
   begin
    messagedlg('请先点击“取消”按钮',mtwarning,[mbok],0);
    exit;
   end;
end;


procedure Tbookstyle.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
 maskedit2.SetFocus;
 maskedit2.SelectAll;
 end;

end;

procedure Tbookstyle.SpeedButton5Click(Sender: TObject);
begin
fg:='';
maskedit3.ReadOnly:=false;
edit2.ReadOnly:=false;
maskedit2.ReadOnly:=false;
maskedit1.ReadOnly:=false;
speedbutton3.Enabled:=true;
speedbutton4.Enabled:=true;
speedbutton1.Enabled:=false;
speedbutton2.Enabled:=false;
speedbutton5.Enabled:=false;


end;

procedure Tbookstyle.SpeedButton3Click(Sender: TObject);
begin
adotable1.open;
if fg<>'change' then
 begin
   if (maskedit3.Text='') or (edit2.text='') or (maskedit1.Text='') or (maskedit2.Text='')then
      begin
          messagedlg('请填写全部信息',mtwarning,[mbok],0);
          exit;
      end;
   if adotable1.Locate('类别代码',trim(maskedit3.Text),[locaseinsensitive]) then
      begin
         messagedlg('此类别代码已存在,请重新填写',mtwarning,[mbok],0);
        maskedit3.SelectAll;
        exit;
      end;
     
 end;

        adotable1.Close;
        adotable1.open;
        adotable1.edit;
        adotable1.Append;
        adotable1.FieldByName('类别代码').AsString:=trim(maskedit3.Text);
        adotable1.FieldByName('图书类别').AsString:=edit2.Text;
        adotable1.FieldByName('可借天数').AsInteger:=strtoint(trim(maskedit2.Text));
        adotable1.FieldByName('最少天数').AsInteger:=strtoint(trim(maskedit1.Text));
        adotable1.Post;
        maskedit3.Text:='';  edit2.text:='' ;  maskedit1.Text:='' ;  maskedit2.Text:='' ;

        maskedit3.ReadOnly:=true;
        edit2.ReadOnly:=true;
        maskedit2.ReadOnly:=true;
        maskedit1.ReadOnly:=true;
        speedbutton3.Enabled:=false;
        speedbutton4.Enabled:=false;
        speedbutton1.Enabled:=true;
        speedbutton2.Enabled:=true;
        speedbutton5.Enabled:=true;

end;

procedure Tbookstyle.SpeedButton4Click(Sender: TObject);
begin
adotable1.Cancel;
 maskedit3.Text:='';  edit2.text:='' ;  maskedit1.Text:='' ;  maskedit2.Text:='' ;
 maskedit3.ReadOnly:=true;
 edit2.ReadOnly:=true;
 maskedit2.ReadOnly:=true;
 maskedit1.ReadOnly:=true;
 speedbutton3.Enabled:=false;
 speedbutton4.Enabled:=false;
 speedbutton1.Enabled:=true;
 speedbutton2.Enabled:=true;
 speedbutton5.Enabled:=true;
end;

procedure Tbookstyle.SpeedButton6Click(Sender: TObject);
begin
if speedbutton4.Enabled then
   begin
    messagedlg('请先点击“取消”按钮',mtwarning,[mbok],0);
    exit;
   end; 
close;
end;

procedure Tbookstyle.SpeedButton2Click(Sender: TObject);
begin
fg:='change';
maskedit3.ReadOnly:=true;
edit2.ReadOnly:=false;
maskedit2.ReadOnly:=false;
maskedit1.ReadOnly:=false;
speedbutton3.Enabled:=true;
speedbutton4.Enabled:=true;
speedbutton1.Enabled:=false;
speedbutton2.Enabled:=false;
speedbutton5.Enabled:=false;
adotable1.open;
maskedit3.Text:=adotable1.FieldByName('类别代码').AsString;
edit2.Text:=adotable1.FieldByName('图书类别').AsString;
maskedit2.Text:= inttostr(adotable1.FieldByName('可借天数').AsInteger);
maskedit1.Text:=inttostr( adotable1.FieldByName('最少天数').AsInteger);

end;

procedure Tbookstyle.SpeedButton1Click(Sender: TObject);
var s1:string;
begin
 s1:='系统提示,请不要随意删除已存在或已使用的书籍类别,这样系统会出现不可预料的错误';
 messagedlg(s1,mtwarning,[mbok],0) ;
 s1:='您确实要删除  类别代码 '+adotable1.fieldbyname('类别代码').asstring+' 类别名称 '+adotable1.fieldbyname('图书类别').asstring +'  记录吗?';
 if messagedlg(s1,mtwarning,[mbok,mbcancel],0)=mrok then
   adotable1.Delete
 else
   exit;
end;

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

end.

⌨️ 快捷键说明

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