Frage

, was ich habe funktioniert, aber im suchen, wenn es ein schneller Weg, um eine Zeichenfolge in eine pByteArray

kopieren

von 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

War es hilfreich?

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
scroll top