📄 pdatamodulemain.pas
字号:
unit PDataModuleMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ADODB, Db,Registry;
type
TDataModuleMain = class(TDataModule)
ADOConnectionBarCode: TADOConnection;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModuleMain: TDataModuleMain;
implementation
uses Regist, PPublic;
{$R *.DFM}
procedure TDataModuleMain.DataModuleCreate(Sender: TObject);
var
Reg:TRegistry;
DataBaseName,Password,cryptPassword:String;
SuccessConnected:Boolean;
sLicense,sHit,SDuration:String;
nHit:Integer;
begin
Reg:=Nil;
SuccessConnected:=False;
Repeat
try
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
if (Reg.OpenKey('\Software\QDSCM\BarCodePrinter\DataLink',False))=False then
begin
Reg.CreateKey('\Software\QDSCM\BarCodePrinter\DataLink');
Reg.OpenKey('\Software\QDSCM\BarCodePrinter',True);
Reg.WriteString('Ver','1.0');
Reg.WriteString('Duration',cipher('Songcm','100'));
Reg.WriteString('Checker',cipher('Songcm','1'));
Reg.WriteInteger('Hit',1);
Reg.WriteString('License','2000');
Reg.CloseKey;
Reg.OpenKey('\Software\QDSCM\BarCodePrinter\DataLink',True);
Reg.WriteString('DataBaseName',ExtractFilePath(Application.ExeName)+'BarCode.mdb');
Reg.WriteString('PassWord','');
nHit:=1;
sHit:='1';
sDuration:='100';
DataBaseName:=ExtractFilePath(Application.ExeName)+'BarCode.mdb';
end
else
begin
DataBaseName:=Reg.ReadString('DataBaseName');
cryptPassword:=Reg.ReadString('PassWord');
Password:=Decipher('Songcm',cryptPassword);
Reg.CloseKey;
Reg.OpenKey('\Software\QDSCM\BarCodePrinter',True);
nHit:=Reg.ReadInteger('Hit');
sHit:=Reg.ReadString('Checker');
sHit:=Decipher('Songcm',sHit);
sLicense:=Reg.ReadString('License');
sDuration:=Reg.ReadString('Duration');
sDuration:=Decipher('Songcm',sDuration);
end;
if sLicense<>'20000829' then
begin
if (IntToStr(nHit)<>sHit) or (nHit>StrToInt(sDuration)) then
begin
Application.MessageBox('读取系统数据错误!','提示',MB_OK);
Reg.CloseKey;
Reg.Free;
Application.Terminate;
end;
Reg.CloseKey;
Reg.OpenKey('\Software\QDSCM\BarCodePrinter',True);
Reg.WriteString('Checker',cipher('Songcm',IntTostr(nHit+1)));
Reg.WriteInteger('Hit',nHit+1);
end;
finally
Reg.CloseKey;
Reg.Free;
end;
ADOConnectionBarCode.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;;Data Source='+DataBaseName+
';Jet OLEDB:Database Password='+Password;
ADOConnectionBarCode.LoginPrompt:=False;
try
ADOConnectionBarCode.open;
SuccessConnected:=True;
except
on E: Exception do
begin
SuccessConnected:=False;
ShowMessage(E.Message);
if Application.MessageBox('数据联接失败,请检查设置是否正常,现在配置连接吗?','网络连接',MB_OKCANCEL + MB_DEFBUTTON1+MB_ICONERROR)<>IDOK then
begin
Halt(1);
end
else
begin
frmRegist:=TfrmRegist.Create(Application);
frmRegist.Showmodal;
frmRegist.Free;
end;
end;
end;
until SuccessConnected;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -