我使用delphi 2010.我需要用空格填充char数组而不是空值。我使用下面的代码不起作用。
procedure TForm1.FormCreate(Sender: TObject);
var
aCharArray: array[0..9] of Char;
begin
FillChar(aCharArray, sizeof(aCharArray), #32); // doesn't work
FillChar(aCharArray, sizeof(aCharArray), ' '); // doesn't work
Caption := aCharArray;
end;
标题印有奇怪的十字架。在一系列的ansichar中运作良好。
请让我知道原因和解决方案。
感谢。
答案 0 :(得分:10)
FillChar
在Unicode Delphi中错误命名。它应该真正命名为FillAnsiChar
。因此,您要使用序号为$2020
的UTF-16字符填充字符串,即U+2020 (DAGGER), †。
相反,您应该使用StringOfChar
:
Caption := StringOfChar(' ', 10);