如何在delphi中發送多個十六進制代碼?例如, ,我需要發送到串行端口的十六進制碼是1B和40.如何將它發送到串行端口?我可以將十六進制代碼發送到串行端口,但只有一個十六進制代碼(如1B),我無法發送多個十六進制代碼。提前致謝。在delphi中發送多個十六進制代碼
我的代碼:
unit uSample;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo, Winsoft.Android.ComPort,
FMX.Edit, FMX.StdCtrls;
type
TForm1 = class(TForm)
AComPort1: TAComPort;
Memo1: TMemo;
Timer1: TTimer;
Button1: TButton;
Edit1: TEdit;
Open: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure OpenClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.Button1Click(Sender: TObject);
begin
AComPort1.Active := False;
AComPort1.DeviceName := Edit1.Text;
AComPort1.Active := True;
AComPort1.WriteUtf8(Memo1.Text);
AComPort1.WriteByte(Byte($0A));
end;
procedure TForm1.OpenClick(Sender: TObject);
begin
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var Text: string;
begin
end;
end.
您必須先清楚地瞭解問題,才能說明問題。你正在發送十六進制?這是文字。以16爲底的值的表示。或者您是否發送二進制字節?你明白'16 = 10美元'嗎?那麼,你是發送文本還是二進制文件?如何?你的代碼在哪裏? –
所以你不是試圖發送十六進制,你試圖發送二進制。如果你可以發送一個字節,你不能發送多個。很難看到你的問題是什麼。 –
我試過用$ 1B + $ 40和$ 1B $ 40發送它,但如果它只是一個像$ 0A這樣的代碼,它就可以工作。順便說一句,謝謝你的答案。 – dembers