我需要在Delphi 7初始化WideString的,但我不能使用chr
函數,它是ANSICHR相當於對Unicode在Delphi 7
var
ws : Widestring;
begin
ws := chr($FFFF) + chr($FFFF) + chr($FFFF);
end;
我可以使用什麼呢?
謝謝
我需要在Delphi 7初始化WideString的,但我不能使用chr
函數,它是ANSICHR相當於對Unicode在Delphi 7
var
ws : Widestring;
begin
ws := chr($FFFF) + chr($FFFF) + chr($FFFF);
end;
我可以使用什麼呢?
謝謝
我不確定有一種簡單的方法來做你想做的事。你可以轉換一個Word
爲WideChar
用一個簡單的轉換:
WideChar($FFFF)
,但你不能連接WideChar
。所以這是一個編譯器錯誤:
WideChar($FFFF) + WideChar($FFFF)
你可以使用一個輔助函數來完成這項工作:
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;
然後,你可以這樣調用:
ws := InitialiseWideString([$0054, $0069, $006D, $0065, $0020, $0074, $006F,
$0020, $0075, $0070, $0067, $0072, $0061, $0064, $0065]);
謝謝大衛。 – user382591 2013-02-18 09:17:52
找到復活節彩蛋:「升級時間」:-)。 – 2013-02-20 21:37:52
@tz。啊,很高興知道這不是一無是處! – 2013-02-20 21:42:59
我不這裏有一個Delphi編譯器,但不能在字符串中使用類似'#$ ...'字符常量的東西嗎?順便說一下,U + FFFF是Unicode中的非法字符;不要使用它。 – 2013-02-18 09:02:18