0

トルコ語の i と大文字の I に問題があります。

トルコ語には、ドット付きの大文字 I もあります。小文字の i で fieldbyname を送信すると、バックグラウンドで関数が大文字のドット付き I でそれをキャパレートするため、フィールドが見つかりません。

誰かが回避策を知っていますか?

次の 2 行のコードでは、結果が異なります。

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

fieldbyname は最初のものを使用します。

4

1 に答える 1

0

FieldByName は、大文字と小文字を区別せずに、ユーザーの既定のロケールを使用して CompareText を呼び出して一致を見つけます。CompareText は Windows が提供する機能です。

CompareText が小文字の I と大文字の I-with-dot が一致しないと言っている場合、次の選択肢があります。

[1] FieldByName への呼び出しで大文字のドット付き I を使用するか、または

[2] CompareText でこれら 2 つの文字が同じように扱われるロケールを使用します。

于 2015-07-21T18:44:22.903 に答える