📄 datam.pas
字号:
unit DataM;
interface
uses
SysUtils, Classes, DB, DBClient, MConnect, Variants, Forms, Controls,
RpCon, RpConDS, RpDefine, RpRave;
type
TDataModule1 = class(TDataModule)
DCOMConnection1: TDCOMConnection;
cdsBookBySerial: TClientDataSet;
cdsBook: TClientDataSet;
dsBook: TDataSource;
cdsBuy2: TClientDataSet;
cdsBuy1: TClientDataSet;
dsBuy2: TDataSource;
dsBuy1: TDataSource;
dsTmpBuy1: TDataSource;
cdsTmpBuy1: TClientDataSet;
cdsBuy2BuySerial: TIntegerField;
cdsBuy2BuyDate: TDateField;
cdsBuy2Memoir: TMemoField;
cdsBuy2tbBuy1: TDataSetField;
cdsBuy1BuySerial: TIntegerField;
cdsBuy1BookSerial: TStringField;
cdsBuy1BookCount: TBCDField;
cdsBuy1TotalPrice: TBCDField;
cdsTmpBuy1BookSerial: TStringField;
cdsTmpBuy1BookCount: TBCDField;
cdsTmpBuy1TotalPrice: TBCDField;
cdsUser: TClientDataSet;
dsUser: TDataSource;
RvProject1: TRvProject;
RvDataSetBook: TRvDataSetConnection;
RvDataSetBuy2: TRvDataSetConnection;
RvDataSetBuy1: TRvDataSetConnection;
cdsBuy1BookName: TStringField;
procedure DataModuleCreate(Sender: TObject);
procedure dsBookDataChange(Sender: TObject; Field: TField);
procedure cdsBuy1BeforePost(DataSet: TDataSet);
private
{ Private declarations }
public
Priv : Integer;
end;
var
DataModule1: TDataModule1;
implementation
uses Book, DIMime, Jpeg, Dialogs, Login;
// START resource string wizard section
resourcestring
SDataM_LOGINERROR = '连续3次密码输入错误,应用程序即将退出!';
SDataM_BookSerialIsNotCorrect = '"BookSerial" is not correct!';
// END resource string wizard section
{$R *.dfm}
procedure TDataModule1.DataModuleCreate(Sender: TObject);
var
i:Integer;
res:Integer;
begin
frmLogin := TfrmLogin.Create(Application);
for i:=0 to 2 do
begin
if frmLogin.ShowModal = mrOK then
begin
try
res := DCOMConnection1.AppServer.Login(frmLogin.edUserName.Text,
frmLogin.edPassword.Text);
Priv := res;
except
on e:Exception do
begin
if i=2 then
begin
MessageDlg(SDataM_LOGINERROR,
mtError, [mbOK], 0);
Application.Terminate;
end
else
begin
MessageDlg(E.Message, mtError, [mbOK], 0);
Continue;
end;
end;
end;
Break;
end
else
Application.Terminate;
end;
cdsBook.Open;
cdsBuy2.Open;
cdsBuy1.Open;
cdsTmpBuy1.Open;
end;
procedure TDataModule1.dsBookDataChange(Sender: TObject; Field: TField);
var
jImage:TJpegImage;
ss: TStringStream;
bSize:Integer;
begin
if Assigned(frmBook) then
with frmBook do
begin
bSize :=TBlobField(DataModule1.cdsBook.FieldByName('BookCover')).BlobSize;
Caption := IntToStr(bSize);
if bSize>0 then
begin
jImage := TJpegImage.Create;
with DataModule1 do
begin
ss := TStringStream.Create(MIMEDecodeString(cdsBook.FieldByName('BookCover').AsString));
ss.Seek(0, soFromBeginning);
jImage.LoadFromStream(ss);
Image1.Picture.Assign(jImage);
ss.Free;
end;
jImage.Free;
end;
end;
end;
procedure TDataModule1.cdsBuy1BeforePost(DataSet: TDataSet);
begin
cdsBook.CheckBrowseMode;
if VarType(cdsBook.Lookup('BookSerial',cdsBuy1.FieldByName('BookSerial').AsString,
'BookSerial')) in [varNULL] then
begin
MessageDlg(SDataM_BookSerialIsNotCorrect, mtError, [mbOK], 0);
Abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -