📄 jshs_form.pas
字号:
unit JSHS_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls, TFlatComboBoxUnit,
TFlatEditUnit, TFlatGroupBoxUnit, TFlatSpeedButtonUnit,DB,DBTables,
TFlatRadioButtonUnit, TFlatMemoUnit, TFlatButtonUnit, ADODB;
type
TJSHS_F = class(TForm)
Close_Btn: TButton;
JSHS_PC: TPageControl;
JS_TS: TTabSheet;
JSQD_FBtn: TFlatButton;
FlatEdit1: TFlatEdit;
Label1: TLabel;
FlatButton1: TFlatButton;
Label2: TLabel;
FlatButton2: TFlatButton;
FlatMemo2: TFlatMemo;
FlatEdit2: TFlatEdit;
ADOQuery1: TADOQuery;
FlatMemo1: TFlatMemo;
FlatButton3: TFlatButton;
FlatButton4: TFlatButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure Close_BtnClick(Sender: TObject);
procedure FlatButton1Click(Sender: TObject);
procedure FlatButton2Click(Sender: TObject);
procedure FlatButton3Click(Sender: TObject);
procedure JSQD_FBtnClick(Sender: TObject);
procedure FlatButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
JSHS_F: TJSHS_F;
jssl,jssj,tskc,gqts:integer;
torf:boolean;
implementation
uses
Common_Unit,DateUtils, ShowBook_Form, Main_Form;
{$R *.dfm}
procedure TJSHS_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TJSHS_F.FormDestroy(Sender: TObject);
begin
JSHS_F:=nil;
end;
procedure TJSHS_F.Close_BtnClick(Sender: TObject);
begin
close;
end;
procedure TJSHS_F.FlatButton1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select tsjbxx.tsbh,tsjbxx.class,tsjbxx.tsname,tsjbxx.auther,tsjbxx.outdate,tsjbxx.cbs,tsjbxx.cost,tsjbxx.totalnum,tsjbxx.lastnum,tsjbxx.bz,tslb.classname from tsjbxx,tslb where tsjbxx.class=tslb.classid and tsbh='+chr(39)+FlatEdit1.Text+chr(39) ;
adoquery1.open;
if adoquery1.RecordCount >0 then
begin
FlatMemo1.Lines.Clear;
FlatMemo1.Lines.Add('图书信息:');
FlatMemo1.Lines.Add('编号:'+adoquery1.Fields.Fields[0].value);
FlatMemo1.Lines.Add('类别:'+adoquery1.Fields.Fields[1].value+'-'+adoquery1.Fields.Fields[10].value);
FlatMemo1.Lines.Add('书名:'+adoquery1.Fields.Fields[2].value);
FlatMemo1.Lines.Add('作者:'+adoquery1.Fields.Fields[3].value);
FlatMemo1.Lines.Add('出版时间:'+datetimetostr(adoquery1.Fields.Fields[4].value));
FlatMemo1.Lines.Add('出版社:'+adoquery1.Fields.Fields[5].value);
FlatMemo1.Lines.Add('定价:'+inttostr(adoquery1.Fields.Fields[6].value));
FlatMemo1.Lines.Add('总数量:'+inttostr(adoquery1.Fields.Fields[7].value));
tskc:=adoquery1.Fields.Fields[8].value;
FlatMemo1.Lines.Add('库存数量:'+inttostr(tskc));
FlatMemo1.Lines.Add('备注:'+adoquery1.Fields.Fields[9].value);
end
else
MessageBox(handle,'图书不存在,请检查编号!','错误',MB_OK or MB_ICONINFORMATION);
end;
procedure TJSHS_F.FlatButton2Click(Sender: TObject);
var
m:integer;
begin
try
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select yh.userid,yh.name,yh.sex,yh.groupid,yh.zjid,groupuser.groupname,groupuser.maxdate,groupuser.maxnum from yh,groupuser where yh.groupid=groupuser.groupid and userid='+FlatEdit2.Text;
adoquery1.open;
FlatMemo2.Lines.Clear;
if adoquery1.RecordCount >0 then
begin
JSQD_FBtn.Enabled:=true;
FlatButton4.Enabled:=true;
FlatMemo2.Lines.Add('借书证号码:'+inttostr(adoquery1.Fields.Fields[0].Value));
FlatMemo2.Lines.Add('姓名:'+adoquery1.Fields.Fields[1].Value);
FlatMemo2.Lines.Add('性别:'+adoquery1.Fields.Fields[2].Value);
FlatMemo2.Lines.Add('用户类别:'+trim(adoquery1.Fields.Fields[3].Value)+'-'+adoquery1.Fields.Fields[5].Value);
FlatMemo2.Lines.Add('证件号码:'+adoquery1.Fields.Fields[4].Value);
jssj:=adoquery1.Fields.Fields[6].Value;
m:=adoquery1.Fields.Fields[7].Value;
gqts:=m;
FlatMemo2.Lines.Add('借书最大天数:'+inttostr(jssj));
FlatMemo2.Lines.Add('借书最大数量:'+inttostr(m));
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select tsbh from jyxxb where hdate is null and userid='+chr(39)+FlatEdit2.Text+chr(39);
adoquery1.open;
FlatMemo2.Lines.Add('用户已借图书数量:'+inttostr(adoquery1.RecordCount));
jssl:=m-adoquery1.RecordCount;
torf:=true;
if adoquery1.RecordCount >0 then
begin
while not adoquery1.Eof do
begin
FlatMemo2.Lines.Add('图书编号:'+adoquery1.Fields.Fields[0].value);
if adoquery1.Fields.Fields[0].value=FlatEdit1.Text then torf:=false;
adoquery1.Next;
end;
end;
end;
except
MessageBox(handle,'无法读取用户资料,请检查编号!','错误',MB_OK or MB_ICONINFORMATION);
end;
end;
procedure TJSHS_F.FlatButton3Click(Sender: TObject);
begin
FlatEdit1.Text:='';
FlatEdit2.Text:='';
FlatMemo1.Lines.Clear;
FlatMemo2.Lines.Clear;
JSQD_FBtn.Enabled:=false;
FlatButton4.Enabled:=false;
end;
procedure TJSHS_F.JSQD_FBtnClick(Sender: TObject);
var
m:integer;
begin
if torf=false then MessageBox(handle,'读者已经借了这本书,不能再借!','错误',MB_OK or MB_ICONINFORMATION);;
if (jssl>1) and (tskc>1) and (torf=true) then
begin
try
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('INSERT INTO jyxxb (userid,tsbh,jdate,lastdate)');
adoquery1.SQL.add('VALUES ('+FlatEdit2.Text+','+chr(39)+FlatEdit1.Text+chr(39)+',');
adoquery1.SQL.add(chr(39)+datetimetostr(date())+chr(39)+','+chr(39)+datetimetostr(date()+jssj)+chr(39)+')');
adoquery1.SQL.Add('update tsjbxx set lastnum=lastnum-1 where tsbh='+chr(39)+FlatEdit1.Text+chr(39));
adoquery1.ExecSQL;
try
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select yh.userid,yh.name,yh.sex,yh.groupid,yh.zjid,groupuser.groupname,groupuser.maxdate,groupuser.maxnum from yh,groupuser where yh.groupid=groupuser.groupid and userid='+FlatEdit2.Text;
adoquery1.open;
FlatMemo2.Lines.Clear;
if adoquery1.RecordCount >0 then
begin
JSQD_FBtn.Enabled:=false;
FlatButton4.Enabled:=false;
FlatMemo2.Lines.Add('借书证号码:'+inttostr(adoquery1.Fields.Fields[0].Value));
FlatMemo2.Lines.Add('姓名:'+adoquery1.Fields.Fields[1].Value);
FlatMemo2.Lines.Add('性别:'+adoquery1.Fields.Fields[2].Value);
FlatMemo2.Lines.Add('用户类别:'+trim(adoquery1.Fields.Fields[3].Value)+'-'+adoquery1.Fields.Fields[5].Value);
FlatMemo2.Lines.Add('证件号码:'+adoquery1.Fields.Fields[4].Value);
jssj:=adoquery1.Fields.Fields[6].Value;
m:=adoquery1.Fields.Fields[7].Value;
FlatMemo2.Lines.Add('借书最大天数:'+inttostr(jssj));
FlatMemo2.Lines.Add('借书最大数量:'+inttostr(m));
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select tsbh from jyxxb where hdate is null and userid='+chr(39)+FlatEdit2.Text+chr(39);
adoquery1.open;
FlatMemo2.Lines.Add('用户已借图书数量:'+inttostr(adoquery1.RecordCount));
jssl:=m-adoquery1.RecordCount;
FlatMemo1.Lines.Clear;
FlatMemo1.Lines.Add('图书('+FlatEdit1.Text+')成功借给当前读者!');
torf:=true;
if adoquery1.RecordCount >0 then
begin
while not adoquery1.Eof do
begin
FlatMemo2.Lines.Add('图书编号:'+adoquery1.Fields.Fields[0].value);
if adoquery1.Fields.Fields[0].value=FlatEdit1.Text then torf:=false;
adoquery1.Next;
end;
end;
FlatEdit1.Text:='';
end;
except
MessageBox(handle,'无法读取用户资料,请检查编号!','错误',MB_OK or MB_ICONINFORMATION);
end;
except
end;
end;
end;
procedure TJSHS_F.FlatButton4Click(Sender: TObject);
var
ts,jg,m:integer;
begin
try
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select jdate,lastdate from jyxxb where hdate is null and userid='+FlatEdit2.Text+' and tsbh='+chr(39)+FlatEdit1.Text+chr(39);
adoquery1.open;
if adoquery1.RecordCount <1 then
begin
MessageBox(handle,'当前读者没有借该书,请检查编号!','错误',MB_OK or MB_ICONINFORMATION);
end
else
begin
ts:=strtoint(FloatToStr(adoquery1.Fields.Fields[0].Value-Date()));
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select s1 from sx';
adoquery1.open;
jg:=adoquery1.Fields.Fields[0].Value;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='update jyxxb set hdate='+chr(39)+datetostr(date())+chr(39)+' where userid='+FlatEdit2.Text+' and tsbh='+chr(39)+FlatEdit1.Text+chr(39);
// showmessage(adoquery1.SQL.Text);
adoquery1.ExecSQL;
try
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select yh.userid,yh.name,yh.sex,yh.groupid,yh.zjid,groupuser.groupname,groupuser.maxdate,groupuser.maxnum from yh,groupuser where yh.groupid=groupuser.groupid and userid='+FlatEdit2.Text;
adoquery1.open;
FlatMemo2.Lines.Clear;
if adoquery1.RecordCount >0 then
begin
JSQD_FBtn.Enabled:=false;
FlatButton4.Enabled:=false;
FlatMemo2.Lines.Add('借书证号码:'+inttostr(adoquery1.Fields.Fields[0].Value));
FlatMemo2.Lines.Add('姓名:'+adoquery1.Fields.Fields[1].Value);
FlatMemo2.Lines.Add('性别:'+adoquery1.Fields.Fields[2].Value);
FlatMemo2.Lines.Add('用户类别:'+trim(adoquery1.Fields.Fields[3].Value)+'-'+adoquery1.Fields.Fields[5].Value);
FlatMemo2.Lines.Add('证件号码:'+adoquery1.Fields.Fields[4].Value);
jssj:=adoquery1.Fields.Fields[6].Value;
m:=adoquery1.Fields.Fields[7].Value;
FlatMemo2.Lines.Add('借书最大天数:'+inttostr(jssj));
FlatMemo2.Lines.Add('借书最大数量:'+inttostr(m));
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select tsbh from jyxxb where hdate is null and userid='+chr(39)+FlatEdit2.Text+chr(39);
adoquery1.open;
FlatMemo2.Lines.Add('用户已借图书数量:'+inttostr(adoquery1.RecordCount));
jssl:=m-adoquery1.RecordCount;
FlatMemo1.Lines.Clear;
if ts<=gqts then FlatMemo1.Lines.Add('没有超期!')
else
begin
FlatMemo1.Lines.Add('超期'+inttostr(ts-gqts)+'天');
FlatMemo1.Lines.Add('罚款'+inttostr((ts-gqts)*jg)+'元');
end;
FlatMemo1.Lines.Add('图书('+FlatEdit1.Text+')成功归还!');
torf:=true;
if adoquery1.RecordCount >0 then
begin
while not adoquery1.Eof do
begin
FlatMemo2.Lines.Add('图书编号:'+adoquery1.Fields.Fields[0].value);
if adoquery1.Fields.Fields[0].value=FlatEdit1.Text then torf:=false;
adoquery1.Next;
end;
end;
FlatEdit1.Text:='';
end;
except
MessageBox(handle,'无法读取用户资料,请检查编号!','错误',MB_OK or MB_ICONINFORMATION);
end;
end;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -