Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Clarion Programming / Доступ к экрану и клавиатуре

.htm
Скачиваний:
23
Добавлен:
02.05.2014
Размер:
69.28 Кб
Скачать

Доступ к экрану и клавиатуре     Поиск Рубрикатор Форумы Новости сервера Учебный центр Книжный магазин Авторам Море(!) аналитической информации! :: CITFORUM.RU Вы можете приобрести полную версию сайта на CD-ROM CITFORUM.RU >>> ПРОГРАММИРОВАНИЕ      [http://www.citforum.ru/programming/clarion/cla_7.shtml]

Скоро! Восьмая техническая конференция

"Корпоративные базы данных 2003"

Москва, 17-18 апреля 2003 года

Компания Microsoft приглашает вас посетить бесплатный семинар

"День разработчика 2003",

который пройдет 11 марта в Санкт-Петербурге,

13 марта - в Екатеринбурге, 18 марта - в Киеве.

Cпешите зарегистрироваться! Количество мест ограничено! ГЛАВА 7 - ДОСТУП К ЭКРАНУ И КЛАВИАТУРЕ Видеопроцедуры BLANK (очистить прямоугольник на экране) Коды цветовых стилей (видеоатрибуты) PAINT (закрасить прямоугольник на экране) SCROLL (прокрутить прямоугольную область экрана) SETBLINK (разрешить мигание) SETCOLOR (установить видеоатрибуты) SETCURSOR (включить курсор) SETGRAPHIC (установить графический режим) SETMOUSE (позиционировать курсор мышки) SETNOBLINK (запретить мигание) SETTEXT (установить размер экрана в текстовом режиме) SHOW (показать на экране) TYPE (вывести строку на экран)

Видеофункции BACKCOLOR (возвращает цвет фона) COLOR (возвращает код цветового стиля) FORECOLOR (возвращает цвет текста) GRAPHIC (возвращает текущий видеорежим) LOOK (считать символ(ы) с экрана) MAKECOLOR (возвращает код цветового стиля) MOUSECOL (X-координата мышки) MOUSEROW (Y-координата мышки)

Процедуры клавиатуры ALIAS (установить альтернативный код клавиши) ASK (получить один символ) PRESS (поместить символ в буфер клавиатуры) SETKEYCODE (задать код клавиши)

Функции клавиатуры ENTRY (возвращает введенное с клавиатуры) KEYBOARD (возвращает ожидающее нажатие на клавишу) KEYCODE (возвращает код клавиши завершения поля)

ВИДЕОПРОЦЕДУРЫ BLANK (очистить прямоугольник на экране) BLANK([строка][,столбец][,строк][,столбцов])

строка Числовое значение или выражение, которое задает строку для начального (верхнего левого) угла. По умолчанию - 1. столбец Числовое значение или выражение, которое задает столбец для начального (верхнего левого) угла. По умолчанию - 1. rows Числовое значение или выражение, которое задает число строк в прямоугольнике. По умолчанию - вся высота экрана. columns Числовое значение или выражение, которое задает число столбцов. По умолчанию вся ширина экрана (структуры SCREEN). BLANK удаляет все символы из прямоугольной области на экране. НО BLANK не очищает активные видеоатрибуты-цвета. Ранее активизированные атрибуты PAINT структуры SCREEN и/или оператора SETCOLOR могут повлиять на цвета в прямоугольнике. Пример: BLANK !Очистить весь экран BLANK(1,1,12,80) !Верхнюю половину экрана BLANK(1,41,12,40) !Верхнюю правую четверть См. также: SETCOLOR, PAINT Коды цветовых стилей (видеоатрибуты) Каждое знакоместо в видеопамяти состоит из двух байт; один данные (символ) и второй - видеоатрибуты. Байт видеоатрибутов содержит трехбитный цвет фона, бит мигания/яркости и четырехбитный цвет переднего плана (текста). Эти биты скомпонованы в одно байтный код цветового стиля с возможными значениями 0..255, который задает комбинацию цветов фона/текста. Бит мигания может служить битом яркости фона при помощи процедуры SetNoBlink. При запрещенном мигании, для фона можно использовать те же 16 цветов, что и для текста. Если же мигание разрешено, то для фона можно использовать только 8 цветов, а остальные 8 будут приводить к миганию текста. Код цветового стиля получается сложением значений фона и текста. В нижеследующей таблице приведены значения, используемые для создания кодов цветовых стилей. Монохром Передний план Фон Dec Hex Цвет Dec Hex Цвет --- --- ---- --- --- ---- 0 0h Черный 0 0h Черный 1 1h Белый Подчеркн. 16 10h Черный 2 2h Белый 32 20h Черный 3 3h Белый 48 30h Черный 4 4h Белый 64 40h Черный 5 5h Белый 80 50h Черный 6 6h Белый 96 60h Черный 7 7h Белый 112 70h Белый 8 8h Серый 9 9h Ярко-Белый Подчеркн. Добавь 128 (80h) к цвету 10 0Ah Ярко-Белый фона, чтобы получить ми- 11 0Bh Ярко-Белый гающий текст. 12 0Ch Ярко-Белый 13 0Dh Ярко-Белый 14 0Eh Ярко-Белый 15 0Fh Ярко-Белый Цветной Передний план Dec Hex Цвет --- --- ------ 0 Oh Черный 1 lh голубой 2 2h зеленый 3 3h Салатный 4 4h красный 5 5h фиолетовый 6 6h коричневый 7 7h Белый 8 8h Серый 9 9h Светло-голубой 10 OAh Светло-зеленый 11 OBh Светло-Салатный 12 OCli Светло-красный 13 ODh Светло-фиолетовый 14 OEh Желтый 15 OFh Ярко-Белый Фон Dec Hex Цвет (без мигания) Цвет (с миганием) ---- --- ---------------- ------------------ 0 0h Черный Черный 16 10h голубой голубой 32 20h зеленый зеленый 48 30h Салатный Салатный 64 40h красный красный 80 50h фиолетовый фиолетовый 96 60h коричневый коричневый 112 70h Белый Белый 128 80h Серый Черный 144 90h Светло-голубой голубой 160 0A0h Светло-зеленый зеленый 176 0B0h Светло-Салатный Салатный 192 0C0h Светло-красный красный 208 0D0h Светло-фиолетовый фиолетовый 224 0E0h Желтый коричневый 240 0F0h Ярко-Белый Белый PAINT (закрасить прямоугольник на экране) PAINT([строка][,столбец][,строк][,столбцов])

строка Числовое значение или выражение, которое задает строку для начального (верхнего левого) угла. По умолчанию - 1. столбец Числовое значение или выражение, которое задает столбец для начального (верхнего левого) угла. По умолчанию - 1. rows Числовое значение или выражение, которое задает число строк в прямоугольнике. По умолчанию - вся высота экрана. columns Числовое значение или выражение, которое задает число столбцов. По умолчанию вся ширина экрана (структуры SCREEN). PAINT записывает активные видеотрибуты SETCOLOR в прямоугольную область экрана. Символы в прямоугольнике остаются без изменений. PAINT стоит применять только после выполнения оператора SETCOLOR с параметром-цветом. Если какие-то параметры пропущены, запятые, ограничивавшие их должны ставиться. Пример: SETCOLOR(17h) !Белый на Голубом PAINT !Закрасить весь экран SETCOLOR(1Fh) !Ярко-Белый на голубом PAINT(1,5,1,65) !Подсветить заголовок См. также: SETCOLOR SCROLL (прокрутить прямоугольную область экрана) SCROLL[строка][,столбец][,строк][,столбцов][,счетчик] строка Числовое значение или выражение, которое задает начальную (верхнюю) строку. По умолчанию - 1. столбец Числовое значение или выражение, которое задает начальный (левый) столбец прямоугольника. По умолчанию 1. строк Числовое значение или выражение, которое задает число строк в прямоугольнике. По умолчанию - вся высота экрана (структуры SCREEN) столбцов Числовое значение или выражение, которое задает число столбцов. По умолчанию вся ширина экрана (структуры SCREEN). счетчик Позитивное или негативное значение или выражение, которое задает на сколько строк прокрутить. Если СЧЕТЧИК положителен, то прокрутка вверх, если отрицательный, то вниз. По умолчанию СЧЕТЧИК=+1. SCROLL перемещает символы в прямоугольной области экрана вверх или вниз. По мере сдвига символов, СЧЕТЧИК строк удаляется сверху (снизу) прямоугольника, и СЧЕТЧИК пустых строк создается внизу (вверху). Параметры СТРОКА и СТОЛБЕЦ задают координаты верхнего левого угла прямоугольника относительно верхнего левого угла физического экрана; они НЕ ссылаются на верхний левый угол структуры SCREEN. SCROLL НЕ изменяет активные видеоатрибуты в прямоугольнике. Ранее активные атрибуты оператора PAINT в SCREEN-структуре или оператора SETCOLOR могут повлиять на цвета в прямоугольнике. Хотя символы сдвигаются, цвета раскраска прямоугольника НЕ меняется. Пример: SCROLL(4,10,16,60,-1) !Прокрутка данных вниз LOOP 5 TIMES !Повторять 5 раз SCROLL ! прокрутить весь экран . !Конец цикла См. также: SETCOLOR, PAINTM SETBLINK (разрешить мигание) SETBLINK SETBLINK разрешает мигание. Если оно разрешено, то для фона можно использовать только 8 цветов. Это нормальный режим работы, до тех пор, пока мигание не запрещено процедурой SETNOBLINK. Пример: SETNOBLINK !Выключить мигание SHOW(1,15,CENTER('Ты ошибся, друже!',30)) SETCOLOR(0EBh) ! цвет - светло салатный на желтом PAINT(1,15,1,30) ! закрасим область сообщения BEEP(0,200) !Ждем 2 секунды SETBLINK ! и делаем мигающий св.салатн. на кори ! чневом См. также: SETNOBLINK, SETCOLOR, Коды Цветовых Стилей SETCOLOR (установить видеоатрибуты) SETCOLOR(цвет) цвет Числовое значение или выражение, которое задает код цветового стиля. Допустимые значения ЦВЕТа - 0..255. SETCOLOR меняет байт выидеоатрибута для каждого символа, записываемого в видеопамять после него. ЦВЕТ точный код цветового стиля (это НЕ ссылка на внутренний массив, используемый в структуре SCREEN параметром COLOR). Если SETCOLOR использован без параметров, то символы, выводимые на экран после такого SETCOLOR НЕ будут изменять цвет знакомест, куда они выводятся. Пример: SETCOLOR(0) !Черный на черном SETCOLOR(47h) !Белый на красном SETCOLOR !Оставить атрибуты без изм. См. также: Коды Цветовых Стилей SETCURSOR (включить курсор) SETCURSOR([строка,столбец]) строка Числовое значение или выражение, задающее строку на экране. столбец Числовое значение или выражение, задающее столбец на экране. SETCURSOR показывает курсор в позиции заданной СТОЛБЦОМ и СТРОКОЙ. Используется для позиционированного вывода на устройство "CON". SETCURSOR указывает первую строку и столбец для вывода оператором TYPE, или оператором PRINT, у которого устройством для вывода отчета является "CON." Если параметры не заданы, то SETCURSOR гасит курсор. Пример: SETCURSOR(2,5) !Turn on the cursor at row 2 column 5 SETCURSOR !Turn off the cursor См. также: TYPE SETGRAPHIC (установить графический режим) SETGRAPHIC(режим) режим Целая константа или EQUATE, задающая графический видеорежим (EGA, VGA, SVGA). SETGRAPHIC задает графический режим для SCREEN-структур с атрибутом GRAPHIC. Графический режим определяется автоматически и не требует изменения, как правило. SETGRAPHIC перекрывает режим автоопределения режима для следующего открываемого SCREEN. Разрешенные для РЕЖИМа значения: Dec Hex Режим --- --- -------- 90 5Ah Текстовый 121 79h EGA 89 59h VGA 87 57h SVGA Если экран уже открыт как графический, SETGRAPHIC(90) не повлияет на него. Если же экран ЕЩЕ не в графическом режиме, SETGRAPHIC(90) принудительно вызовет вывод следующих экранов в текстовом режиме, даже если у них установлен атрибут GRAPHIC. Пример: GraphScreen SCREEN(25,80),GRAPHIC !описание структуры экрана . CODE SETGRAPHIC(90) !Следующий экран принудительно в текст OPEN(GraphScreen) !GraphScreen открыть в текстовом режиме См. также: GRAPHIC SETMOUSE (позиционирование курсора мышки) SETMOUSE([строка][,столбец]) строка Целая константа, переменная или выражение, задающее строку, в которую поместить курсор мышки. По умолчанию ноль. столбец Целая константа, переменная или выражение, задающее столбец, куда поместить курсор мышки. По умолчанию ноль. SETMOUSE размещает курсор мышки на экране. Если СТРОКА и СТОЛБЕЦ опущены, то SETMOUSE выключает курсор мышки. Если программа собирается использовать мышь, то по крайней мере, один SETMOUSE требуется (вероятно где-то ближе к началу программы). В графическом режиме курсор мышки представляет стрелку, а в текстовом - прямоугольный блок (знакоместо), до тех пор, пока не использованы операторы LOADSYMBOLS или USESYMBOLS. Пример: SETMOUSE() !Выключить мышку SETMOUSE(1,1) !Включить в верхнем левом углу См. также: LOADSYMBOLS, USESYMBOLS SETNOBLINK (запретить мигание) SETNOBLINK SETNOBLINK запрещает мигание на экране. Обычно, фон можно раскрасить в 8 цветов. При запрещенном мигании, бит отвечающий за мигание может быть использован как бит яркости фона. Это позволяет использовать для фона те же 16 цветов, что и для текста. Монохромные или CGA мониторы НЕ поддерживают запрещение мигания. Таким образом, для SETNOBLINK нужен, как минимум, EGA. Пример: SETNOBLINK !Выключить мигание SETCOLOR(OEh) ! установить черный на желтом PAINT ! и закрасить экран См. также: SETBLINK, Коды Цветовых Стилей SETTEXT (установить размер экрана в текстовом режиме) SETTEXT(строк,столбцов) строк Целая константа, переменная или выражение, задающее число строк на физическом экране в текстовом режиме. столбцов Целая константа, переменная или выражение, задающее число столбцов на физическом экране в текстовом режиме. SETTEXT позволяет точно задать, скажем, режим 43 или 50 строк. Без применения SetText, текстовый режим остается таким же, каким он был при запуске программы. SETTEXT использует метод наилучшего размещения для параметров СТРОК и СТОЛБЦОВ. Видеоадаптер может поддерживать различные текстовые режимы, так что, в принципе, SETTEXT(200,200) может достичь максимально возможного разрешения в текстовом режиме. Пример: R# = ROWS() !Сохраняем текущие параметры экрана C# = COLS() !R# - строки и C# - столбцы GraphicScreenProc !Вызываем проц. с графическ.экраном SETTEXT(R#,C#) !Возвращаемся к предыдущ. значениям См. также: ROWS, COLS SHOW (показать на экране) SHOW([строка][,столбец],выражение[,формат]) строка Числовое значение или выражение, которое задает строку на экране, в которую будет выведено ВЫРАЖЕНИЕ. По умолчанию - последняя строка, в которой происходил вывод. столбец Числовое значение или выражение, которое задает столбец, в который будет выведено ВЫРАЖЕНИЕ. По умолчанию - последний столбец, в который производился вывод. выражение Метка переменной, константы, числовое или строковое выражение. формат Шаблон формата или метка строки (STRING) описанной с форматом вывода (picture). SHOW выводит переменные или выражения прямо на экран. Если выражение слишком длинно, чтобы разместиться в строке, оно усекается. Чтобы показать, что какие-то параметры пропущены, требуются запятые. То, что выводит SHOW, затирает то, что было ранее на экране. Пример: SHOW(1,1,TODAY(),@D3) !Показать дату SHOW(,,CLOCK(),@T3) !Показать время в том мес- !те, куда был последний !вывод SHOW(1,80 - SIZE(Msg),Msg) !Выровнять сообщение впра- !во SHOW(25,1,'Жми кнопочку, и продолжим')!Вывод подсказки TYPE (вывести строку на экран) TYPE(строка) строка Строковая константа, переменная или выражение. TYPE выводит строку на стандартное устройство вывода (STDOUT). Пока не определено иначе, в качестве STDOUT DOS использует устройство CON. Строка появится на экране начиная с текущего положения курсора. Можно использовать SETCURSOR, чтобы разместить курсор в нужном месте. Устройство "CON" распознает символы CR, LF, TAB и BS. Перевод строки (LF) переводит курсор на строку ниже текущей. LF на последней строке экрана приводит к прокрутке всего экрана вверх на одну строку. Пример: TYPE(Cus:Notes) !Вывести поле примечаний SETCURSOR(1,25) !Идем в самый низ экрана TYPE(@LF5) ! и прокрутим вверх 5 строк См. также: SETCURSOR, Элементы Управления Принтером ВИДЕОФУНКЦИИ BACKCOLOR (возвращает цвет фона) BACKCOLOR(строка,столбец) строка Числовое значение или выражение, которое задает строку на экране. столбец Числовое значение или выражение, которое задает столбец на экране. BACKCOLOR возвращает цвет фона для указанного знакоместа. Возвращаемое значение лежит в диапазоне от 0 до 15 включительно, что соответствует шестнадцати цветам переднего плана. Если параметры выходят за допустимые пределы, то возвращается ноль. В байте видеоатрибута фоновый цвет хранится в старшем ниббле (4 бита). То есть, если значение, полученное от BackColor использовано для порождения кода цветового стиля, то сначала его надо умножить на шестнадцать, и затем прибавить к нему значение цвета для переднего плана. Возвращаемый тип данных: BYTE Пример: SETCOLOR(BACKCOLOR(1,1)+(FORECOLOR(1,1)*16)!Поменять цвета !местами SaveBack = BACKCOLOR(1,1) !Сохранить цвет фона См. также: SETCOLOR, FORECOLOR, MAKECOLOR, Коды Цветовых Стилей COLOR (возвращает код цветового стиля) COLOR(строка,столбец) Функция COLOR возвращает активный для знакоместа с координатами (СТРОКА,СТОЛБЕЦ) код цветового стиля (комбинацию цветов фона и переднего плана). Возвращаемый тип данных: BYTE Пример: SaveColor = COLOR(1,1) !Сохранить раскраску См. также: BACKCOLOR, FORECOLOR, MAKECOLOR, Коды Цветовых Стилей FORECOLOR (возвращает цвет переднего плана) FORECOLOR(строка,столбец) FORECOLOR возвращает цвет текста для знакоместа с координатами (СТРОКА,СТОЛБЕЦ). Возвращаемое значение лежит в диапазоне от 0 до 15 включительно. Если параметры выходят за допустимые пределы, то возвращается ноль. В байте видеоатрибута цвет переднего плана хранится в младшем ниббле, то есть, для получения кода цветового стиля надо результат от FORECOLOR прибавить к результату от BACKCOLOR умноженному на шестнадцать. Возвращаемый тип данных: BYTE Пример: SETCOLOR(BACKCOLOR(1,1)+(FORECOLOR(1,1)*16))!Поменять цвета !местами SaveFore = FORECOLOR(1,1) !Сохранить цвет текста См. также: SETCOLOR, BACKCOLOR, MAKECOLOR, Коды Цветовых Стилей GRAPHIC (возвращает текущий видеорежим) GRAPHIC(n) n Целочисленная константа, переменная или выражение. Функция GRAPHIC возвращает байт, содержащий текущий внутренний видеорежим. В зависимости от режима, возвращается следующее: Dec. Hex. Режим --- ---- ---- 90 5Ah Текстовый 121 79h EGA 89 59h VGA 87 57h SVGA GRAPHIC(0) возвращает тип адаптера (EGA, VGA, SVGA) если текущий экран открыт не в графическом режиме. GRAPHIC(1) возвращает одно из приведенных выше значений для графических режимов или 5Ah для текстового. GRAPHIC(1) проверяет, не находится ли экран в графическом режиме и, если так, то какой адаптер используется. GRAPHIC(0) обычно используется для определения типа адаптера дисплея перед открытием экрана в графическом режиме. Возвращаемый тип данных: Byte Пример: EGA EQUATE(121) VGA EQUATE(89) SVGA EQUATE(87) GraphScreen SCREEN(25,80),GRAPHIC . CODE X# = GRAPHIC(0) IF X# = EGA OR X# = VGA OR X# = SVGA OPEN(GraphScreen) CASE GRAPHIC(1) OF EGA OROF VGA SHOWIMAGE(1,1,25,80,'EGALOGO.PCX',1) OF SVGA SHOWIMAGE(1,1,25,80,'SVGALOGO.PCX',1) . . См. также: SETGRAPHIC LOOK (считать символ(ы) с экрана) LOOK(строка,столбец,шаблон) строка Числовое значение или выражение, которое задает Y-соординату для чтения. По умолчанию - последняя строка, которой было обращение. столбец Числовое значение или выражение, которое задает X-координату первого символа, который надо прочитать. По умолчанию - последний столбец, к которому было обращение. шаблон Шаблон формата или метка строки, описанной с шаблоном формата. Шаблон используется для деформатирования прочитанного с экрана значения в переменную. Длина шаблона определяет количество столбцов, которые будут прочитаны с экрана. Функция LOOK считывает ASCII-коды символов с экрана, начиная со знакоместа, с координатами (СТРОКА,СТОЛБЕЦ). Если какие-то параметры опущены, то чтобы это отметить, требуются запятые. LOOK работает одинаково как в текстовых, так и в графических режимах. (SPA - интересно, а для русских букв в графике работает?) Возвращаемый тип данных: STRING Пример: PageNumber = LOOK(1,75,@N2) !Получить номер страницы Cus:AccountNumber = LOOK(,,@NO5) !Считать из последней выве ! денной позиции и помес- ! тить в номер лиц. счета LastName = LOOK(5,20,@S20) !Считать имя MAKECOLOR (возвращает код цветового стиля) MAKECOLOR(текст,фон) текст Целая константа, переменная или выражение в диапазоне 0..15, представляющая собой цвет переднего плана (или текста). фон Целая константа, переменная или выражение в диапазоне 0..15, представляющая собой цвет заднего плана (или фона). MAKECOLOR возвращает код цветового стиля для заданной комбинации цветов текста/фона. Возвращаемый тип данных: BYTE Пример: MAKECOLOR(7,0) returns 7 White on Black MAKECOLOR(7,1) returns 23 White on Blue ColorStyle = MAKECOLOR(7,1) !Set ColorStyle variable to 23 SETCOLOR(ColorStyle) ! and use it to set the color См. также: FORECOLOR, BACKCOLOR, COLOR, SETCOLOR, Коды Цветовых Стилей MOUSECOL (X-координата мышки) MOUSECOL() MOUSECOL возвращает баутовое значение, соответствующее номеру столбца, в котором находится курсор мышки на виртуальном экране. Возвращаемый тип данных: BYTE Пример: SaveMouseCol = MOUSECOL() !Save mouse column position MOUSEROW (Y-координата мышки) MOUSEROW() MOUSEROW возвращает баутовое значение, соответствующее номеру строки, в которой находится курсор мышки на виртуальном экране. Возвращаемый тип данных: BYTE Пример: SaveMouseRow = MOUSEROW() !Save mouse row position ПРОЦЕДУРЫ КЛАВИАТУРЫ ALIAS (установить альтернативный код клавиши) ALIAS([код,новый-код]) код Числовой код или EQUATE-метка кода клавиши. новый-код Числовой код или EQUATE-метка кода клавиши. Можно использовать неприсвоенные ранее коды. ALIAS изменяет генерируемый при нажатии клавиши код. НОВЫЙ-КОД не находится в таблице кодов клавиш. Коды от 700 до 999 не присвоены, и могут быть использованы как НОВЫЕ-КОДЫ. Практический эффект от этого возможность запретить реагировать на КОД, если ваша программа не проверяет НОВЫЙ-КОД. Если оба параметра опущены, то ALIAS отменяет все переназначения клавиш. Пример: ALIAS(F3Key,F1Key) !Help теперь по F3 ALIAS(F1Key,F3Key) ! а нажатие F1 рассматрива- ! ется как нажатие F3 ALIAS(256,999) !Обзовем по-другому клавишу ! ESC ALIAS !Отменим все переназначения См. также: Equate-коды клавиш ASK (получить один символ) ASK ASK читает код клавиши из буфера клавиатуры. Выполнение программы приостанавливается во время ожидания нажатия на клавишу. Если в буфере уже есть необработанные нажатия клавиш, ASK читает код без ожидания. Пример: SHOW(25,1,'Жми кнопочку, и продолжим') !Показать сообщение и ASK !ждать нажатия клавиши LOOP WHILE KEYBOARD() !Опустошаем буфер клавиатуры ASK ! не обрабатывая нажатия клавиш . См. также: ENTRY PRESS (поместить код в буфер) PRESS( код ) строка код Числовая константа или EQUATE-метка кода клавиши. string Строковая константа, переменная или выражение. PRESS имитирует нажатия на клавиши во внутреннем буфере клавиатуры Клариона (а не буфере DOS). PRESS(КОД) помещает в буфер одно нажатие. PRESS(СТРОКА) помещает в буфер строку целиком. Строка заполняет буфер (статическую очередь), размер которого ограничен лишь доступной основной памятью. На каждое нажатие в строке отводится 32 байта, т.е теоретический максимум равен примерно 2500 символов в большинстве "нормальных" приложений. Пример: IF Action = 'Add'!On the way into a memo field on an add record Cus:MemoField = FORMAT(TODAY(),@Dl) &' '& FORMAT(CLOCK(),@T4) !Preload first line of memo with date and time PRESS(EnterKey)! and position user on second line . SETKEYCODE (вернуть код клавиши) SETKEYCODE(код) код Целая константа или EQUATE-метка кода клавиши. SETKEYCODE заставляет функцию KEYCODE вернуть заданный КОД. КОД НЕ помещается в буфер клавиатуры. Пример: SETKEYCODE(999) !Заставляем KEYCODE вернуть 999 См. также: ALIAS, KEYCODE, Equate-коды клавиш ФУНКЦИИ КЛАВИАТУРЫ ENTRY (принять ввод с клавиатуры) ENTRY(строка,столбец,шаблон) строка Числовое значение или выражение, которое задает строку, на которой производится ввод. столбец Числовое значение или выражение, которое задает столбец, на котором производится ввод шаблон Шаблон формата или метка строки, описанной с шаблоном формата. Параметр ШАБЛОН определяет длину поля вормат ввода с клавиатуры в переменную. Переменная показывается и редактируется в режиме реверсного отображения (цвета фона и текста меняются местами). ENTRY читает нажатия клавиш с клавиатуры. Программа ждет, пока редактирование поля не завершится клавишей завершения поля (обычно ENTER) или клавишей взведенной (через ALERT). ENTRY устанавливает реверсные цвета для СТРОКИ и СТОЛБЦА и включает курсор на время редактирования поля. Возвращаемый тип данных: STRING Пример: Address = ENTRY(10,12,@S20) !Ввести адрес City = ENTRY(11,12,@S12) !Ввести город См. также: ALERT KEYBOARD (возвращает ожидающее нажатие на клавишу) KEYBOARD() Функция KEYBOARD возвращает первый код из хранящихся в буфере клавиатуры нажатий на клавиши. Используется для определения, есть ли нажатия, которые надо обрабатывать операторами ASK или ACCEPT. Возвращаемый тип данных: LONG Пример: LOOP UNTIL KEYBOARD() !Ждем любую клавишу ASK IF KEYCODE() = EscKey THEN BREAK. !Если ESC,то прервать цикл . См. также: ASK, ACCEPT, Equate-коды клавиш KEYCODE (возвращает код клавиши завершения поля) KEYCODE() Функция KEYCODE возвращает код клавиши, которой завершилось редактирование поля. Эта функция работает только для результатов функции ENTRY и операторов ASK, SETKEYCODE или ACCEPT. Возвращаемый тип данных: LONG Пример: LOOP !Loop on the display ASK ! wait for a keystroke CASE KEYCODE() !Process the keystroke OF UpKey ! up arrow SCROLL(,,,,1) ! scroll up one row DO GetRecordUp ! and get a record OF DownKey ! down arrow SCROLL(,,,,-1) ! scroll down one row DO GetRecordDn ! and get a record OF EscKey ! esc key BREAK ! break the loop . . !End case, end loop См. также: ASK, ACCEPT, Equate-метки кодов клавиш Назад | Содержание | Вперед

  Citforum.ru приглашает вас посетить семинары:

25 марта 2003 года, Москва

ИТ-бюджетирование в банковских учреждениях. 26 марта 2003 года, Москва

Как анализировать эффективность ИТ банковских учреждений. Практический опыт проведения работ. 27 марта 2003 года, Москва

ИТ в банковских учреждениях. Разработка стратегии развития ИС. 19-21 марта 2003 года, Москва

26-28 марта 2003, Санкт-Петербург.

Теория и практика обеспечения безопасности информационных систем 17 апреля 2003 года, Москва

6 марта и 24 апреля 2003, Санкт-Петербург.

"Практическое применение международного стандарта безопасности информационных систем ISO 17799" 8 апреля 2003 года, Москва

3 апреля 2003, Санкт-Петербург.

"Обеспечение комплексной информационной безопасности предприятия" 10 апреля 2003 г., Москва.

14 апреля 2003 г., Санкт-Петербург

"Анализ рисков информационных систем компаний" Рекомендуем CD Domina Security: Управление информационными рисками корпоративных ИС Internet/Intranet Коммерческая тайна и экономическая безопасность бизнеса Применение стандарта безопасности ISO 17799

Новые поступления в разделе "Подробно о лучших книгах": Компьютерные системы передачи данных, Вильям Столлингс Качество обслуживания в сетях IP, Шринивас Вегешна Цифровая связь: теоретические основы и практическое применение, Скляр Б.

Аутентификация: от паролей до открытых ключей, Дж. Уинзор Энциклопедия SQL. 3-е изд+CD, Грофф Дж., Вайнберг П. Современные операционные системы. Изд.2, Э. Таненбаум

Поиск Рубрикатор Форумы Новости сервера Учебный центр Книжный магазин Реклама на сервере <<< В начало | Наверх Быстрый переход >>>   Internet-технологии  Сетевые технологии  Базы данных  Операционные системы  Программирование  Аппаратные платформы  Материалы конференций  Пользователям и преподавателям  Корпоративные ресурсы  Книги, которые мы выбираем   Комментарии: mailto:info@citforum.ru?Subject='From bottom of CIT FORUM' u="u266.74.spylog.com";d=document;nv=navigator;na=nv.appName;t="";p=1; sz=" width=88 height=31 "; hl=history.length;d.cookie="b=b";c=0; bv=Math.round(parseFloat(nv.appVersion)*100); if (d.cookie) c=1;n=(na.substring(0,2)=="Mi")?0:1; if((n==0)||(bv >= 300)){rn=Math.random();t=(new Date()).getTimezoneOffset();} else {rn=0;} z="p="+p+"&rn="+rn+"&t="+t+"&c="+c+"&hl="+hl; if (self != top) { fr=1;} else { fr=0;} r=escape(d.referrer);r1=""; sl="1.0";h=0; pl="";sl="1.1"; if((n==1) && (bv >= 300)) { for(var i = 0; i < nv.plugins.length; i++) pl += nv.plugins[i].name+":"; } j = (navigator.javaEnabled() ? "Y" : "N"); sl="1.2";s=screen;wh=s.width+'x'+s.height; px=(n==0)?screen.colorDepth:screen.pixelDepth;z+="&wh="+wh+"&px="+px; sl="1.3" y=""; y+=""; y+=""; y+=""; d.write(y); Copyright © Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.