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>
|