Delphi, Copia stringa nell'array Byte
Domanda
quello che ho funziona, ma sto cercando se c'è un modo più veloce per copiare una stringa in un pByteArray
da sysutils
PByteArray = ^TByteArray;
TByteArray = array[0..32767] of Byte;
presuppone che a e s siano impostati correttamente
a: pByteArray;
s: string;
c'è un modo rapido per farlo, cioè qualcosa come copia
for i := 1 TO Length(s) - 1 do
a^[i] := Ord(s[i]);
delphi 7
Soluzione
Attenzione usando lo spostamento. Se si utilizza Delphi 2009, potrebbe non riuscire. Invece, usa questo:
Sposta (s [1], a ^, Length (s) * SizeOf (Char));
È inoltre possibile utilizzare la classe TEncoding in SysUtils.pas (solo Delphi 2009/2010 ++) per eseguire l'attività.
Altri suggerimenti
non importa, l'ho trovato
Move(s[1], a^, Length(s));
Puoi semplicemente lanciarlo:
a := @s[1];
Il contrario è:
s := PChar(a);
Penso che puoi usare la procedura move
proprio come in questa esempio
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow