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

📄 main1.pas

📁 蛮不错的图书管理系统,大家可以载着试试看啊
💻 PAS
字号:
unit main1;

interface

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

type
  Tmain = class(TForm)
    MainMenu1: TMainMenu;
    n1: TMenuItem;
    m_login: TMenuItem;
    m_exit: TMenuItem;
    n2: TMenuItem;
    N5: TMenuItem;
    m_new: TMenuItem;
    m_delbook: TMenuItem;
    m_modify: TMenuItem;
    m_queryuser: TMenuItem;
    N10: TMenuItem;
    m_info: TMenuItem;
    m_query: TMenuItem;
    N15: TMenuItem;
    m_about: TMenuItem;
    CoolBar2: TCoolBar;
    newbb: TSpeedButton;
    arrangebb: TSpeedButton;
    modifybb: TSpeedButton;
    userinfobb: TSpeedButton;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Image1: TImage;
    Panel2: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Query1: TQuery;
    querybb: TSpeedButton;
    borrowbb: TSpeedButton;
    returnbb: TSpeedButton;
    a: TSpeedButton;
    B_no: TStringField;
    B_name: TStringField;
    B_author: TStringField;
    B_publisher: TStringField;
    B_type: TStringField;
    B_date: TDateTimeField;
    Return_time: TDateTimeField;
    Ex_time: TIntegerField;
    pm: TFloatField;
    m_reg: TMenuItem;
    m_statistic: TMenuItem;
    qb: TSpeedButton;
    setb: TSpeedButton;
    p3: TPanel;
    Image2: TImage;
    m_borrow: TMenuItem;
    m_return: TMenuItem;
    procedure m_loginClick(Sender: TObject);
    procedure m_exitClick(Sender: TObject);
    procedure m_newClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Query1CalcFields(DataSet: TDataSet);
    procedure m_regClick(Sender: TObject);
     procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
       DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure m_delbookClick(Sender: TObject);
    procedure m_borrowClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure m_queryClick(Sender: TObject);
    procedure m_returnClick(Sender: TObject);
    procedure newbbClick(Sender: TObject);
    procedure arrangebbClick(Sender: TObject);
    procedure querybbClick(Sender: TObject);
    procedure borrowbbClick(Sender: TObject);
    procedure returnbbClick(Sender: TObject);
    procedure m_statisticClick(Sender: TObject);
    procedure m_modifyClick(Sender: TObject);
    procedure modifybbClick(Sender: TObject);
    procedure m_queryuserClick(Sender: TObject);
    procedure m_infoClick(Sender: TObject);
    procedure userinfobbClick(Sender: TObject);
    procedure qbClick(Sender: TObject);
    procedure setbClick(Sender: TObject);
    procedure m_aboutClick(Sender: TObject);
    procedure aClick(Sender: TObject);
   
  private
    { Private declarations }
    procedure listextimebook;

  public
    { Public declarations }
    procedure viewmenu(p:integer);
    procedure listbookinfo;
  end;

var
  main: Tmain;

implementation
    uses login ,gl,newbook,arrangebook,userinfo,querybook,borrowbook, rtip,
          tip, returnbook,about,extimebook,statistic,modifybook,checkborrow, reg,DateUtils;
{$R *.dfm}

