📄 uglobal_srv.pas
字号:
unit uglobal_srv;
interface
{$IFDEF KOL_MCK}
uses Windows, Messages, ShellAPI, uglobal,KOL, kolTCPSocket{$IFNDEF KOL_MCK}, mirror, Classes, mckTCPSocket, mckCtrls, Controls, mckObjs{$ENDIF};
{$ELSE}
{$I uses.inc}
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
{$ENDIF}
type
psrvUserInfo = ^TsrvUserInfo;
procedure AddUser(user: TsrvUserInfo);
procedure DelUser(user: TsrvUserInfo);
procedure EditUser(user:TsrvUserInfo);
procedure ClearUsers;
var G_USERLIST: PStrListEx;
G_policy:pStream;
implementation
procedure AddUser(user: TsrvUserInfo);
var p: psrvUserInfo;
begin
if G_USERLIST.IndexOf(user.IP) <> -1 then
deluser(user);
new(p);
move(user,p^,sizeof(user));
G_USERLIST.AddObject(user.IP, cardinal(p));
end;
procedure DelUser(user: TsrvUserInfo);
var p: psrvUserInfo;
begin
if G_USERLIST.IndexOf(user.IP) = -1 then exit;
p := psrvUserInfo(G_USERLIST.Objects[G_USERLIST.IndexOf(user.IP)]);
Dispose(p);
G_USERLIST.Delete(G_USERLIST.IndexOf(user.IP));
end;
procedure EditUser(user:TsrvUserInfo);
var p: psrvUserInfo;
begin
if G_USERLIST.IndexOf(user.IP) = -1 then exit;
p := psrvUserInfo(G_USERLIST.Objects[G_USERLIST.IndexOf(user.IP)]);
p^:=User;
end;
procedure ClearUsers;
var p: psrvUserInfo;
begin
while G_USERLIST.Count > 0 do begin
p := psrvUserInfo(G_USERLIST.Objects[0]);
Dispose(p);
G_USERLIST.Delete(0);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -