Загрузка не удалась. Возможно, проблемы с правами доступа?
мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| pascal:graph [29/01/2016 05:59] – ybezrukov | pascal:graph [05/10/2018 05:39] (текущий) – ybezrukov | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ===== Графика в Паскале ===== | ===== Графика в Паскале ===== | ||
| - | FIXME | ||
| - | |||
| - | Пример работы с графикой в системе Borland (что тоже самое - Turbo) Pascal: | ||
| - | |||
| - | <code pascal> | ||
| - | USES GRAPH; | ||
| - | |||
| - | VAR h,k,l: INTEGER; | ||
| - | |||
| - | BEGIN | ||
| - | | ||
| - | |||
| - | | ||
| - | | ||
| - | |||
| - | | ||
| - | If h<>0 then // Реакция на ошибку запуска графики | ||
| - | begin | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | end | ||
| - | else ... ; // Здесь - код для работы с графикой | ||
| - | |||
| - | | ||
| - | |||
| - | END. | ||
| - | </ | ||
| - | |||
| Пример работы с графикой в нашей системе. | Пример работы с графикой в нашей системе. | ||
| Строка 274: | Строка 244: | ||
| + | ==== Работа с клавиатурой ==== | ||
| + | |||
| + | В графическом режиме обработка событий клавиатура происходит очень похоже на текстовый режим, так как реализованы аналоги функций readkey и keypressed из модуля crt. В модуле oglgraph они называются graphreadkey и graphkeypressed. Функция graphkeypressed служит для определения события нажатия на клавиатуру, | ||
| + | |||
| + | <code pascal> repeat until graphkeypressed;</ | ||
| + | |||
| + | Когда выполнение программы доходит до приведенной строки, | ||
| + | |||
| + | Функция graphreadkey так же реагирует на нажатия, | ||
| + | |||
| + | <code pascal> code := graphreadkey;</ | ||
| + | |||
| + | |||
| + | Особенностью это функции является то, что она блокирует исполнение программы до того момента пока не будет нажата клавиша. Если же требуется реализовать работу с клавиатурой, | ||
| + | |||
| + | <code pascal> | ||
| + | if graphkeypressed then | ||
| + | code := graphreadkey; | ||
| + | </ | ||
| + | |||
| + | Напишем программу, | ||
| + | |||
| + | <code pascal> | ||
| + | uses oglgraph; | ||
| + | var | ||
| + | gd, gm, code: smallint; | ||
| + | | ||
| + | begin | ||
| + | gd := Detect; | ||
| + | gm := DetectMode; | ||
| + | initgraph(gd, | ||
| + | | ||
| + | while true do | ||
| + | begin | ||
| + | if graphkeypressed then | ||
| + | begin | ||
| + | code := graphreadkey; | ||
| + | writeln(code); | ||
| + | | ||
| + | end; | ||
| + | closegraph; | ||
| + | end. | ||
| + | |||
| + | </ | ||