Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: UDPSendBuffer(indy9): Binäre Daten in String buffer Send

  Alt 22. Mär 2008, 14:46
Zitat von Rifman:
Aber muss man jedes Byte manuell reinschreiben, gibt es keine andere Lösung, was ist wenn ich z.B. ein ganze "array[0..512] of byte" darein kopieren will?
Du kannst auch kopieren; man muss dann aber etwas aufpassen, denn dann wird's Low-Level & "Hardcore"

Delphi-Quellcode:
var
  buffer:array[0..511] of Byte;
  s : string;
begin
  // angenommen in buffer sind schon Daten
  SetLength(s, sizeof(buffer)); // Speicher reservieren
  // jetzt wird's Tricky
  // Move() nimmt eigentlich zwei Zeiger für Quelle und Ziel entgegen
  // man muss bei einem Array das 1. Element angeben
  // bei einem String beginnt die Zählung bei 1
  Move(buffer[0], s[1], sizeof(buffer));
Man muss bei Move() genau aufpassen, was man tut, sonst ist der Speicher kaputt -> Absturz droht
Am Besten, man verwendet nur AnsiStrings als Puffer für binäre Daten.
Das ist angenehmer als diese array of Byte.
  Mit Zitat antworten Zitat