RELEASE WINDOWS kadr
<paбoтa только с экраном, окно удалено>
Клавишные функции позволяют создавать задержки в программе и выявлять нажатия клавиш. С помощью этих функций можно организовывать диалог пользователя в программе.
1) INKEY([[<вырN>][,<вырС>]]) - выдает ASCII - код (от 0 до 255) последней клавиши, нажатой на клавиатуре. Если нажатия не было, вырабатывается код 0. Необязательный параметр <вырN> указывает число секунд, в течение которых ожидается нажатие клавиши для продолжения программы. Если <вырN>=0, ожидание будет неограниченным. Если <вырN> опущено, функция сработает немедленно.
Параметр <вырС> управляет включением/выключением курсора и выявлением нажатия кнопки мыши. Для включения курсора в <вырС> указывается символ S, для отключения - Н. Для контроля нажатия кнопки мыши используется символ М, и при этом функция будет возвращать число 151. Допускается сочетание символов М и S/Н. Функция удобна для организации передачи управления внутри программы. Она может быть помещена непосредственно в циклы.
(см. ReadKey – Pascal)
Функцию можно использовать и для задания пауз установленной длины, например,
паузы в 20 секунд: = inkey(20)
2)LASTKEY() - выдает ASCII - код последней клавиши, нажатой на клавиатуре. Возвращаемые коды совпадают с кодами INKEY().В отличие от INKEY(), функция LASTKEY() не меняет содержимого буфера клавиатуры.
3)KEYBOARD(<вырС>) - заносит символы <вырС> в буфер клавиатуры.
Пример.
KEYBOARD('ABC')
?INKEY(), LASTKEY(), INKEY(), LASTKEY(), INKEY(), LASTKEY()
65 66 66 67 67 0
Здесь числа 65,66,67 являются кодами букв A,B,C. Таблица LASTKEY() и INKEY() - кодов клавиш.
Клавиши |
+Shift |
+Ctrl |
Alt |
Клавиши |
+Shift |
+Ctrl |
Alt |
||||
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j |
28 -1 -2 -3 -4 -5 -6 -7 -8 -9 133 134 49 50 51 52 53 54 55 56 57 48 97 98 99 100 101 102 103 104 105 106 |
84 85 86 87 88 89 90 91 92 93 135 136 33 64 35 36 37 94 38 42 40 41 65 66 67 68 69 70 71 72 73 74 |
94 95 96 97 98 99 100 101 102 103 137 138 - 33 - - - 30 - - - - 1 2 3 4 5 6 7 8 9 10 |
10 10 10 10 10 10 11 11 11 11 13 14 12 12 12 12 12 12 12 12 12 1 3 4 4 3 1 3 3 3 2 3 |
k l m n o p q r s t u v w x y z INS HOME DEL END PGUP PGDN UP RIGHT LEFT DOWN ESC ENTER BACKSP TAB SPACE |
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 22 1 7 6 18 3 5 4 19 24 27 13 127 9 32 |
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 22 1 7 6 18 3 5 4 19 24 27 13 127 9 32 |
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 146 29 149 23 31 30 141 2 26 145 27 10 127 148 32 |
3 3 3 4 2 2 1 1 3 2 3 4 1 4 2 4 16 15 16 15 16 15 15 15 16 16 2 1 16 3 |
||
П р и м е р. Разработать программу, выводящую в верхний левый угол экрана окно размером 5*25. Программа должна предоставить возможность пользователю с помощью мыши: закрыть окно, изменить размер окна, переместить окно,
увеличить окно на весь экран и вернуть к прежнему размеру.Кроме того,
программа должна реагировать на клавиши:
- Esc - выход из программы;
- Right - увеличить размер окна по горизонтали;
- Down - увеличить размер окна по вертикали.
k=10
kk=30
do while .t.
define window ddd from 5,5 to k,kk title "sss" system ;
grow zoom close float fill '+' minimize color scheme 10 footer "hhh"
activate window ddd
* Очистка буфера клавиатуры
keyboard CHR(0)
* Режим диалога
c=inkey(0)
do case
case c=27
deactivate window ddd
release window
exit
case c=4 && right
if kk<60
kk=kk+2
deactivate window ddd
release window
endif
case c=24 && down
if k<50
k=k+5
deactivate window ddd
release window
endif
endcase
enddo
Замечание 1. В случае использования встроенных окон внутренним окном м.б.Browse-окно.
DEFINE WINDOW kadr FROM 3,4 TO 20,50 TITLE 'kadr';
CLOSE FLOAT GROW SHADOW ZOOM
USE kad
ACTIVATE WINDOW kadr
Browse
DEACTIVATE WINDOW kadr
RELEASE WINDOWS kadr
1) заливка окон из файла:
Опция [FILL file <Имяфайла>]
Пример 1
DEFINE WINDOW kadr FROM 3,4 TO 20,50 TITLE 'kadr';
fill file "07.bmp"
ACTIVATE WINDOW kadr
wait
DEACTIVATE WINDOW kadr
RELEASE WINDOWS kadr
Пример 2
define window dd at 0,0 size 50,200 IN DESKTOP ;
nozoom double FONT "MS Sans Serif", 8 fill file &file4
activate window dd
.........
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.