

| procedure TFormMain.BtnConnectClick(Sender: TObject); begin IdTCPClient.Host := EdtHost.Text; IdTCPClient.Port := StrToInt(EdtPort.Text); LbLog.Items.Add('正在连接 ' + EdtHost.Text + '...'); with IdTCPClient do begin try Connect(5000); try LbLog.Items.Add(ReadLn()); BtnConnect.Enabled := False; BtnSend.Enabled := True; BtnDisconnect.Enabled := True; except LbLog.Items.Add('远程主机无响应!'); IdTCPClient.Disconnect(); end;//end try except LbLog.Items.Add('无法建立到' + EdtHost.Text + '的连接!'); end;//end try end;//end with end; procedure TFormMain.BtnSendClick(Sender: TObject); begin LbLog.Items.Add('DATA ' + EdtData.Text); with IdTCPClient do begin try WriteLn('DATA ' + EdtData.Text); LbLog.Items.Add(ReadLn()) except LbLog.Items.Add('发送数据失败!'); IdTCPClient.Disconnect(); LbLog.Items.Add('同主机 ' + EdtHost.Text + ' 的连接已断开!'); BtnConnect.Enabled := True; BtnSend.Enabled := False; BtnDisconnect.Enabled := False; end;//end try end;//end with end; procedure TFormMain.BtnDisconnectClick(Sender: TObject); var Received: string; begin LbLog.Items.Add('QUIT'); try IdTCPClient.WriteLn('QUIT'); finally IdTCPClient.Disconnect(); LbLog.Items.Add('同主机 ' + EdtHost.Text + ' 的连接已断开!'); BtnConnect.Enabled := True; BtnSend.Enabled := False; BtnDisconnect.Enabled := False; end;//end try end; |