📄 dbgthrd.pas
字号:
unit dbgthrd;
interface
uses Classes;
type TDbgThrd = class(TThread)
private
{ Private-Deklarationen }
protected
procedure Execute; override;
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 TDbgThrd.UpdateCaption;
begin
Form1.Caption := 'Updated in einem Thread';
end; }
{ TDbgThrd }
uses Misc, SysUtils, ActUser, WinSock;
procedure TDbgThrd.Execute;
var
st:string;
i:Integer;
begin
FreeOnTerminate:=true;
repeat
Readln(st);
if st='ru' then for i:=0 to RegUsers.Count-1 do Writeln(i,' ',RegUsers[i]);
if st='rl' then for i:=0 to RoomList.Count-1 do Writeln(i,' ',RoomList[i]);
if st='au' then for i:=0 to ActUsers.Count-1 do Writeln(i,' ',ActUsers[i]);
if st='bu' then for i:=0 to OPKicked.Count-1 do Writeln(i,' ',FormatDateTime('hh:mm:ss',StrToFloat(OPKicked[i])));
until st='quit';
adm_server.ShutDown;
chatserver.ShutDown;
for i:=ActUsers.Count-1 downto 0 do TActUser(ActUsers.Objects[i]).Close;
WSACleanup;
Halt;
end;
begin
TDbgThrd.Create(false);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -