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

📄 serv.pas

📁 使用delphi自带的控件
💻 PAS
字号:
unit Serv;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActnList, Menus, StdCtrls, ComCtrls, ToolWin, IdTCPServer, IdComponent,
  IdBaseComponent;

type
  TfrmMain = class(TForm)
    mmuMain: TMainMenu;
    pclMain: TPageControl;
    tstLoginedUser: TTabSheet;
    tstRoom: TTabSheet;
    tstTalk: TTabSheet;
    tstLog: TTabSheet;
    tbrCorrMan: TToolBar;
    lvwLoginedUser: TListView;
    lvwRoom: TListView;
    tbrRoom: TToolBar;
    lvwTalk: TListView;
    tbrTalk: TToolBar;
    tbrLog: TToolBar;
    RichEdit1: TRichEdit;
    altFunctions: TActionList;
    acnStartService: TAction;
    acnCloseService: TAction;
    acnLogOff: TAction;
    acnCloseTalk: TAction;
    acnCloseRoom: TAction;
    acnSaveLog: TAction;
    acnClearLog: TAction;
    miCorrMan: TMenuItem;
    miRoom: TMenuItem;
    miTalk: TMenuItem;
    miLogOff: TMenuItem;
    miCloseRoom: TMenuItem;
    miCloseTalk: TMenuItem;
    miLog: TMenuItem;
    miSaveLog: TMenuItem;
    N9: TMenuItem;
    miClearLog: TMenuItem;
    miService: TMenuItem;
    miStartService: TMenuItem;
    N13: TMenuItem;
    miCloseService: TMenuItem;
    pmuService: TPopupMenu;
    pmuCorrMan: TPopupMenu;
    pmuRoom: TPopupMenu;
    pmuTalk: TPopupMenu;
    pmuLog: TPopupMenu;
    miPStartService: TMenuItem;
    N16: TMenuItem;
    miPCloseService: TMenuItem;
    miPLogOff: TMenuItem;
    miPCloseRoom: TMenuItem;
    miPCloseTalk: TMenuItem;
    miPSaveLog: TMenuItem;
    N22: TMenuItem;
    miPClearLog: TMenuItem;
        
  private
    { Private declarations }
  public
    { Public declarations }
    procedure AddLoginedUser(UserName: string; AThread: TIdPeerThread);
    procedure DelLoginedUser(UserName: string; AThread: TIdPeerThread);
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.AddLoginedUser(UserName: string; AThread: TIdPeerThread);
var
  NewItem: TListItem;
begin
  NewItem := lvwLoginedUser.Items.Add;
  NewItem.Caption := UserName;
  NewItem.SubItems.Add(FormatDateTime('mm dd HH:MM', Now));
  NewItem.SubItems.Add(AThread.Connection.Socket.Binding.PeerIP + ':'
    + IntToStr(AThread.Connection.Socket.Binding.PeerPort));
  NewItem.Data := AThread;
end;


procedure TfrmMain.DelLoginedUser(UserName: string; AThread: TIdPeerThread);
var
  I:  Integer;
begin
  for I:=0 to lvwLoginedUser.Items.Count-1 do
  begin
    if ((UserName = lvwLoginedUser.Items.Item[I].Caption)
      and (AThread = lvwLoginedUser.Items.Item[I].Data)) then
    begin
      lvwLoginedUser.Items.Item[I].Delete;
    end;
  end;
end;





end.

⌨️ 快捷键说明

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