⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admuser.pas

📁 flash视频源码 flash视频源码
💻 PAS
字号:
unit admuser;

interface

uses Classes, abstuser;

type TAdmUser = class(TUser)
      private
       { Private-Deklarationen }
      protected
       procedure Execute; override;
       procedure IncommingData(st:string); override;
//      public
       procedure SendLine(cmd,stat,err:Char;msg:string);
     end;

implementation

{ Wichtig: Methoden und Eigenschaften eines Objekts in der VCL
           k鰊nen nur in einem Methodenaufruf mit SYNCHRONIZE
           genutzt werden, z.B.

      Synchronize(UpdateCaption);

  und UpdateCaption k鰊nte sein,

    procedure TAdmUser.UpdateCaption;
    begin
      Form1.Caption := 'Updated in einem Thread';
    end; }

{ TAdmUser }

uses misc, WinSock, SysUtils;

{$I ..\..\defines.inc}

var adm_user:TAdmUser;

procedure TAdmUser.Execute;
  begin
    if (IP.S_addr<>16777343)and(AllowedIP(inet_ntoa(IP),AdminIPs,false)=false) then
      begin
//        SendLine(AM_DISCONN,SC_NORMAL,EC_BANNED,'');
        Close;
        Exit;
      end;

//    SendLine(AM_HELLO,SC_NORMAL,EC_NOERROR,#3+Char(Hi(Build))+Char(Lo(Build)));
    inherited Execute;
  end;

procedure TAdmUser.IncommingData(st:string);
var cmd,stat:Char;
  begin
    if Length(st)<2 then Exit;
    cmd:=st[1];
    stat:=st[2];
    Delete(st,1,2);

{    case cmd of
      AM_LOGIN    :begin
                     if st<>IntToStr(adm_pwd) then
                       begin
                         SendLine(AM_LOGIN,SC_NORMAL,EC_WRONGPWD,'');
                         Close;
                         Exit;
                       end;

                     if (adm_user<>nil)and(adm_user<>self) then
                       begin
                         adm_user.SendLine(AM_DISCONN,SC_NORMAL,#,'');
                         adm_user.Close;
                       end;
                     adm_user:=self;

                     SendLine(AM_LOGIN,SC_NORMAL,EC_NOERROR,'');
                   end;
      AM_GETDATA  :begin
                     if adm_user<>self then
                       begin
                         SendLine(AM_GETDATA,SC_NORMAL,EC_NOTLOGGEDIN,'');
                         Exit;
                       end;

                     case stat of

                     end;
                   end;
    end;}
  end;

procedure TAdmUser.SendLine(cmd,stat,err:Char;msg:string);
  begin
    Send(cmd+stat+err+msg);
  end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -