📄 hss_form.pas
字号:
unit HSS_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TFlatButtonUnit, ComCtrls, ExtCtrls,DB,ADODB;
type
THSS_F = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
HSXX_LV: TListView;
QD_FBtn: TFlatButton;
QX_FBtn: TFlatButton;
procedure HSXX_LVDblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure QX_FBtnClick(Sender: TObject);
procedure QD_FBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
HSS_F: THSS_F;
implementation
uses
IniFiles, TSJH_Form, Share_Unit;
{$R *.dfm}
//***********************************************************************************
procedure THSS_F.FormDestroy(Sender: TObject);
begin
HSS_F:=nil;
end;
//***********************************************************************************
procedure THSS_F.FormCreate(Sender: TObject);
var
HSXX_Q:TADOQuery;
Book:TListItem;
begin
HSXX_Q:=TADOQuery.Create(nil);
HSXX_Q.Connection:=Connect;
HSXX_Q.SQL.Add('Select A.图书编号,还书日期,书名,数量 From 借阅信息 A,图书信息 B ');
HSXX_Q.SQL.Add('Where A.用户帐号=:用户帐号 and A.图书编号=B.图书编号');
HSXX_Q.Parameters.ParamByName('用户帐号').Value:=BH;//TTSJH_F(Share_JSHS).TSBH_FE.Text; ////JSHS_F.TSBH_FE.Text;后面的不能用
HSXX_Q.Open;
if not(HSXX_Q.Bof and HSXX_Q.Eof) then
while not HSXX_Q.Eof do
begin
if HSXX_Q.FieldByName('还书日期').IsNull then //显示没有还的书的信息
begin
Book:=HSXX_LV.Items.Add;
Book.Caption:=HSXX_Q.FieldValues['图书编号'];
Book.SubItems.Add(HSXX_Q.FieldValues['书名']);
Book.SubItems.Add(HSXX_Q.FieldValues['数量']);
end;
HSXX_Q.Next;
end;
FreeAndNil(HSXX_Q);
end;
//***********************************************************************************
procedure THSS_F.HSXX_LVDblClick(Sender: TObject);
var
HSXX_Q:TADOQuery;
SH:String;
TS:Integer;
MyIniFile:TiniFile;
FJ,FJDay:Double;
begin
SH:=HSXX_LV.Selected.Caption;
TTSJH_F(Share_JSHS).HSSL_FE.Text:=HSXX_LV.Selected.SubItems[1];
HSXX_Q:=TADOQuery.Create(nil); //查询此图书的基本信息
HSXX_Q.Connection:=Connect;
HSXX_Q.SQL.Add('Select * From 图书信息 A Where A.图书编号=:图书编号');
HSXX_Q.Parameters.ParamByName('图书编号').Value:=SH;
HSXX_Q.Open;
TTSJH_F(Share_JSHS).HSBH_FE.Text:=SH;
TTSJH_F(Share_JSHS).HSSM_FE.Text:=HSXX_Q.FieldValues['书名'];
TTSJH_F(Share_JSHS).HSZZ_FE.Text:=HSXX_Q.FieldValues['作者'];
TTSJH_F(Share_JSHS).HSCBS_FE.Text:=HSXX_Q.FieldValues['出版社'];
TTSJH_F(Share_JSHS).HSDJ_FE.Text:=HSXX_Q.FieldValues['定价'];
HSXX_Q.Close; //读取借书者的姓名和到期的时间
HSXX_Q.SQL.Clear;
HSXX_Q.SQL.Add('Select A.书名,B.到期日期 From 用户 A,借阅信息 B Where A.用户帐号=:用户帐号 and 还书日期 is Null');
HSXX_Q.SQL.Add(' and A.用户帐号=B.用户帐号');
HSXX_Q.Parameters.ParamByName('用户帐号').Value:=BH;//TTSJH_F(Share_JSHS).TSBH_FE.Text; //用户ID号
HSXX_Q.Open;
TTSJH_F(Share_JSHS).HSXM_FE.Text:=HSXX_Q.FieldValues['姓名'];
TS:=Date-HSXX_Q.FieldValues['到期日期'];
if TS<0 then TS:=0; //天数为负,表示按时归还
TTSJH_F(Share_JSHS).HSCGTS_FE.Text:=IntToStr(TS);
if TS>0 then //计算罚金
begin
MyIniFile:=TiniFile.Create(Application.ExeName+'set.ini');
FJDay:=MyIniFile.ReadFloat('set','FJDay',0.5);
FreeAndNil(MyIniFile);
end;
FJ:=FJDay*TS*(StrToInt(HSXX_LV.Selected.SubItems[1]));
TTSJH_F(Share_JSHS).HSFJ_FE.Text:=FloatToStr(FJ);
FreeAndNil(HSXX_Q);
close;
end;
//***********************************************************************************
procedure THSS_F.QX_FBtnClick(Sender: TObject);
begin
close;
end;
procedure THSS_F.QD_FBtnClick(Sender: TObject);
begin
HSXX_LVDblClick(HSXX_LV);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -