![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ASCII читабельные символы
1______ © (2006-09-21 22:59:00)Необходимо проверить строку на наличие читабельных символов. Я думаю надо проверить по ascii таблице код символа.
Подскажите диапазоны ascii для проверке на читабельность русско-английских букв. Спасибо!
Ketmar (2006-09-22 08:48:00) [1]>[7] 1______ 22-Sep-XLI A.S., 08:44
>Спасибо! А ещё порекомендуйте, как побыстрее
>проверить строку на наличие читабельных символов.
а зачем "побыстрее"? ну, пиши на ассемблере, оптимизируй под каждый процессор руками и выбирай функцию в зависимости от процессора. оно тебе надо? никогда не ускоряй то, что не является узким местом. и даже если является -- не ускоряй, а попробуй придумать другой алгоритм и/или другую структуру данных.
1______ (2006-09-22 08:44:00) [2]Спасибо! А ещё порекомендуйте, как побыстрее проверить строку на наличие читабельных символов.
Ketmar (2006-09-22 00:25:00) [3]>[4] ProgRAMmer Dimonych 21-Sep-XLI A.S., 23:53
кстати, если быть точным, то цифирь и символы соотносятся слабо. берём, например, шрифт windings и долго медитируем.
Anatoly Podgoretsky (2006-09-22 00:25:00) [4]Нечитабельными считаются коды 0-31, 127
Остальные читабельные, но не все шрифты поддерживают полный набор.
ProgRAMmer Dimonych (2006-09-21 23:53:00) [5]Ну, я ведь нигде не давал 100%-ной гарантии...
Кстати, если верить программе charmap.exe из Win98, то никакого хлама между русскими буквами быть не должно. А откопал таблицу кодов ASCII (типа, DOS, так ведь?) - тоже никакой псевдографики, хотя сам прекрасно помню, что уж в DOS разрыв между 'п' и 'р' есть. Вот как бывает!
Ketmar (2006-09-21 23:38:00) [6]>[2] ProgRAMmer Dimonych 21-Sep-XLI A.S., 23:29
>таблице символов отдельной группой идут заглавные
>латинские, строчные латинские, заглавные русские,
>строчные русские, цифры.
внимательно осмотрел выведеную в окошко таблицу. цифры оказались в начале. между русскими обнаружился досадный мусор в виде рамочек.
ProgRAMmer Dimonych (2006-09-21 23:29:00) [7]Для получения кода символа есть функция Ord(). В таблице символов отдельной группой идут заглавные латинские, строчные латинские, заглавные русские, строчные русские, цифры. Поэтому
ShowMessage(IntToStr(Ord('0'))); {Первая цифра}
ShowMessage(IntToStr(Ord('9'))); {Последняя цифра}
ShowMessage(IntToStr(Ord('A'))); {Первая латинская заглавная}
ShowMessage(IntToStr(Ord('Z'))); {Последняя латинская заглавная}
ShowMessage(IntToStr(Ord('a'))); {Первая латинская строчная}
ShowMessage(IntToStr(Ord('z'))); {Последняя латинская строчная}
ShowMessage(IntToStr(Ord('А'))); {Первая русская заглавная}
ShowMessage(IntToStr(Ord('Я'))); {Последняя русская заглавная}
ShowMessage(IntToStr(Ord('а'))); {Первая русская строчная}
ShowMessage(IntToStr(Ord('я'))); {Последняя русская строчная}
Для получения кодов символов, видимых на экране и не относящихся к буквам и цифрам: пробел - код 32, ! - 33, дальше - не помню, но они до 65 (латинская A). Эксперимент с символами... Можно попробовать написать маленькую программку для вывода значений кодов и самих символов в виде таблицы на монитор или принтер...
Ketmar (2006-09-21 23:11:00) [8]самому вывести на экран и посмотреть? кстати, в ascii вообще нет "русских букв".