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

📄 mainfrm.pas

📁 好多上载非界面和非WEB源码
💻 PAS
字号:
unit mainfrm;

interface

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

type
  Tmainform = class(TForm)
    CoolBar1: TCoolBar;
    MainMenu1: TMainMenu;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel3: TPanel;
    Panel2: TPanel;
    Query1: TQuery;
    DataSource1: TDataSource;
    ImageList1: TImageList;
    ImageList2: TImageList;
    ImageList3: TImageList;
    N1: TMenuItem;
    k_login: TMenuItem;
    N6: TMenuItem;
    k_encf: TMenuItem;
    N5: TMenuItem;
    k_exit: TMenuItem;
    N2: TMenuItem;
    k_new: TMenuItem;
    k_arrange: TMenuItem;
    k_modify: TMenuItem;
    k_queryuser: TMenuItem;
    N12: TMenuItem;
    k_reg: TMenuItem;
    k_infomgr: TMenuItem;
    N15: TMenuItem;
    k_setpath: TMenuItem;
    N3: TMenuItem;
    k_query: TMenuItem;
    k_borrow: TMenuItem;
    k_return: TMenuItem;
    N4: TMenuItem;
    k_about: TMenuItem;
    ToolBar1: TToolBar;
    ToolBar2: TToolBar;
    ToolBar3: TToolBar;
    loginbtn: TBitBtn;
    exitbtn: TBitBtn;
    querybtn: TBitBtn;
    borrowbtn: TBitBtn;
    Splitter2: TSplitter;
    Splitter3: TSplitter;
    Splitter4: TSplitter;
    returnbtn: TBitBtn;
    Splitter5: TSplitter;
    user_encfbtn: TBitBtn;
    newbtn: TBitBtn;
    Splitter6: TSplitter;
    arrangebtn: TBitBtn;
    Splitter7: TSplitter;
    modifybtn: TBitBtn;
    Splitter8: TSplitter;
    queryuserbtn: TBitBtn;
    Splitter9: TSplitter;
    regbtn: TBitBtn;
    Splitter10: TSplitter;
    infomgrbtn: TBitBtn;
    Splitter11: TSplitter;
    setpathbtn: TBitBtn;
    Splitter12: TSplitter;
    mgr_encfbtn: TBitBtn;
    Splitter13: TSplitter;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    B_no: TStringField;
    B_name: TStringField;
    B_author: TStringField;
    B_publisher: TStringField;
    B_type: TStringField;
    B_date: TDateField;
    Return_time: TDateField;
    Ex_time: TIntegerField;
    fj: TFloatField;
    DBGrid1: TDBGrid;
    procedure k_loginClick(Sender: TObject);
    procedure k_exitClick(Sender: TObject);
    procedure k_encfClick(Sender: TObject);
    procedure k_newClick(Sender: TObject);
    procedure k_arrangeClick(Sender: TObject);
    procedure k_modifyClick(Sender: TObject);
    procedure k_queryuserClick(Sender: TObject);
    procedure k_regClick(Sender: TObject);
    procedure k_infomgrClick(Sender: TObject);
    procedure k_setpathClick(Sender: TObject);
    procedure k_queryClick(Sender: TObject);
    procedure k_borrowClick(Sender: TObject);
    procedure k_returnClick(Sender: TObject);
    procedure Query1CalcFields(DataSet: TDataSet);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure k_aboutClick(Sender: TObject);
  private
    { Private declarations }
    procedure listextimebook;
  public
    { Public declarations }
    procedure viewmenu(p:integer);
    procedure listbookinfo;
  end;


var
  mainform: Tmainform;

implementation
Uses login,global,exbookinfoUnit,delrec,modify,mgrquery,regulation,
      setpath,jiami,userinfo,guanyu,returnbook,uquery,borrowbooks,newbookunit;
{$R *.dfm}

procedure Tmainform.viewmenu(p:integer);
begin
case p of
-1:begin
     k_encf.Visible:=false;
     n5.Visible:=false;
     n2.Visible:=false;
     n3.Visible:=false;
     CoolBar1.Bands[1].Visible:=false;
     panel1.Visible:=false;
     CoolBar1.Bands[2].Visible:=false;
     k_login.Caption:='登录系统';
     loginbtn.Caption:='登录系统';
     statusbar1.Panels[0].Text:='没有用户登录!';
   end;
1 :begin
     listbookinfo;
     panel1.Visible:=true;
     n2.Visible:=false;
     n3.Visible:=true;
     coolbar1.Bands[1].Visible:=true;
     coolbar1.Bands[2].Visible:=false;
     k_encf.Visible:=true;
     n5.Visible:=true;
     k_login.Caption:='注销';
     loginbtn.Caption:='注销';
     statusbar1.Panels[0].Text:='普通用户:'+username;
     edit1.Text:=username;
   end;
0 :begin
     panel1.Visible:=false;
     coolbar1.Bands[2].Visible:=true;
     n2.Visible:=true;
     n3.Visible:=false;
     coolbar1.Bands[1].Visible:=false;
     k_encf.Visible:=true;
     n5.Visible:=true;
     k_login.Caption:='注销';
     loginbtn.Caption:='注销';
     statusbar1.Panels[0].Text:='管理员:'+username;
   end;

