//挺简单,主要是对控件的属性,事件的学习 。。。
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.
