//挺简单,主要是对控件的属性,事件的学习 。。。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls;
type
TForm1 = class(TForm)
ClientSocket: TClientSocket;
Button: TButton;
Button1: TButton;
procedure ButtonClick(Sender: TObject);
procedure ClientSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button1Click(Sender: TObject);
procedure ClientSocketConnecting(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ButtonClick(Sender: TObject);
begin
ClientSocket.Active:=False;
ClientSocket.Address:='127.0.0.1';
ClientSocket.Port:=137;
ClientSocket.Open;
end;
procedure TForm1.ClientSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage('连接成功,端口存在');
end;
procedure TForm1.ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage('断开连接');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket.Active := False; //关闭连接;
end;
procedure TForm1.ClientSocketConnecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage('正在连接...');
end;
procedure TForm1.ClientSocketError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ShowMessage('端口不存在,连接失败');
ErrorCode:=0; //注解这句代码,程序运行错误;添加这句代码,就不弹出错误提示框,我真的不知道,还要学习中。。。。
{在ClientSocket中,可以在OnError事件中捕捉错误,错误的类型定义在ErrorEvent里面。如果不想错误显示出来,直接在该事件中写ErrorCode:=0,那么错误将不被显示出来。在ServerSocket中,可以在OnClientError中捕捉,方法跟客户端一样}
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientSocket.Close;
end;
end.