📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, pBooksLogin_TLB, StdCtrls, Mask, ComCtrls, DB, DBClient,
ExtCtrls, Grids, DBGrids, pUserReg_TLB, pxzBooksJieBook_TLB, IniFiles,
pBookReg_TLB, pHS_TLB, pQuery_TLB, Buttons, Spin;
type
TfrmxzBooksTest = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet3: TTabSheet;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
BookID: TEdit;
BookName: TEdit;
Label2: TLabel;
Label3: TLabel;
DJ: TEdit;
Label4: TLabel;
UserID: TEdit;
Label5: TLabel;
UserName: TEdit;
Label6: TLabel;
CS: TEdit;
Button6: TButton;
TabSheet4: TTabSheet;
ID4: TEdit;
Name4: TEdit;
Author: TEdit;
Pub: TEdit;
Button7: TButton;
RKRQ: TMaskEdit;
Money: TEdit;
Label7: TLabel;
LX: TEdit;
TabSheet2: TTabSheet;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Label8: TLabel;
Edit3: TEdit;
Label9: TLabel;
BookName1: TEdit;
Label10: TLabel;
UserID1: TEdit;
Label11: TLabel;
DJ1: TEdit;
Label12: TLabel;
UserName1: TEdit;
GroupBox5: TGroupBox;
Label13: TLabel;
Label14: TLabel;
Times: TEdit;
JYRQ1: TEdit;
Label15: TLabel;
Edit10: TEdit;
Button4: TButton;
Label16: TLabel;
Edit4: TEdit;
GroupBox6: TGroupBox;
Label17: TLabel;
ID: TEdit;
CZY: TEdit;
Label18: TLabel;
Label19: TLabel;
JSXS: TEdit;
Name: TEdit;
KHRQ: TMaskEdit;
Address: TEdit;
Phone: TEdit;
FP: TEdit;
Button3: TButton;
GroupBox7: TGroupBox;
Button1: TButton;
Edit2: TEdit;
Edit1: TEdit;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
CS3: TEdit;
TabSheet5: TTabSheet;
GroupBox8: TGroupBox;
GroupBox10: TGroupBox;
GroupBox9: TGroupBox;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Button2: TButton;
Button5: TButton;
Button8: TButton;
TabSheet6: TTabSheet;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
ClientDataSet1: TClientDataSet;
ClientDataSet3: TClientDataSet;
DataSource1: TDataSource;
DataSource3: TDataSource;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
ClientDataSet2: TClientDataSet;
DataSource2: TDataSource;
DBGrid3: TDBGrid;
DBGrid2: TDBGrid;
Panel2: TPanel;
SpeedButton5: TSpeedButton;
Panel3: TPanel;
SpeedButton9: TSpeedButton;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
DBGrid1: TDBGrid;
cb1: TCheckBox;
seNumbers: TSpinEdit;
SpinEdit1: TSpinEdit;
CheckBox1: TCheckBox;
SpinEdit2: TSpinEdit;
CheckBox2: TCheckBox;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure BookIDKeyPress(Sender: TObject; var Key: Char);
procedure UserIDKeyPress(Sender: TObject; var Key: Char);
procedure Button6Click(Sender: TObject);
procedure CSKeyPress(Sender: TObject; var Key: Char);
procedure Button7Click(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
private
vLogined:olevariant;
myLoginCoor:IxzBooksLogin;
myCoor:IxzBooksUserReg;
JS:IxzBooksJieBook;
RegBook:IxzBooksBookReg;
HS:IxzBooksHS;
Query:IxzBooksQuery;
procedure ClearTabShee2Edit;
{ Private declarations }
public
{ Public declarations }
end;
var
frmxzBooksTest: TfrmxzBooksTest;
isLogined:boolean=False;
implementation
{$R *.dfm}
uses uQueryForm;
procedure TfrmxzBooksTest.FormCreate(Sender: TObject);
var
iniServer:TIniFile;ServerName:string;
begin
try
iniServer:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'ServerName.ini');
with iniServer do
ServerName:=ReadString('Option','RServerName','');
myLoginCoor:=coxzBooksLogin.CreateRemote(ServerName);
myCoor:=coxzBooksUserReg.CreateRemote(ServerName);
js:=coxzBooksJieBook.CreateRemote(ServerName);
RegBook:=coxzBooksBookReg.CreateRemote(ServerName);
HS:=coxzBooksHS.CreateRemote(ServerName);
Query:=coxzBooksQuery.CreateRemote(ServerName);
iniServer.Free;
except
raise exception.Create('致命错误:初始化失败。');
end;
end;
procedure TfrmxzBooksTest.Button1Click(Sender: TObject);
var
vCZYID:OleVariant;
begin
try
vLogined:=false;
myLoginCoor.Login(edit1.Text,edit2.Text,vLogined,vCZYID);
if vLogined='True' then
begin
isLogined:=true;
czy.Text :=vCZYID;
Showmessage('成功登录!');
end
else
ShowMessage(vLogined);
except
raise;
end;
end;
procedure TfrmxzBooksTest.Button3Click(Sender: TObject);
var
vResult:olevariant;
begin
if isLogined then
try
strtoDate(KHRQ.Text);
myCoor.UserReg(id.Text,czy.Text,strtoint(jsxs.text),name.Text,khrq.text,address.Text,phone.Text,fp.Text,vResult);
ShowMessage(vResult);
except
raise;
end
else
Showmessage('你还没有登录!');
end;
procedure TfrmxzBooksTest.BookIDKeyPress(Sender: TObject; var Key: Char);
var
vBookName,vDJ:olevariant;
begin
if key=#13 then
begin
key:=#0;
js.GetBookInfoFromBookID(bookid.Text,vBookName,vDJ);
if vBookName<>'None' then
begin
bookName.Text :=vBookName;
dj.Text :=vDJ;
cs.SetFocus;
end
else
MessageDlg('图书不存在!',mtConfirmation,[mbok],0);
end;
end;
procedure TfrmxzBooksTest.UserIDKeyPress(Sender: TObject; var Key: Char);
var
vUserName,vLX:olevariant;
begin
if key=#13 then
begin
key:=#0;
js.GetUserInfoFromUserID(userid.Text,vUserName,vLX);
if vUserName<>'None' then
begin
UserName.Text :=vuserName;
LX.Text :=vLX;
end
else
MessageDlg('用户不存在!',mtConfirmation,[mbok],0);
Button6.SetFocus;
end;
end;
procedure TfrmxzBooksTest.Button6Click(Sender: TObject);
var
JYRQ:String;
vResult:olevariant;
begin
if isLogined then
begin
JYRQ:=DateToStr(Now);
if not ((BookId.Text ='') or (BookName.Text ='') or (UserName.Text ='')) then
begin
js.JieShu(CZY.Text,UserID.Text,UserName.Text,JYRQ,BookID.Text,BookName.Text,StrToFloat(DJ.text),vResult);
if vResult='Complete' then
MessageDlg('Complete',mtInformation,[mbok],0)
else
MessageDlg(vResult,mtError,[mbok],0)
end
else
showmessage('图书或用户信息不完整!');
end
else
showmessage('你还没有登录!');
end;
procedure TfrmxzBooksTest.CSKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
UserID.SetFocus;
end;
end;
procedure TfrmxzBooksTest.Button7Click(Sender: TObject);
var
vResult:OleVariant;
begin
if isLogined then
try
StrToDate(RKRQ.Text);
strToInt(cs.Text);
regBook.CBook(ID4.Text,Name4.Text,Author.Text,
pub.Text,strtoFloat(Money.Text),RKRQ.Text,strtoInt(CS.Text),vResult);
if varIsStr(vResult) then
MessageDlg('Complete!',mtInformation,[mbOk],0)
else
if MessageDlg('这个ID已经被一本书使用。' + #13 + '你现在想查看这本书的详细信息吗?',mtError,[mbYes,mbNo],0) =mrYes then
//Show Book on This IS's Deltia;
with frmQuery do
begin
ClientDataSet1.Data :=vResult;
Caption :='ID已经存在!';
Width :=712;frmQuery.Height:=375;
DBGridByBookIDIsActived;
ShowModal;
end;
except
raise;
end
else
showmessage('你还没有登录!');
end;
procedure TfrmxzBooksTest.Edit3KeyPress(Sender: TObject; var Key: Char);
var
JYRDH,JYR,JYRQ,BookName,DJ,CS,Times1,vResult,vMoney:OleVariant;
begin
if key=#13 then
begin
key:=#0;
HS.GetJSBWithBookID(Edit3.Text,JYRDH,JYR,JYRQ,BookName,DJ,CS,Times1,vResult,vMoney);
if vResult<>'None' then
begin
BookName1.Text :=BookName;
DJ1.Text :=DJ;
UserID1.Text :=JYRDH;
UserName1.Text :=JYR;
JYRQ1.Text :=JYRQ;
Times.Text :=Times1;
edit10.Text :=DateToStr(Date);
if not (varIsEmpty(vMoney) or varIsNull(vMoney)) then
if vMoney>0 then
edit4.Text :=vMoney;
end
else
ShowMessage('借书表中没有这本书!');
end;
end;
procedure TfrmxzBooksTest.Button4Click(Sender: TObject);
var
vResult:OleVariant;
begin
if isLogined then
begin
if Trim(BookName1.Text)<>'' then
begin
hs.HS(edit3.text,vResult);
if vResult='Complete' then
begin
ClearTabShee2Edit;
showMessage('Complete!');
end
else
showmessage(vResult);
end
else
ShowMessage('无法处理还书业务!');
end
else
ShowMessage('你还没有登录!');
end;
procedure TfrmxzBooksTest.ClearTabShee2Edit;
begin
Edit3.Text :='';
BookName1.Text :='';
DJ.Text :='';
Times.Text :='';
UserID1.Text :='';
UserName1.Text :='';
Edit10.Text :='';
JYRQ1.Text :='';
end;
procedure TfrmxzBooksTest.Button2Click(Sender: TObject);
var
vResult:OleVariant;
begin
if Trim(Edit5.Text)<>'' then
try
Query.QueryFromJSBByUserID(edit5.Text,vResult);
if not (varIsEmpty(vResult) or varIsNull(vResult)) then
begin
with frmQuery do
begin
Caption:='按用户代码在借书表中查询';
Width:=432;Height:=375;
ClientDataSet1.Data :=vResult;
DBGridByUserIDInJSB;
ShowModal;
end;
end
else
ShowMessage('借书表中没有这个用户的相关信息');
except
raise;
end
else
Showmessage('Pleaser input a userID.');
end;
procedure TfrmxzBooksTest.Button5Click(Sender: TObject);
var
vResult:OleVariant;
begin
if Trim(Edit6.Text)<>'' then
try
Query.QureyFromJSBByBookID(Edit6.Text,vResult);
if not (varIsEmpty(vResult) or varIsNull(vResult)) then
begin
with frmQuery do
begin
Caption:='按图书代码在借书表中查询';
Width:=432;Height:=375;
ClientDataSet1.Data :=vResult;
DBGridByBookIDInJSB;
ShowModal;
end;
end
else
ShowMessage('借书表中没有这本图书的相关信息');
except
raise;
end
else
Showmessage('Pleaser input a BookID.');
end;
procedure TfrmxzBooksTest.Button8Click(Sender: TObject);
var
vResult:OleVariant;
begin
if Trim(Edit7.Text)<>'' then
try
Query.QueryFromBooksByBookID(Edit7.Text,vResult);
if not (varIsEmpty(vResult) or varIsNull(vResult)) then
begin
with frmQuery do
begin
Caption:='按图书代码在图书库中查询';
Width:=712;Height:=375;
ClientDataSet1.Data :=vResult;
DBGridByBookIDInBooks;
ShowModal;
end;
end
else
ShowMessage('图书库中没有这本书的相关信息');
except
raise;
end
else
Showmessage('Pleaser input a BookID.');
end;
procedure TfrmxzBooksTest.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
Button2Click(self);
end;
end;
procedure TfrmxzBooksTest.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
Button5Click(self);
end;
end;
procedure TfrmxzBooksTest.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
Button8Click(self);
end;
end;
procedure TfrmxzBooksTest.SpeedButton1Click(Sender: TObject);
var
vResult:OleVariant;
cdsTmp:TClientDataSet;
vOwnerData:string;
begin
try
vResult:=ClientDataSet1.Data;
if not(varIsEmpty(vResult) or varIsNull(vResult)) then
begin
cdsTmp:=TClientDataSet.Create(self);
try
cdsTmp.Data :=vResult;
cdsTmp.Last;
vOwnerData:=cdsTmp.fieldByName('ID').AsString;
finally
cdsTmp.Free;
end;
end;
Query.GetBooks(seNumbers.Text,vOwnerData,vResult);
if Not (varIsEmpty(vResult) or varIsNull(vResult)) then
if cb1.Checked then
ClientDataSet1.AppendData(vResult,False)
else
ClientDataSet1.Data :=vResult;
except
raise;
end;
end;
procedure TfrmxzBooksTest.SpeedButton5Click(Sender: TObject);
begin
MessageDlg('此项功能和"查看图书表"中的功能相似。',mtInformation,[mbOK],0);
end;
procedure TfrmxzBooksTest.SpeedButton9Click(Sender: TObject);
begin
MessageDlg('此项功能和"查看图书表"中的功能相似。',mtInformation,[mbOK],0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -