Delphi, Copy Zeichenfolge Byte-Array
Frage
, was ich habe funktioniert, aber im suchen, wenn es ein schneller Weg, um eine Zeichenfolge in eine pByteArray
kopierenvon sysutils
PByteArray = ^TByteArray;
TByteArray = array[0..32767] of Byte;
annehmen a und s sind richtig eingerichtet
a: pByteArray;
s: string;
gibt es einen schnellen Weg, dies, also so etwas wie Kopie zu tun
for i := 1 TO Length(s) - 1 do
a^[i] := Ord(s[i]);
delphi 7
Lösung
Vorsicht vor dem Verschieben verwenden. Wenn Sie mit Delphi 2009, kann es fehlschlagen. Verwenden Sie stattdessen dies:
Move (s [1], a ^, Länge (n) * SizeOf (Char));
Sie können auch Klasse TEncoding in SysUtils.pas (Delphi 2009/2010 ++ nur) verwenden, um die Aufgabe zu erfüllen.
Andere Tipps
nie Verstand, fand es
Move(s[1], a^, Length(s));
Sie können einfach werfen:
a := @s[1];
Die andersrum ist:
s := PChar(a);
Ich glaube, Sie move
Prozedur wie in diesem Beispiel
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow