Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 вообще нет "русских букв".


Наверх

Титульная страница Поиск, карта сайта Написать письмо