Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.09.05;
Скачать: [xml.tar.bz2];

Вниз

Приколы с AnsiSameText   Найти похожие ветки 

 
harisma ©   (2010-06-07 18:06) [0]

В процессе своей работы столкнулся с таким приколом:
Оказывается, если в Винде в языковых настройках установлен "Украинский" язык, то если при помощи этой функции сравниваются 2 строки в которых есть мягкий знак (а может и какие другие специфичные буквы - я не проверял), сами строки абсолютно идентичны, но находятся в разных регистрах (собственно согласно документации для этой функции это не проблема, так как функция регистронезависима), то результат будет ОТРИЦАТЕЛЬНЫЙ!!! То есть:
AnsiSameText("ФИСКАЛЬНЫЙ БЛОК", "Фискальный блок") = False!!!

Кто с таким стыкался и какие есть решения этой проблемы (кроме приведения сравниваемых строк к одному регистру, скажем верхнему или нижнему)?

Спасибо.


 
Медвежонок Пятачок ©   (2010-06-07 18:23) [1]

а что скажет AnsiCompareText ?


 
Игорь Шевченко ©   (2010-06-07 18:42) [2]

Чему тут удивляться ?

 Result := CompareString(LOCALE_USER_DEFAULT, NORM_IGNORECASE, PChar(S1),
   Length(S1), PChar(S2), Length(S2)) - 2;

для украинской страницы при LOCALE_USER_DEFAULT преобразование выполняется одним образом, для китайской, скажем, другим, для немецкой
ß и ss в каком-то случае значат одно и то же.


 
Leonid Troyanovsky ©   (2010-06-07 18:49) [3]


> Игорь Шевченко ©   (07.06.10 18:42) [2]

> Чему тут удивляться ?

Скрипач оранжевый от зеленого отличить не может.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2010-06-07 18:56) [4]

> harisma  (07.06.2010 18:06:00)  [0]

Смешаны буквы латинского и русского языка.


 
Leonid Troyanovsky ©   (2010-06-07 18:57) [5]


> Anatoly Podgoretsky ©   (07.06.10 18:56) [4]

> Смешаны буквы латинского и русского языка.

И украинского тож.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2010-06-07 19:26) [6]

> Leonid Troyanovsky  (07.06.2010 18:57:05)  [5]

Украинского языка нет.
Это расширение русского, кодовой страницы 1251


 
Leonid Troyanovsky ©   (2010-06-07 19:46) [7]


> Anatoly Podgoretsky ©   (07.06.10 19:26) [6]

> Украинского языка нет.

Не повезло.

--
Regards, LVT.


 
harisma ©   (2010-06-08 11:12) [8]

Ну, ваше мнение понятно. Благодарствую. А как насчет второй части моего вопроса? Как можно решить данную проблему кроме как приведя сравниваемые строки к одному регистру?


 
Игорь Шевченко ©   (2010-06-08 11:28) [9]


> Как можно решить данную проблему кроме как приведя сравниваемые
> строки к одному регистру?


Вызвать CompareString с нужной локалью


 
программер   (2010-06-08 14:52) [10]

AnsiSamestr?


 
ASCII   (2010-06-08 16:53) [11]

Удалено модератором


 
Anatoly Podgoretsky ©   (2010-06-08 17:12) [12]

> ASCII  (08.06.2010 16:53:11)  [11]

KOI8-U это тоже раширение KOI8-R, где R это рашен, уже не кирилица.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.09.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
2-1276170937
linox
2010-06-10 15:55
2010.09.05
ADO ACCESS связанные таблицы просмотр инфо


2-1276234656
ruslan_as
2010-06-11 09:37
2010.09.05
Не могу получить значение


4-1239772550
SPeller
2009-04-15 09:15
2010.09.05
Как достоверно определить что программа запущена как сервис?


15-1276189342
turbouser
2010-06-10 21:02
2010.09.05
Купил монитор :(


15-1276349218
HRustBB
2010-06-12 17:26
2010.09.05
здесь любой может писать от моего имени?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский