DELPHI 10.3 IdTcpClient ANDROID发送数据(含十六进制)实例
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants, math,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.ScrollBox,
FMX.Memo, FMX.StdCtrls, FMX.Controls.Presentation, FMX.Edit, IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Memo1: TMemo;
Label1: TLabel;
IdTCPClient1: TIdTCPClient;
Button4: TButton;
CheckBox1: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure IdTCPClient1Connected(Sender: TObject);
procedure IdTCPClient1Disconnected(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{KaTeX parse error: Expected 'EOF', got '}' at position 8: R *.fmx}̲ {R *.NmXhdpiPh.fmx ANDROID}
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient1.Host := Edit1.Text;
IdTCPClient1.Port := STRTOINT(Edit2.Text);
if not IdTCPClient1.Connected THEN
begin
try
IdTCPClient1.Connect;
Memo1.Lines.Add(‘socke连接已经成功建立!’);
except
ShowMessage(‘连接失败,请检查连接设置!’);
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
try
IdTCPClient1.Disconnect;
Memo1.Lines.Add(‘socket连接已断开!’);
except
ShowMessage(‘断开连接时出错!’);
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Memo1.Lines.Clear;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
s_send, s_hex, s: string;
i, j: Integer;
begin
if IdTCPClient1.Connected then
begin
if CheckBox1.IsChecked then
begin
s_send := Edit3.Text;
j := length(s_send) div 2;
for i := 1 to j do
s_hex := s_hex + char(STRTOINT('$' + copy(s_send, (2 * i - 1), 2)));
IdTCPClient1.Socket.WriteLn(s_hex);
Memo1.Lines.Add('十六进制数据发送成功:' + s_hex);
end
else
begin
IdTCPClient1.Socket.WriteLn(Edit3.Text);
Memo1.Lines.Add('数据发送成功:' + Edit3.Text);
end;
end
else
Memo1.Lines.Add(‘远程服务器已经断开!’);
end;
procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
Memo1.Lines.Add(‘已连接到服务器!’);
end;
procedure TForm1.IdTCPClient1Disconnected(Sender: TObject);
begin
Memo1.Lines.Add(‘已经断开服务器’);
end;
end.