uglobal_srv.pas

来自「以前用delphi+kol写的监视工具」· PAS 代码 · 共 59 行

PAS
59
字号
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 + =
减小字号Ctrl + -
显示快捷键?