Конференция "Прочее" » Пресловутая буква "Ч".
 
  • Тимохов Дима © (18.10.16 22:55) [0]
    Коллеги!

    1. Я все со своими вопросами, на которые не мог найти ответа в интернете.

    2. До сих пор пользуюсь Delph2007. Т.е. уникода нет.

    На одной из машин, к которой сотрудник нашей поддержки имеет доступ через Remote Desktop, обнаружил интересный эффект.

    Функция AnsiCompareText не срабатывает для операндов "ч" и "Ч". Т.е. не считает их равными. Другие буквы работают без проблем: "ф" равно "Ф", "е" равно "Е" и т.д. А вот с "Ч" - беда.

    Порылся в интернете. В принципе есть вопросы про особенность буквы "Ч". Но не в том ключе, в котором меня интересует (там что-то про SQL было).

    К машине напрямую доступ не имею. Могу только через сотрудника поддержки ставить эксперименты.

    3. ВОПРОС. Кто-то сталкивался с особенностями буквы "Ч" в неуникодных версиях дельфи?
  • Игорь Шевченко © (18.10.16 23:35) [1]
    А на других машинах ?
  • Eraser © (18.10.16 23:40) [2]

    > Тимохов Дима ©   (18.10.16 22:55) 


    > Т.е. уникода нет.

    unicode там есть, никто не запрещает использовать wide* функции, вместо ansi*.
  • Тимохов Дима © (18.10.16 23:54) [3]
    Коллеги!

    Готов признать, что не очень хорошо к вопросу подготовился. Не провел доп. исследований. Поэтому отвечать на детализирующие вопрос не вполне готов. Единственно могу сказать, что проблема больше нигде не проявлялась. Только на RDP на одном из компьютеров.

    Пока хотелось бы узнать - может "Ч" это какая-то особенная буква?
    Признаться, я не вижу в ней какой-то особенности. Может чего-то упускаю?

    Если буква "Ч" ничем не примечательна, то буду дальше копать. Проблема, как известно, может быть и не там, где роешь.
  • Германн © (19.10.16 01:04) [4]

    > 3. ВОПРОС. Кто-то сталкивался с особенностями буквы "Ч"
    > в неуникодных версиях дельфи?

    Покойный АП сталкивался с такой особенностью (не уверен что сам лично). Но дело касалось Парадокса.
    С AnsiCompareText вроде таких проблем не замечал и не слышал о таких.
    Одно могу добавить. AnsiCompareText работает с учетом current user locale.
  • L_G © (19.10.16 01:22) [5]
    первым делом глянуть в региональные настройки системы (язык программ, не поддерживающих юникод)

    "ч" и "Ч" особенные, если сопоставить ANSI 1251 (Cyrillic) и 1252 (Latin) - во второй на их месте - старинные знаки умножения и деления, а на месте других кириллических - латинские буквы с диакритикой, точно таким же образом распределенные по верхнему и нижнему регистрам, как и кириллица на их месте - ну, коме "Я" и "я" (с ними по идее должна быть та же проблема)

    для опытов попробуй сменить эту системную настройку у себя
  • Германн © (19.10.16 02:09) [6]

    > с ними по идее должна быть та же проблема

    И в Парадоксе это были синхронные проблемы.
  • iop © (19.10.16 21:07) [7]
    Удалено модератором
  • Inovet © (19.10.16 21:52) [8]
    Удалено модератором
  • sniknik © (20.10.16 08:17) [9]
    > попробуй сменить эту системную настройку у себя
    +
    был такой трюк "русификации" при каких то "проблемах", его кто советовал, кто наоборот отговаривал... сменить в реестре для страницы 1252 шрифты/отображение на 1251, получалось что при фактически одной странице кодировка другой.
    вот если такое делалось, то тоже проверить и сменить на правильное.
  • ВладОшин © (20.10.16 10:26) [10]

    > sniknik ©   (20.10.16 08:17) [9]

    афигеть )
    как только люди не извращались ..
    свинцовая пилюля в 9 грамм поможет тем советчикам )

    по сабжу
    не решай задачу, если возможно. Потому что .. потому. Есть пару компов, где нормально работает? Есть. Дальше проблема индейцев.
    У нас примерно 600 компов по всей стране, в т.ч. СНГ. Постоянно что-то такое вылезает. И сейчас 2 заявки висят. за вчера.
    Дошло до того, что в программу (чисто бизнес) встраивал логаторы всего. CPU, пинга, RDP, какие при этом процессы работают, и т.п.
    Пару раз админов ткнул, что у них антивирь с ума сходит - 98% CPU жрет, прога висит, юзер к програмерам с жалобой. Или коннект рвется (может стул перетер шнур), опять к програмерам...
    Главное и юзера понять можно - программа же не работает, а юзер совсем далек от этого, -  ну, все логично, же с его т.з. )

    в общем, не пишется же программа в 2х копиях для всех и вот для него персонально? Ну а раз нет, то и нет, начинаются   проблема индейцев.
  • Германн © (21.10.16 00:29) [11]

    > ВладОшин ©   (20.10.16 10:26) [10]

    Имхо, ты не совсем прав. Ибо не понял главное. Дима хочет понять с чем эта проблема связана (или чем вызвана). Если она действительно связана с настройками ОС, то тогда надо просто написать в документации пункт про настройки ОС. А если пользователь откажется выполнять эти настройки/соблюдать рекомендации по настройке, вот тогда это уже проблемы индейцев.
  • ВладОшин © (21.10.16 09:28) [12]

    > Германн ©   (21.10.16 00:29) [11]
    >

    Согласен )
    Я погорячился вчера.
  • SergeyIT © (21.10.16 23:22) [13]
    >тогда надо просто написать в документации пункт про настройки ОС.
    Можно добавить в программу проверку критичных установок в ОС, и показывать предупреждение.
    Хотя, некоторые установки можно и обходить.  Это, правда, увеличит работы по тестированию программы. Но ведь защиту от "дурака" никто не отменяет.
  • Германн © (22.10.16 01:05) [14]

    > SergeyIT ©   (21.10.16 23:22) [13]

    Да. Но сначала нужно знать какие настройки/установки проверять.
  • SergeyIT © (22.10.16 01:39) [15]
    Так программист на то и программист, чтобы знать, что проверять.... В противном случае надо менять профессию.
  • Германн © (22.10.16 02:04) [16]

    > SergeyIT ©   (22.10.16 01:39) [15]
    >
    > Так программист на то и программист, чтобы знать, что проверять.
    > ... В противном случае надо менять профессию.
    >

    Ну если ты программист и знаешь, то скажи в чём причина сей проблемы!
    В противном случае меняй профессию. :)
  • Тимохов Дима © (24.10.16 03:06) [17]
    Пока воспользовался советом Влада - не решать, если можно не решать.
    )))

    Будут теребить - буду думать.
 
Конференция "Прочее" » Пресловутая буква "Ч".
Есть новые Нет новых   [134431   +15][b:0][p:0.001]