📄 data.~pas
字号:
unit data;
interface
uses
SysUtils, Classes, DB, DBClient, MConnect, SConnect,dialogs
,registry,windows; //修改注册表要用的两个单元
type
Tfm_data = class(TDataModule)
Socket: TSocketConnection;
data_book: TDataSource;
Cd_borrow: TClientDataSet;
Cd_card: TClientDataSet;
Cd_login: TClientDataSet;
Cd_student: TClientDataSet;
Cd_users: TClientDataSet;
data_borrow: TDataSource;
data_card: TDataSource;
data_login: TDataSource;
data_student: TDataSource;
Data_users: TDataSource;
Cd_book: TClientDataSet;
procedure DataModuleCreate(Sender: TObject);
private
function connect_app:boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
fm_data: Tfm_data;
implementation
uses connect, main;
{$R *.dfm}
function TFm_data.connect_app: boolean; //通过注册表的记录判断是否连接上了应用服务器
var
vs_Host, vs_Address, vs_Port: string;
reg: TRegistry;
begin
Result := True;
reg := Tregistry.create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
socket.Connected := false;
//读取注册表配置的应用服务器信息
if Reg.OpenKey('\Software\pz', False) then //如果注册表有信息
begin
vs_Host := reg.ReadString('Host');
vs_Address := reg.ReadString('ip');
vs_Port := reg.readstring('Port');
try
//测试连接
socket.Address := vs_Address;
socket.Host := vs_Host;
socket.Port := strtoint(vs_Port);
socket.Connected := true;
reg.closekey;
except //未连接上,弹出配置窗口,重新连接
reg.closekey;
try
fm_SerConfig := Tfm_serconfig.create(self);
fm_SerConfig.showmodal;
finally
fm_SerConfig.free;
end;
end;
end
else //如果没有信息 弹出配置窗口
begin
try
fm_SerConfig := Tfm_SerConfig.create(self);
fm_SerConfig.showmodal;
finally
fm_SerConfig.free;
end;
end;
end;
procedure Tfm_data.DataModuleCreate(Sender: TObject);
begin
connect_app(); //调用自定义的连接服务器函数
{try
if not(connect_app()) then
Fm_main.Close;
except
Messagedlg('Cannot Connect to Appserver!',mterror,[mbok],0);
halt;
end; }
Cd_book.Active:=true;
Cd_borrow.Active:=true;
Cd_card.Active:=true;
Cd_login.Active:=true;
Cd_student.Active:=true;
Cd_users.Active:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -