Delphi, Copy string to Byte array
29,679
Solution 1
Beware using the Move. If you are using Delphi 2009, it may fail. Instead, use this:
Move(s[1], a^, Length(s) * SizeOf(Char));
You may also use class TEncoding in SysUtils.pas (Delphi 2009/2010++ only) to perform the task.
Solution 2
You can simply cast it:
a := @s[1];
The other way around is:
s := PChar(a);
Solution 3
never mind, found it
Move(s[1], a^, Length(s));
Solution 4
I think you can use move
procedure just like in this example
Author by
Christopher Chase
OO Languages (Delphi/FPC) Databases (NexusDB/MySQL/MSSQL) FreeBSD GUI design Object-Relational Mapping with PropelORM Programming for Android Publish and Subscribe servers, noticeably Elvin
Updated on July 09, 2022Comments
-
Christopher Chase almost 2 years
what i have works, but im looking if there is a faster way to copy a string into a pByteArray
from sysutils
PByteArray = ^TByteArray; TByteArray = array[0..32767] of Byte;
assume a and s are setup correctly
a: pByteArray; s: string;
is there a fast way to do this, ie something like copy
for i := 1 TO Length(s) - 1 do a^[i] := Ord(s[i]);
delphi 7