📄 serv.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 + -