end;
end;

procedure Tmainform.k_loginClick(Sender: TObject);
begin
if copy(k_login.Caption,1,4)='登录' then loginfrm.ShowModal
else if MessageDlg('确实要注销'''+username+'''吗?',mtconfirmation,[mbYes,mbNo],0)=mrYes then
       begin
         username:='';
         userpwd:='';
         viewmenu(-1);
       end;
end;

procedure Tmainform.k_exitClick(Sender: TObject);
begin
if MessageDlg('真的要退出系统吗?',mtconfirmation,[mbYes,mbNo],0)=mrYes
  then close;
end;

procedure Tmainform.k_encfClick(Sender: TObject);
begin
if panel1.Visible then
begin
  plvisible:=true;
  panel1.Visible:=false;
end
else plvisible:=false;
//showmessage('加密界面');
jiamifrm.ShowModal;
end;

procedure Tmainform.k_newClick(Sender: TObject);
begin
//showmessage('新书入库');
newfrm.Top:=mainform.Top+123;
newfrm.Left:=mainform.Left+2;
newfrm.Height:=mainform.Height-126;
newfrm.Width:=mainform.Width-4;
newfrm.ShowModal;

end;

procedure Tmainform.k_arrangeClick(Sender: TObject);
begin
//showmessage('整理图书');
delfrm.Top:=mainform.Top+123;
delfrm.Left:=mainform.Left+2;
delfrm.Height:=mainform.Height-126;
delfrm.Width:=mainform.Width-4;
delfrm.ShowModal;
end;

procedure Tmainform.k_modifyClick(Sender: TObject);
begin
//showmessage('修改图书信息');
modifyfrm.Top:=mainform.Top+123;
modifyfrm.Left:=mainform.Left+2;
modifyfrm.Height:=mainform.Height-126;
modifyfrm.Width:=mainform.Width-4;
modifyfrm.ShowModal;
end;

procedure Tmainform.k_queryuserClick(Sender: TObject);
begin
//showmessage('查询');
mgrqfrm.Top:=mainform.Top+123;
mgrqfrm.Left:=mainform.Left+2;
mgrqfrm.Height:=mainform.Height-126;
mgrqfrm.Width:=mainform.Width-4;
mgrqfrm.ShowModal;
end;

procedure Tmainform.k_regClick(Sender: TObject);
begin
//showmessage('规则管理');
regfrm.Top:=mainform.Top+123;
regfrm.Left:=mainform.Left+2;
regfrm.Height:=mainform.Height-126;
regfrm.Width:=mainform.Width-4;
regfrm.ShowModal;
end;

procedure Tmainform.k_infomgrClick(Sender: TObject);
begin
//showmessage('用户信息管理');
userinfofrm.Top:=mainform.Top+123;
userinfofrm.Left:=mainform.Left+2;
userinfofrm.Height:=mainform.Height-126;
userinfofrm.Width:=mainform.Width-4;
userinfofrm.ShowModal;

end;

procedure Tmainform.k_setpathClick(Sender: TObject);
begin
//showmessage('数据库路径');
setpathfrm.ShowModal;
end;

procedure Tmainform.k_queryClick(Sender: TObject);
begin
//showmessage('查询');
uqueryfrm.Top:=mainform.Top+166;
uqueryfrm.Left:=mainform.Left+2;
uqueryfrm.Height:=mainform.Height-169;
uqueryfrm.Width:=mainform.Width-4;
uqueryfrm.ShowModal;
end;

procedure Tmainform.k_borrowClick(Sender: TObject);
begin
//showmessage('借书');
borrowfrm.Top:=mainform.Top+166;
borrowfrm.Left:=mainform.Left+2;
borrowfrm.Height:=mainform.Height-169;
borrowfrm.Width:=mainform.Width-4;
borrowfrm.ShowModal;
end;

procedure Tmainform.k_returnClick(Sender: TObject);
begin
//showmessage('还书');
returnbookfrm.Top:=mainform.Top+166;
returnbookfrm.Left:=mainform.Left+2;
returnbookfrm.Height:=mainform.Height-169;
returnbookfrm.Width:=mainform.Width-4;
returnbookfrm.ShowModal;
end;

procedure Tmainform.Query1CalcFields(DataSet: TDataSet);
begin
  return_time.Value:=query1.FieldByName('借出时间').Value+P_days;
  if return_time.Value<date then
    ex_time.Value:=1
  else ex_time.Value:=0;
  fj.Value:=p_money*ex_time.Value;
end;

procedure Tmainform.listbookinfo;
begin
  with Query1 do
  begin
    close;
    DatabaseName:=dbname;
    sql.Clear;
    SQL.Add('select b.图书编号,b.书名,b.作者,b.出版社,b.类别,a.借出时间');
    SQL.Add('from borrow_info a,book_info b');
    SQL.Add('where a.学生证号='''+userpwd+''' and a.图书编号=b.图书编号');
    Open;
    listextimebook;
  end;
end;

procedure Tmainform.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 Tmainform.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 Tmainform.k_aboutClick(Sender: TObject);
begin
guanyufrm.ShowModal;
end;

end.

⌨️ 快捷键说明

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