Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Коды символов

Кодовой (кодированной) таблицей персонального компьютера называют таблицу, в которой представлены символы и соответствующие им коды (т.е. представление символов внутри компьютера). Большая часть символов кодовой таблицы составляет алфавит языка Турбо Паскаль, т.е. символы, из которых конструируются значения, имена, выражения и операторы этого языка.

Другая часть символов (в том числе символы алфавита русского языка) не входят в алфавит Турбо Паскаля. Поэтому нельзя, например, использовать русские имена для обозначения имен переменных. Но их можно использовать как значения данных строкового типа.

Бывает полезно знать коды символов. Для определения кода символа имеется стандартная функция Ord(C: char): byte, которая по символу выдает его номер в кодовой таблице. Определена также обратная к ней функция Chr(X: byte): char, которая выдает по номеру символ. Символ кодовой таблицы можно также определить по его номеру в ней, задав перед номером (от 0 до 255) знак '#'.

Символы упорядочены (в соответствии с их номерами в кодовой таблице), поэтому символьный тип char является порядковым типом, т.е. для его значений определены стандартные функции Pred и Succ, определяющие соответственно предыдущее и следующее значения для заданного аргумента этих функций.

 

Использование управляющих клавиш

На клавиатуре компьютера представлены как символьные, так и управляющие клавиши. Символьные клавиши при их нажатии возвращают одно значение (простой код), а управляющие - два значения (расширенный код). К управляющим клавишам относятся функциональные клавиши F1...F10, клавиши управления курсором, клавиши Enter, Insert, Home, Esc и др.
           
Ввести и распознать код любой из символьных или управляющих клавиш можно с помощью функций ReadKey и KeyPressed модуля Crt.

Функция ReadKey в определенном смысле является альтернативой процедуре Read. Она считывает символ с клавиатуры и возвращает значение типа char. Чтение символа не сопровождается его отображением на экране дисплея, что бывает полезно при организации более гибкого интерфейса, например, для работы с меню.

Функция KeyPressed возвращает значение true, если была нажата какая-либо клавиша, и false в противном случае. С помощью этих функций можно анализировать нажатие различных клавиш и связывать с каждой из них (или с некоторым их набором) определенные действия программы.

При нажатии клавиши ее "расширенный" код помещается в клавиатурный буфер. Для любой алфавитно-цифровой клавиши (символ языка Паскаль) расширенный код совпадает с ASCII-кодом данного символа. При нажатии управляющей клавиши в буфер клавиатуры помещается двухбайтовая последовательность, содержащая символ #0 (признак) и код клавиши. Чтение информации из буфера осуществляется функцией ReadKey, которая возвращает значение кода. Если это значение равно #0 (признак управляющей клавиши), то для получения второго байта ReadKey должна быть применена еще раз.

Разработка качественного пользовательского интерфейса невозможна без использования функций ReadKey и KeyPressed для анализа нажатия управляющих клавиш. Например, клавиши управления курсором (<—, Т, -I, -») удобно использовать для организации работы с горизонтальным и вертикальным меню и для табличного ввода информации. Такой интерфейс используют многие из рассматриваемых ниже программ, особенно работающие в графическом режиме.

 

Использование случайных чисел в качестве входных данных

Исходные данные (чаще всего при тестировании программы) могут быть получены в самой программе путем вызова стандартных подпрограмм, генерирующих случайные числа. Укажем, как использовать их.

Процедура Randomize инициализирует генератор случайных чисел в зависимости от показания системных часов. Ее рекомендуется размещать перед той частью программы, в которой будет происходить запрос на получение случайных чисел. Функция Random(Range) формирует случайное число целого типа из диапазона [0, Range). Если параметр функции не задан, то генерируется случайное число вещественного типа в диапазоне [0.0, 1.0).

Используя функцию Random, можно порождать случайные данные других типов и диапазонов, в частности, символьные (используя случайное целое в качестве номера символа в кодовой таблице).




 

Комментарии:

08.11.2014 ответил 123

213



27.01.2022 ответил фысфсф

пфап




Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru