Einzelnen Beitrag anzeigen

Grizu

Registriert seit: 22. Aug 2016
20 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Indy 10 client <STX>Daten<ETX> senden

  Alt 30. Aug 2016, 11:20
Hi,

erst mal danke für eure Ideen.

Also:
Delphi-Quellcode:
s[0] := #2; // STX
 s[i1] := #3; // ETX
Dann kommt die Fehlermeldung inkompatible Typen, weil s ein TiDBytes ist.

Delphi-Quellcode:
var
   Daten: string;

 msc_client.IOHandler.Write(chr(2) + Daten + chr(3));
Ist eine gute Idee, aber hier kompiliert er auch nicht. Wieder Fehlermeldung inkompatible Typen.

Ich war der Meinung das
Delphi-Quellcode:
s[0] := 2; // STX
 s[i1] := 3; // ETX
die richtige Rahmung ist. Aber anscheinend nimmt der Server das nicht an........
Ich versuch es mal weiter, aber danke euch für den Input.

hier nochmal der code mit der variablen Deklaration:
ich habe das s mal gegen BBytes ersetzt. Ist richtig s ist doof für ein Bytearray, sollte man nicht machen.

Delphi-Quellcode:
procedure TMain_Frm.btn_interface_msc_sendClick(Sender: TObject);
var
BBytes : TIDBytes;
dat, dattmp : String;
character : Char;
b : Byte;
i, a, i1, i2 : Integer;
begin
a := Length(txt_interface_msc_sendstring.text);
dat := txt_interface_msc_sendstring.text;

i1 := 1;
i2 := 1;
setlength(BBytes, i1);

BBytes[0] := 2; // STX


for i := 1 to a do begin
i1 := i1 + 1;
setlength(BBytes, i1);
BBytes[i1] := ord(dat[i2]);
i2 := i2 + 1;
end;

i1 := i1 + 1;
setlength(BBytes, i1);
BBytes[i1] := 3; // ETX

msc_client.IOHandler.Write(BBytes);
end;//*****************************************************************************************************************************************
  Mit Zitat antworten Zitat