我有以下无法编译的代码片段:
procedure Frob(const Grob: WideString);
var
s: WideString;
begin
s :=
Grob[7]+Grob[8]+Grob[5]+Grob[6]+Grob[3]+Grob[4]+Grob[1]+Grob[2];
...
end;
Delphi5 提示
Incompatible types
。我尝试将其简化为:
s := Grob[7];
哪个有效,并且:
s := Grob[7]+Grob[8];
哪个没有。
我只能假设
WideString[index]
不返回 WideChar
。我试图强制事情成为
WideChars
:s := WideChar(Grob[7])+WideChar(Grob[8]);
但这也失败了:
脚注
5
: Delphi 5 最佳答案
Grob[7]
是一个 WideChar
;这不是问题。
问题似乎是 +
运算符不能对宽字符起作用。但它可以作用于宽字符串,任何宽字符都可以转换为宽字符串:
S := WideString(Grob[7]) + WideString(Grob[8]);
关于delphi - 如何通过索引访问WideString的字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10437144/