procedure Tmain.listbookinfo;
begin
with Query1 do
     begin
     close;
     Sql.Clear;
     Sql.Add('select b.图书编号,b.书名,b.作者,b.出版社,b.类别,a.借出时间 from borrow_info a,book_info b where a.图书卡号='''+userno+'''and a.图书编号=b.图书编号');
     open;
     listextimebook;
     end;
end;

procedure Tmain.listextimebook;
 begin
   exbook_num:=0;
   extimebookfrm.ListView1.Items.Clear;
   with query1 do
     begin
       first;
       while not eof do
         begin
           if fieldbyname('罚金').AsFloat<>0 then
           with extimebookfrm.ListView1.Items.Add do
             begin
               caption:=query1.fieldbyname('图书编号').AsString;
               subitems.Add(query1.fieldbyname('书名').AsString);
               subitems.Add(query1.fieldbyname('作者').AsString);
               subitems.Add(query1.fieldbyname('出版社').AsString);
               subitems.Add(query1.fieldbyname('借出时间').AsString);
               subitems.Add(query1.fieldbyname('超时').AsString);
               subitems.Add(query1.fieldbyname('罚金').AsString);
               inc(exbook_num);
             end;
           next;
         end;
      end;
 end;

procedure Tmain.viewmenu(p:integer);
begin
case p of
     -1:begin
     n2.Enabled:=FALSE;
     n5.Enabled:=false;
     n15.Enabled:=false;
     a.Enabled:=true;
     newbb.Enabled:=false;
     arrangebb.Enabled:=false;
     modifybb.Enabled:=false;
     userinfobb.Enabled:=false;
     querybb.Enabled:=false;
     borrowbb.Enabled:=false;
     returnbb.Enabled:=false;
     qb.Enabled:=false;
     setb.Enabled:=false;
      m_login.Caption:='登录';
     edit1.text:=username;
     statusbar1.Panels[0].Text:='没有用户登录';
     p3.Visible:=true;
     //panel1.visible:=false;
     end;

     1:begin
     listbookinfo;
     panel1.visible:=true;
     n2.Enabled:=FALSE;
     n5.Enabled:=true;
     n15.Enabled:=true;
     a.Enabled:=true;
     //newbb.Visible:=false;
     newbb.Enabled:=false;
     arrangebb.Enabled:=false;
     modifybb.Enabled:=false;
     userinfobb.Enabled:=false;
     querybb.Enabled:=true;
     borrowbb.Enabled:=false;
     returnbb.Enabled:=false;
     qb.Enabled:=false;
     setb.Enabled:=false;
     m_login.Caption:='注销';
     statusbar1.Panels[0].Text:='读者:'+username;
     statusbar1.Panels[1].Text:='powered by yankun    时间:'+datetostr(date);
     edit1.text:=username;
     p3.Visible:=false;
     end;

     0:begin
     query1.SQL.Clear;
     panel1.visible:=true;
     n2.Enabled:=true;
     n5.Enabled:=false;
     n15.Enabled:=true;
     a.Enabled:=true;
     newbb.Enabled:=true;
     arrangebb.Enabled:=true;
     modifybb.Enabled:=true;
     userinfobb.Enabled:=true;
     querybb.Enabled:=true;
     borrowbb.Enabled:=true;
     returnbb.Enabled:=true;
     qb.Enabled:=true;
     setb.Enabled:=true;
     m_login.Caption:='注销';
     statusbar1.Panels[0].Text:='管理员: '+userno;
     statusbar1.Panels[1].Text:='powered by yankun    时间:'+datetostr(date);
     edit1.text:=username;
     ti:=1;
     p3.Visible:=true;
     end;
end;
end;



procedure Tmain.m_loginClick(Sender: TObject);
begin
  if copy(m_login.Caption,1,4)='登录' then
          loginfrm.ShowModal
  else
     if messagedlg('确实要注销吗'''+username+'''吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
         begin
          username:='';
          userno:='';
          viewmenu(-1);

           loginfrm.ShowModal;
          end;
end;

procedure Tmain.m_exitClick(Sender: TObject);
begin
close;
end;

procedure Tmain.m_newClick(Sender: TObject);
begin
newfrm.ShowModal;
end;



procedure Tmain.FormCreate(Sender: TObject);
begin
viewmenu(-1);
end;

procedure Tmain.Query1CalcFields(DataSet: TDataSet);
begin
return_time.Value:=query1.fieldbyname('借出时间').Value+P_days;
if return_time.Value<date then
   ex_time.Value:=daysbetween(date,return_time.value)
else
   ex_time.Value:=0;
   pm.Value:=p_money*ex_time.Value;
end;

procedure Tmain.m_regClick(Sender: TObject);
begin
regfrm.showmodal;
end;

procedure Tmain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  with dbgrid1.Canvas do
     if query1.FieldByName('罚金').Value>0 then
        begin
           brush.Color:=clRed;
           font.Color:=clWhite;
        end;
      dbgrid1.DefaultDrawDataCell(Rect,column.Field,state);

end;

procedure Tmain.m_delbookClick(Sender: TObject);
begin
 delfrm.show;
//delfrm.ShowModal;

end;

procedure Tmain.m_borrowClick(Sender: TObject);
begin
 tipfrm.ListView1.Items.Clear;
 tipfrm.Edit1.Text:='';
 tipfrm.Show;
//borrowbookfrm.Show;
//borrowbookfrm.ShowModal;
end;



procedure Tmain.FormShow(Sender: TObject);
begin
p_books:=5;
p_days:=2 ;
p_money:=0.1;

end;

procedure Tmain.m_queryClick(Sender: TObject);
begin
      //querybookfrm.ShowModal;
querybookfrm.Show;

end;

procedure Tmain.m_returnClick(Sender: TObject);
begin
     form1.Show;
     //returnbookfrm.Show;
end;

procedure Tmain.newbbClick(Sender: TObject);
begin
m_new.OnClick(self);
end;

procedure Tmain.arrangebbClick(Sender: TObject);
begin
m_delbook.OnClick(self);
end;

procedure Tmain.querybbClick(Sender: TObject);
begin
m_query.OnClick(self);
end;

procedure Tmain.borrowbbClick(Sender: TObject);
begin
m_borrow.OnClick(self);
end;

procedure Tmain.returnbbClick(Sender: TObject);
begin

m_return.OnClick(self);
end;

procedure Tmain.m_statisticClick(Sender: TObject);
begin
    statisticfrm.Show;
end;

procedure Tmain.m_modifyClick(Sender: TObject);
begin
modifyfrm.Show;
end;

procedure Tmain.modifybbClick(Sender: TObject);
begin
m_modify.OnClick(self);
end;

procedure Tmain.m_queryuserClick(Sender: TObject);
begin
   che.show;
end;

procedure Tmain.m_infoClick(Sender: TObject);
begin
userinfofrm.Show;
end;

procedure Tmain.userinfobbClick(Sender: TObject);
begin
m_info.onClick(self);
end;

procedure Tmain.qbClick(Sender: TObject);
begin
m_queryuser.OnClick(self);
end;

procedure Tmain.setbClick(Sender: TObject);
begin
m_reg.OnClick(self);
end;

procedure Tmain.m_aboutClick(Sender: TObject);
begin
    aboutfrm.ShowModal;
end;

procedure Tmain.aClick(Sender: TObject);
begin
   m_about.OnClick(self);
end;

end.

⌨️ 快捷键说明

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