borroworder.~pas
来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· ~PAS 代码 · 共 231 行
~PAS
231 行
unit BorrowOrder;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ComCtrls, Mask, DBCtrls,
ExtCtrls, DB, DBTables;
type
TBrwOrdFrm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
Label2: TLabel;
Edit2: TEdit;
BitBtn2: TBitBtn;
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
DBEdit1: TDBEdit;
Edit3: TEdit;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Database1: TDatabase;
Table1: TTable;
DataSource1: TDataSource;
DBCheckBox1: TDBCheckBox;
Table2: TTable;
Table3: TTable;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
DBGrid2: TDBGrid;
DBCheckBox2: TDBCheckBox;
Query1: TQuery;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
BrwOrdFrm: TBrwOrdFrm;
implementation
{$R *.dfm}
procedure TBrwOrdFrm.BitBtn1Click(Sender: TObject);
begin
Table1.IndexFieldNames:='BookName';
Table1.Open;
Table1.FindNearest([edit1.text]);
end;
procedure TBrwOrdFrm.BitBtn2Click(Sender: TObject);
begin
Table1.IndexFieldNames:='Author';
Table1.Open;
Table1.FindNearest([edit2.text]);
end;
procedure TBrwOrdFrm.BitBtn4Click(Sender: TObject);
begin
Edit3.Clear;
end;
procedure TBrwOrdFrm.BitBtn3Click(Sender: TObject);
var Srecord,SstudNo,SbookNo:integer;
QueryStr,BDateStr,RDateStr:string;
begin
if Edit3.Text<>'' then
begin
if RadioButton2.Checked=True then
begin
SstudNo:=strtoint(edit3.text);
Table2.IndexFieldNames:='StuNo';
Table2.Open;
if not Table2.FindKey([SstudNo]) then
begin
Edit3.Clear;
showmessage('学号错误! ');
end
else
if Table2.fieldbyname('Permitted').asstring='False' then
begin
showmessage('您的借阅证不能使用!请退出!');
BrwOrdFrm.Close;
end
else
begin
SbookNo:=strtoint(DbEdit1.text);
with Table3 do
begin
IndexFieldNames:='BookNo';
Open;
FindKey([SbookNo]);
SstudNo:=FieldByName('StuNo').asinteger;
end;
if SstudNo<>strtoint(Edit3.Text) then
begin
with Table1 do
begin
Close;
IndexFieldNames:='BookNo';
Readonly:=False;
Open;
FindKey([SbookNo]);
Edit;
SetFields([nil,nil,nil,nil,nil,nil,True]);
Post;
end;
with Table3 do
begin
Open;
Srecord:=recordcount+1;
SstudNo:=strtoint(Edit3.text);
SbookNo:=strtoint(DbEdit1.text);
insert;
BDateStr:=formatdatetime('yyyy"-"mm"-"dd',Date);
RDateStr:=copy(BDateStr,1,5)+inttostr(strtoint(copy(BDateStr,6,2))+1)+copy(BDateStr,8,3);
SetFields([Srecord,SstudNo,SbookNo,BDateStr,RDateStr,False,True]);
Post;
end;
showmessage('预约成功!');
end
else
begin
showmessage('同一人不能对同一本书进行借阅和预约!!');
end;
end;
end;
if RadioButton1.Checked=True then
begin
SstudNo:=strtoint(edit3.text);
Table2.IndexFieldNames:='StuNo';
Table2.Open;
if not Table2.FindKey([SstudNo]) then
begin
Edit3.Clear;
showmessage('学号错误! ');
end
else
if Table2.fieldbyname('Permitted').asstring='False' then
begin
showmessage('您的借阅证不能使用!请退出!');
BrwOrdFrm.Close;
end
else
begin
with Table3 do
begin
Open;
Srecord:=recordcount+1;
SstudNo:=strtoint(Edit3.text);
SbookNo:=strtoint(DbEdit1.text);
insert;
BDateStr:=formatdatetime('yyyy"-"mm"-"dd',Date);
RDateStr:=copy(BDateStr,1,5)+inttostr(strtoint(copy(BDateStr,6,2))+1)+copy(BDateStr,8,3);
SetFields([Srecord,SstudNo,SbookNo,BDateStr,RDateStr,False,False]);
Post;
end;
with Table1 do
begin
Close;
IndexFieldNames:='BookNo';
Readonly:=False;
Open;
FindKey([SbookNo]);
Edit;
SetFields([nil,nil,nil,nil,nil,True,false]);
Post;
end;
showmessage('借阅成功!');
end;
end
else
showmessage('请输入您的学号!');
end;
procedure TBrwOrdFrm.BitBtn5Click(Sender: TObject);
begin
close;
end;
procedure TBrwOrdFrm.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if dbcheckbox2.checked=true then
begin
RadioButton1.Enabled:=False;
RadioButton2.Enabled:=True;
RadioButton2.checked:=True;
BitBtn3.Enabled:=True;
end;
if dbcheckbox1.checked=true then
begin
RadioButton1.Enabled:=False;
RadioButton2.Enabled:=False;
BitBtn3.Enabled:=False;
end;
if dbcheckbox2.checked=False then
if dbcheckbox1.checked=False then
begin
RadioButton2.Enabled:=False;
RadioButton1.Enabled:=True;
RadioButton1.checked:=True;
BitBtn3.Enabled:=True;
end;
end;
procedure TBrwOrdFrm.FormShow(Sender: TObject);
begin
BrwOrdFrm.caption:='查询、借阅、预约图书['+datetostr(date)+']';
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?