procedure TForm1.Button1Click(Sender: TObject); var Command:myrecord; begin if CheckBox1.Checked then begin command.Flag := 0; command.Text := 'This is Text'; end else begin command.Flag := 1; //初始化数组
procedure TForm1.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); var rec:myrecord; i: integer; begin Socket.ReceiveBuf(rec,Socket.ReceiveLength); if rec.Flag = 0 then Edit2.Text := rec.Text else begin for i := Low(rec.myArray) to High(rec.myArray) do ComboBox1.Items.Add(IntToStr(rec.myarray[i])) end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;
type myrecord = record
Flag:Integer;
Text:String;
myArray:array[0..10] of Integer;
end;
type
TForm1 = class(TForm)
ServerSocket: TServerSocket;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
CheckBox1: TCheckBox;
ClientSocket: TClientSocket;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var Command:myrecord;
begin
if CheckBox1.Checked then
begin
command.Flag := 0;
command.Text := 'This is Text';
end
else
begin
command.Flag := 1;
//初始化数组
end;
ClientSocket.Socket.SendBuf(Command,SIZEOF(Command));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket.Active := true;
ClientSocket.Active := true;
end;
procedure TForm1.ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var rec:myrecord;
i: integer;
begin
Socket.ReceiveBuf(rec,Socket.ReceiveLength);
if rec.Flag = 0 then
Edit2.Text := rec.Text
else
begin
for i := Low(rec.myArray) to High(rec.myArray) do
ComboBox1.Items.Add(IntToStr(rec.myarray[i]))
end;
end;
end.