idchargenserver.pas
来自「indy的原文件哈!大家可以下来参考和学习之用.也可以用以作组件.开发其他的应用」· PAS 代码 · 共 81 行
PAS
81 行
{ $HDR$}
{**********************************************************************}
{ Unit archived using Team Coherence }
{ Team Coherence is Copyright 2002 by Quality Software Components }
{ }
{ For further information / comments, visit our WEB site at }
{ http://www.TeamCoherence.com }
{**********************************************************************}
{}
{ $Log: 10085: IdChargenServer.pas
{
{ Rev 1.0 2002.11.12 10:31:58 PM czhower
}
unit IdChargenServer;
interface
{
2000-Apr-17 Kudzu
Converted to Indy
Improved efficiency
Original Author: Ozz Nixon
}
uses
Classes,
IdAssignedNumbers,
IdTCPServer;
Type
TIdChargenServer = class(TIdTCPServer)
protected
function DoExecute(AThread: TIdPeerThread): boolean; override;
public
constructor Create(AOwner: TComponent); override;
published
property DefaultPort default IdPORT_CHARGEN;
end;
implementation
{ TIdChargenServer }
constructor TIdChargenServer.Create(AOwner: TComponent);
begin
inherited;
DefaultPort := IdPORT_CHARGEN;
end;
function TIdChargenServer.DoExecute(AThread: TIdPeerThread): boolean;
var
Counter, Width, Base: integer;
begin
Base := 0;
result := true;
Counter := 1;
Width := 1;
with AThread.Connection do begin
while Connected do begin
Write(Chr(Counter + 31));
Inc(Counter);
Inc(Width);
if Width = 72 then begin
Writeln(''); {Do not Localize}
Width := 1;
Inc(Base);
if Base = 95 then begin
Base := 1;
end;
Counter := Base;
End;
if Counter = 95 then begin
Counter := 1;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?