Вверх ↑
Ответов: 2059
Рейтинг: 132
#1: 2018-01-12 20:03:26 ЛС | профиль | цитата
а твой фикс учитывает только ascii и ломает код для utf.

Тогда совсем не понятно, почему в одних местах это учтено, а в других нет?
Как-то середина на половину.
Тогда убрать из других функций поддержку кириллицы и написать "Только для латиницы".
Пол дня угробил, пока не понял, что не я что-то не так делаю, а выражения работают через один.
ломает код для utf
Код не ломается, а работает для utf, как до исправления.(сейчас проверил)
utf практически не использую, по этому не обратил внимания.


Чтобы проверить, где бы компоненты найти, работающие с utf.
Хотя бы Edit.
Add(Charset,6568922,448,616)
{
Type=7
}


для юникода, но надо где-то делать выбор между рус\lat

{$IFDEF UniCode}
RusRangeLo : array [0 .. 33] of REChar =
(#$430,#$431,#$432,#$433,#$434,#$435,#$451,#$436,#$437,
#$438,#$439,#$43A,#$43B,#$43C,#$43D,#$43E,#$43F,
#$440,#$441,#$442,#$443,#$444,#$445,#$446,#$447,
#$448,#$449,#$44A,#$44B,#$44C,#$44D,#$44E,#$44F,#0);
RusRangeHi : array [0 .. 33] of REChar =
(#$410,#$411,#$412,#$413,#$414,#$415,#$401,#$416,#$417,
#$418,#$419,#$41A,#$41B,#$41C,#$41D,#$41E,#$41F,
#$420,#$421,#$422,#$423,#$424,#$425,#$426,#$427,
#$428,#$429,#$42A,#$42B,#$42C,#$42D,#$42E,#$42F,#0);
RusRangeLoLow = #$430{'а'};
RusRangeLoHigh = #$44F{'я'};
RusRangeHiLow = #$410{'А'};
RusRangeHiHigh = #$42F{'Я'};
{$ELSE}
RusRangeLo = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
RusRangeHi = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
карма: 6

0
Редактировалось 10 раз(а), последний 2018-01-12 21:47:18