![]() |
#6 |
Moderator
|
Win-строка АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ представляет собой в DOS-кодировке символы псевдографики (а также возможно букву "и").
Поэтому приходим к такому алгоритму: 1. Считываем строку, предполагая что она представлена в виде DOS-кодировки. 2. Преобразуем ее в UpperCase чтобы ограничить диапазон симвопов для проверки. 2. Перебираем символы этой строки. 3. Если код символа оказывается >=179 (символ начала последовательности псевдографики), то входная строка представлена в виде Win-кодировки. <div class='CALtop'>C/AL</div><div class='CAL'>IsDosEncoding(InStr: Text): Boolean BEGIN FOR i:=1 TO LENGTH(InStr) DO IF (InStr[i] in 176..223) THEN EXIT(TRUE); EXIT(FALSE); END;</div> |
|
|
За это сообщение автора поблагодарили: mira (1). |