Delphi xe5 fieldbyname turkye i 大写

Delphi xe5 fieldbyname turkye i uppercase

我对土耳其语 i 和大写 I 有疑问。

在土耳其语中也有一个带点的大写字母 I。当我发送一个带小写字母 i 的字段名时,它不会找到我的字段,因为在后台函数将它与大写字母 I

有人知道解决方法吗?

这两行代码有不同的结果:

  showmessage(s.ToUpper);
  showmessage(uppercase(s));

fieldbyname 使用第一个。

FieldByName 通过使用用户的默认区域设置调用 CompareText 来找到匹配项,不区分大小写。 CompareText是Windows.

提供的函数

如果 CompareText 说小写字母 I 和带点的大写字母 I 不匹配,那么您的选择是:

[1] 在调用 FieldByName 时使用大写字母 I,或者

[2] 使用 CompareText 将这两个字符视为相同的语言环境。