share.pas
来自「FIR引擎最新源码+注册」· PAS 代码 · 共 125 行
PAS
125 行
unit Share;
interface
uses
Windows, Classes, SysUtils, Inifiles;
type
TSuperSession = record
sAccount: string;
sPassword: string;
nMyQQ: Integer;
boLogined: Boolean;
boLockLogined: Boolean;
end;
pTSuperSession = ^TSuperSession;
TUserSession = record
sAccount: string[32];
sPassword: string[32];
sSerialNumber: string[32];
btBind: Byte;
nUserQQ: Integer;
btMode: Byte;
btPermission: Byte;
btMainVersion: Byte; //引擎版本
nUserIPaddr: Integer;
nUserCount: Integer; //用户数
nLicCount: Integer; //授权剩余次数
dStartDate: TDateTime; //开始时间
dEndDate: TDateTime; //结束时间
end;
pTUserSession = ^TUserSession;
TIPaddr = record
A: Byte;
b: Byte;
c: Byte;
D: Byte;
Port: Integer;
end;
var
g_MySelf: TSuperSession;
g_sServerAddr: string = '127.0.0.1';
g_nServerPort: Integer = 37000;
g_sAccount: string = '123456789';
g_sPassword: string = '123456789';
g_nMyQQ: Integer = 123456789;
g_sCaption: string;
g_boConnect: Boolean = False;
g_sRecvMsg: string;
g_sRecvGameMsg: string;
g_boBusy: Boolean;
btCode: Byte = 1;
procedure LoadConfig();
function MakeIPToStr(IPAddr: TIPaddr): string;
function MakeIPToInt(sIPaddr: string): Integer;
function MakeIntToIP(nIPaddr: Integer): string;
implementation
uses HUtil32;
function MakeIntToIP(nIPaddr: Integer): string;
var
IPAddr: TIPaddr;
begin
FillChar(IPAddr, SizeOf(TIPaddr), 0);
IPAddr.A := LoByte(LoWord(nIPaddr));
IPAddr.b := HiByte(LoWord(nIPaddr));
IPAddr.c := LoByte(HiWord(nIPaddr));
IPAddr.D := HiByte(HiWord(nIPaddr));
Result := MakeIPToStr(IPAddr);
end;
function MakeIPToStr(IPAddr: TIPaddr): string;
begin
Result := IntToStr(IPAddr.A) + '.' + IntToStr(IPAddr.b) + '.' + IntToStr(IPAddr.c) + '.' + IntToStr(IPAddr.D);
end;
function MakeIPToInt(sIPaddr: string): Integer;
var
sA, sB, SC, sD: string;
A, b, c, D: Byte;
begin
Result := -1;
sIPaddr := Trim(GetValidStr3(sIPaddr, sA, ['.']));
sIPaddr := Trim(GetValidStr3(sIPaddr, sB, ['.']));
sD := Trim(GetValidStr3(sIPaddr, SC, ['.']));
if (sA <> '') and (sB <> '') and (SC <> '') and (sD <> '') then begin
A := Str_ToInt(sA, 0);
b := Str_ToInt(sB, 0);
c := Str_ToInt(SC, 0);
D := Str_ToInt(sD, 0);
Result := MakeLong(MakeWord(A, b), MakeWord(c, D));
end;
end;
procedure LoadConfig();
var
Configfile: TInifile;
sServerAddr: string;
nServerPort: Integer;
sAccount: string;
sPassword: string;
nMyQQ: Integer;
begin
Configfile := TInifile.Create(ExtractFilePath(ParamStr(0)) + 'Config.ini');
sServerAddr := Configfile.ReadString('Setup', 'ServerAddr', '');
if sServerAddr = '' then Configfile.WriteString('Setup', 'ServerAddr', g_sServerAddr)
else g_sServerAddr := sServerAddr;
nServerPort := Configfile.ReadInteger('Setup', 'ServerPort', 0);
if nServerPort <= 0 then Configfile.WriteInteger('Setup', 'ServerPort', g_nServerPort)
else g_nServerPort := nServerPort;
sAccount := Configfile.ReadString('Setup', 'Account', '');
if sAccount = '' then Configfile.WriteString('Setup', 'Account', g_sAccount)
else g_sAccount := sAccount;
sPassword := Configfile.ReadString('Setup', 'Password', '');
if sPassword = '' then Configfile.WriteString('Setup', 'Password', g_sPassword)
else g_sPassword := sPassword;
{nMyQQ := Configfile.ReadInteger('Setup', 'MyQQ', 0);
if nMyQQ <= 0 then Configfile.WriteInteger('Setup', 'MyQQ', g_nMyQQ)
else g_nMyQQ := nMyQQ; }
Configfile.Free;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?