From a long time ago: [WayBack] chr equivalent for Unicode in Delphi 7 – Stack Overflow answered by David Heffernan:
Q
I need to initialize a Widestring in Delphi 7 but I can’t use
chr
function which is ANSIvar ws : Widestring; begin ws := chr($FFFF) + chr($FFFF) + chr($FFFF); end;
What can I use, then ?
A
I’m not sure there’s a simply way to do what you wish. You can convert a
Word
into aWideChar
with a simple cast:WideChar($FFFF)
but you cannot concatenate
WideChar
. So this is a compiler error:WideChar($FFFF) + WideChar($FFFF)
You could use a helper function to get the job done:
function InitialiseWideString(const chars: array of Word): WideString; var i: Integer; begin SetLength(Result, Length(chars)); for i := 0 to high(chars) do Result[i+1] := WideChar(chars[i]); end;
Then you can call it like this:
ws := InitialiseWideString([$0054, $0069, $006D, $0065, $0020, $0074, $006F, $0020, $0075, $0070, $0067, $0072, $0061, $0064, $0065]);
–jeroen