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

📄 client.~pas

📁 interpress 编程示例,SERVER&CLIENT
💻 ~PAS
字号:
unit client;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  StdCtrls, IdAntiFreezeBase, IdAntiFreeze;

type
  TForm1 = class(TForm)
    IdTCPClient1: TIdTCPClient;
    MemoCommands: TMemo;
    Label1: TLabel;
    ListServerInfo: TListBox;
    ButtonConnect: TButton;
    ButtonSend: TButton;
    ButtonClear: TButton;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    IdAntiFreeze1: TIdAntiFreeze;
 
    procedure ButtonConnectClick(Sender: TObject);
    procedure ButtonClearClick(Sender: TObject);
    procedure ButtonSendClick(Sender: TObject);
    procedure IdTCPClient1Connected(Sender: TObject);
    procedure IdTCPClient1Disconnected(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.ButtonConnectClick(Sender: TObject);
begin
     IdTCPClient1.Host:=Edit1.Text;
     IdTCPClient1.Connect();
end;

procedure TForm1.ButtonClearClick(Sender: TObject);
begin
    MemoCommands.Clear;
    ListServerInfo.Clear;
end;

procedure TForm1.ButtonSendClick(Sender: TObject);
var
  iCounter: integer;
  sReadBuf: string;
begin
    try
      with IdTCPClient1 do begin
        try
           for iCounter := 0 to MemoCommands.Lines.Count - 1 do
           begin
             if SameText(MemoCommands.Lines[iCounter],'QUIT') then
             begin
                WriteLn(MemoCommands.Lines[iCounter]);
                sReadBuf := ReadLn;
                ListServerInfo.Items.Add(sReadBuf);
                ButtonConnect.Enabled:=TRUE;
                ButtonSend.Enabled:=FALSE;
                ButtonClear.Enabled:=FALSE;
                Disconnect;
             end else
             begin
                WriteLn('ZipCode ' + MemoCommands.Lines[iCounter]);
                ListServerInfo.Items.Add(MemoCommands.Lines[iCounter]);
                sReadBuf := ReadLn;
                if sReadBuf = '' then       //如果返回的信息为空
                begin
                   sReadBuf := '对不起,该邮编不存在!';
                end;
                ListServerInfo.Items.Add(sReadBuf);
                ListServerInfo.Items.Add('');
             end;
           end;
         except Disconnect; end;
      end;
    except ButtonConnect.Enabled := true; end;
end;

procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
    ButtonConnect.Enabled:=FALSE;
    ButtonSend.Enabled:=TRUE;
    ButtonClear.Enabled:=TRUE;
    ListServerInfo.Items.Add(IdTCPClient1.readln);
end;

procedure TForm1.IdTCPClient1Disconnected(Sender: TObject);
begin
    ButtonConnect.Enabled:=TRUE;
    ButtonSend.Enabled:=FALSE;
    ButtonClear.Enabled:=FALSE;
end;

end.

⌨️ 快捷键说明

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