2015-07-20 3 views
0

У меня есть проблема с турецкой I и капиталом I.Delphi xe5 FieldByName turkye я прописные

В turkye есть также пунктирная капитал I. Когда я посылаю FieldByName с строчным я не найду мое поле потому что на заднем плане функции покрывают его столицей, пунктирной I

Кто-нибудь знает обходной путь?

Эти 2 строки кода имеет разные результаты:

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

FieldByName использует 1-ый.

ответ

0

FieldByName находит совпадение, вызывая CompareText, используя локаль пользователя по умолчанию, с чувствительностью к регистру. CompareText - это функция, предоставляемая Windows.

Если CompareText говорит, что в нижнем регистр-I, и капитальное письмо-I-с-точка не совпадает, то ваш выбор:

[1] Использование капитала пунктирный я в вызове FieldByName , или

[2] Используйте язык, в котором эти два символа обрабатываются CompareText одинаково.

Смежные вопросы