Показать сообщение отдельно
Старый 08.08.2005, 15:34   #6  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
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).