📄 main1.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 + -