【发布时间】:2010-01-23 17:53:39
【问题描述】:
这是另一个关于将旧代码转换为 D2009 和 Unicode 的问题。我确定这很简单,但我没有看到解决方案...... CharacterSet 是一组 Char,s[i] 也应该是一个 Char。 但是编译器仍然认为 AnsiChar 和 Char 之间存在冲突。
代码:
TSetOfChar = Set of Char;
procedure aFunc;
var
CharacterSet: TSetOfChar;
s: String;
j: Integer;
CaseSensitive: Boolean;
begin
// Other code that assign a string to s
// Set CaseSensitive to a value
CharacterSet := [];
for j := 1 to Length(s) do
begin
Include(CharacterSet, s[j]); // E2010 Incompatible types: 'AnsiChar' and 'Char'
if not CaseSensitive then
begin
Include(CharacterSet, AnsiUpperCase(s[j])[1]);
Include(CharacterSet, AnsiLowerCase(s[j])[1])
end
end;
end;
【问题讨论】:
标签: delphi unicode delphi-2009