|
ON PAD File OF arm ACTIVATE POPUP Fie
* Описание подчиненного меню для пункта Filter
* горизонтального меню.
* Пунктами подчиненного меню заданы значения поля
* Name_jnodel таблицы model, dbf ЕELECT fam
SET ORDER TO TAG Name
DEFINE POPUP Fltr PROMPT FIELDS fan.Name_f am;
SCROLL FROM 7,22 TO 15,35
* Вызов подчиненного меню при выборе пункта Filter
* горизонтального меню.
CN PAD Filter OF arm ACTIVATE POFUP Fltr
ACTIVATE MENU arm && Активация всей конструкции меню.
* Обработчик выбора пользователя для пучхта главно-о
* меню Edit n = PAD()
n = BAR()
DO CASE && Ана лиз выбора из горизонтального
* (главного) меню
CASE m = 'EDIT'
DO CASE && Анализ выбора из подчиненного
* (вертикального) меню
CASE n = 1
SELECT ctl Brow CASE n = 2
SELE fam Browse
CASE n = 3
Sele im BROW CASE n = 4
Select ot BROWSE
ENDCASE
ENDCASE
* Процедура должна быть помещена в программный файл
* PR0G5.PRG, путь к
* которому указывается в командах ON SELECTION BAR...
PROCEDURE ppp PARAMETER mmenu, mpad
? «Вызов подпрограммы», mmenu, mpad 6 10,4 SAY mmenu GET mpad DEACTIVATE MENUS RETURN
Пример 13. Динамическое изменение имени и назначения пункта меню, х =.Т.
DEFINE POPUP View FROM 4,12 TITLE 'Вид'
DEFINE BAR 1 OF View PROMPT 'Панели инструментов'
DEFINE BAR 2 OF View PROMFT 'Линейка'
DEFINE BAR 3 OF View PROMPT 'Масштаб'
DEFINE BAP. 4 OF View PROMPT IIF(x, 'Вход', 'Выход')
ON SELECTION POPUP View DO wt ACTIVATE POPUP View
Procedure wt
X =! X
DEFINE BAR 4 OF View PROMPT IIF(x, 'Вход','Выход') RETURN
Пр и м е р 14. Попытка открыть не существующий табличный файл.
ON ERROR DO errhand WITH;
ERROR(). MESSAGE(), MESSAGE(1), FROGRAM{), LINENO[) USE E:\PRIMER\mnm.dbf ON ERROR
ItSt Отмена выполнения индивидуальной процедуры и && возврат к системному обработчику ошибок
PROCEDURE errhand
PARAMETER merror, mess, meesl, irprog, mliner.o CLEAR
? 'Ошибка номер: ' + LTRIK(STR<merror))
? 'Текст ошибки: ' + mess
? 'Строка содержит ошибку: ' + nessl
? 'Номер строки с ошибкой: ' + LTRIM{STR(mlineno))
? 'Программный файл: ' + mprog
Пр и м е р 15. Обработчик нажатия клавиши Esc.
SET ESCAPE ON ON ESCAPE DO stopit
* Создание окна сообщения и вывод в него сообщения
WAIT WINDOW 'Нажмите клавишу Esc для выхода из '+; 'программы' NOWAIT
ппп =.Т.
* Пустой цикл для сохранения окна редактора на экране DO WHILE ппп
ENDDO
RETURN
PROCEDURE stopit nnn =. F.
RETURN
Пример 16. Обработчик нажатия любой клавиши.
Вывести на экран потоком каталог изданных книг. Для остановки потока надо нажать любую клавишу. Для продолжения просмотра — нажать любую клавишу.
CLOSE ALL && Закрытие всех файлов
SET DEFAULT ТО E:\PRIMSR && Задание рабочего каталога
USE | Customer.dbf | in | alias | cus | |
|
|
| Далее открытие | ||
USE | Crde^.dhf | in | alias | ord | |
USE | Sa esman.dbf | in | alias | smn | |
USE | Sale.dbf | in | alias | sal | |
USE | Account.dbr | in | alias | acnt | |
'JSE | Catalog.dbf | in | alias | ctl | |
USE | Autor.dbf | in | alias | atr | |
USE | Tcwn.dfcf | in | alias | twn | |
USE | Street.dbf | in | alias | str | |
USE | Fam.dbf | in | alias | fam | |
USE | Im.dbf | in | alias | in |
ORDER TAG Fam |
ORDER TAG tag(2) INDEX im; ORDER TAG Im INDEX ot; ORDER TAG ot |
USE Ot.dbf |
in 12 alias ot
CLEAR
PRIVATE OTV SELE Ctl
SET RELATION TO Key_fam INTO Fam, Key_im INTO Im,; Key_ot INTO Ot
ON KEY DO pause DO WHILE NOT EOF()
? 'Фамилия автора:
? 'Имя автора: '
? 'Отчество автора:? 'Название книги:?
SKIP
ENDDO
АТ 2. fam.Naire_Fam АТ 25 АТ 2, im. Name_Im AT 25 AT 2, ot. Name_Ot AT 25 AT 2, ct 1. Nair.e_fcoo< AT 2 5
PROCEDURE pause = INKEY(3) WAIT WINDOW
*
RETURN
ScSc Вывод в специальное окно системного сообщения
Пр и м е р 17. Назначение команд отдельным клавишам. CLEAR
* Определение клавишных назначений.
ON KEY LABEL RIGHTARROW? 'Стрелка вправо'
ON KEY LABEL LEFTARROW? 'Стрелка влево'
ON KEY LABEL UPARROW? 'Стрелка вверх'
ON KEY LABEL DNARROW? 'Стрелка вниз'
SET ESCAPE ON STORE.F. TO glExit
ON ESCAPE STORE.T. TO glExit && Назначение команды
* для клавиши Esc.
STORE 0 TO TEMP
@ 2,0 SAY 'Нажмите любую клавишу стрелку, для '+; 'выхода - Esc'
* Определение окна для вывода сообщений о нажатых
* клавишах
DEFINE WINDOW wEnt FROM 10.20 TO 14.45 DOUBLE;
FONT 'Tunes New Roman', 12 STYLE 'B'
ACTIVATE WINDOW wEnt DO WHILE NOT glExit ENDDO
DEACTIVATE WINDOW wEnt
CM KEY && Отмена всех клавишных сообщений
Пример 18. Определение способа выхода из редактирования. CLOSE ALL Sclc Закрытие всех файлов
SET DEFAULT ТО Е:\PRIMER && Задание рабочего каталога
USE | Customer.dbf | in | alias cus |
|
|
| ||
|
| IcSc | Далее открытие | двенадцати | таблиц | |||
USE | Order.dbf | in | alias | ord |
|
|
| |
USE | Salesman.dbf in | alias | smn |
|
|
| ||
USE | Sale.dbf | in | alias | sal |
|
|
| |
USE | Account.dbf | in | alias | acnt |
|
|
| |
USE | Catalog.dbf | in | alias | ctl | INDEX | catalog | ||
|
|
|
|
|
| ORDER | TAG | Fam |
USE | Autor.dbf | in | alias | atr |
|
|
| |
USE | Town.dbf | in | alias | twn |
|
|
| |
USE | Street.dbf | in | alias | str |
|
|
| |
USE | Fam. dbf | in | alias | fam | INDEX ORDER | fam; TAG | tag(2) | |
USE | Im.dbf | in | alias | im | INDEX ORDER | im; TAG | Im | |
USE | Ot.dbf | in | alias | ot | INDEX | ot; |
|
ORDER TAG ot
CLEAR
PRIVATE OTV SELE ctl
SET RELATION TO Key_fam INTO Fam, Key_im INTO Im,; Key_ot INTO Ot
CLEAR
@ 20,4 SAY 'Для следующего поля нажмите Enrer'
@ 21,4 SAY '«Для пропуска записи нажмите PgDn'
в 22,4 SAY 'Для предыдущей записи нажмите PgUp'
0 23,4 SAY 'Для выхода нажмите Esc'
DO WHILE.not. EOF О
в 8,5 SAY 'Фамилия автсра: ' GET fan.Kame_fa*n
0 9,5 SAY 'Имя автора: ' GET? i3i.Narae_im
0 10,5 SAY 'Отчество автора: ' GST ot.Name_ot
0 11,5 SAY 'Название книги: ' GET ctl.Nane_j300k
READ
К = READKEY()
DO CASE
CASE K=12.OR. K=26S && Нажата клавиша Esc EXIT
CASE K=6.OR. K=262 && Нажата клавиша PgUp IF RECN0() =1 &Sc Проверка на достижение
* первой записи
@ 17,17 SAY 'Обнаружена первая запись' ZZZ =:NKEY(2)
8 17,17 SAY '
ELSE
SKIP-1
EKDIF
CASE K=7.OR. K=263 && Нажата клавиша PgDn
SKIP
CASE X=16.OR. K=271.OR. K=5.OR. K=261 && Нажата клавиша Enter или стрелка вниз SKIP
ENDCASE
ENDDO
8.5. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое световое меню и каковы его основные элементы?
2. Что такое клавишное меню и каковы его основные элементы?
3. Каким приемом задать недоступный пункт меню?
4. Как отделить одну группу пунктов меню от другой (руппы пунктов меню?
5. Укажите особенности светового меню типа Fox.
6. Укажите особенности светового меню типа dBASE.
7. Расскажите об особенностях создания и использования
LIGHTBAR-меню.
8. Расскажите об особенностях создания и использования
POPU P-меню типа Fox.
9. Расскажите об особенностях создания и использования
PULLDOWN-меню.
10. Укажите порядок создания меню типа Fox.
И. Какой командой создается POPUP-меню типа dBASE?
12. Укажите команды для предъя&ления на экран POPUP-меню типа dBASE.
13. Укажите команды для удаления с экрана (и из оперативной памяти) POPUP-меню типа dBASE.
14. Какой командой создается BAR-менютипа dBASE?
15. Укажите команды для предъявления на экран BAR-мсню типа dBASE.
16. Укажите команды для удаления с экрана (и из оперативной памяти) BAR-мснютипа dBASE.
17. Какой командой производится закрепление подчиненного меню за пунктом POPUP-меню? За пунктом BAR-меню?
18. Укажите порядок действий при создании двухуровневого (многоуровневого) меню типа dBASE.
19. Какими командами клавишного меню фиксируются ошибки работы программы?
20. Расскажите о вариантах использования команды ON KEY.
21. Что такое стек? Как сохраняются и как извлекаются клавишные команды из стека?
22. Укажите команды для обработки кодов нажатых клавиш.
ОПРЕДЕЛЕНИЕ ОКОН
................................................................................................. I.......................
V fc'J, - i «в... i^t • j Wi|Ой^М|Ш 1
1 <Г1.1Ы.> Dll 1)Ь |
В FoxPro имеется возможность одновременной работы с несколькими окнами. С помощью специальных команд окна можно создавать, изменять их положение и размеры, закрывать как программными средствами, так и с помощью клавиатуры и мыши. Различают три состояния окна:
• нормальное — окно имеет размеры и занимает положение на экране, определенное командами при его создании;
• свернутое — окно имеет минимальный размер (одна строка с заголовком окна) и размешается в нижней части экрана;
• распахнутое — окно раскрыто на весь экран.
Для работы с окнами предусмотрены следующие клавишные команды.
Ctrl + F7 и клавиши-стрелки — перемещение окна по экрану'. Эту операцию можно выполнить мышью. Курсор мьпии устанавливается на заголовок окна и окно буксируется в нужном направлении.
Ctrl + F9 — сворачивает окно до минимального размера. Эту операцию можно выполнить двойным щелчком левой кнопки мыши на заголовке окна.
Shift + Ctrl + F9 — сворачивает окно до минимального размера и перемещает его в правый нижний угол экрана. Двойной щелчок левой кнопки мыши на заголовке окна при зажатой клавише Shift выполняет ту же операцию.
Ctrl + F10 — переход к друтому окну. Переход также выполняется щелчком левой кнопки мыши на нужном окне.
Для работы с окнами предусмотрены следующие команды.
9.1. ОПИСАНИЕ (СОЗДАНИЕ) ОКНА
DEFINE WINDOW <имя окна> FROM Yl.Xl ТО Y2,X2 (ATYI,X1 |
(SIZE Y2,X2 ]
(IN (WINDOW ] <имя окна 2> | IN SCREEN | IN DESKTOP ]
I FONT <выр.С1> [, <Bbip.N> ] J (STYLE <выр.С2>)
[FILL FILE <выр.СЗ>]
[ ICON FILE <выр.С4> ]
[ HALFHEIGHT J [ MDI | NOMDIJ [ FOOTER <выр.С5> ]
[ TITLE <выр.С6> ]
[ DOUBLE | PANEL | NONE | SYSTEM < строка бордюра> J [CLOSE | NOCLOSE 1 [FLOAT | NOFLOAT [
[ GROW | NOGROW)
[ MINIMIZE ]
[SHADOW [
[ ZOOM | NOZOOM ]
[ FILL <выр.С7> J
[ COLOR Сснисок nap цвстов> | COLOR SCHEME <Bbip.N2> ]
Назначение опций:
Yl,Xl и Y2, X2 — определяют координаты левого верхнего и правого нижнего углов описываемого окна.
AT Y1,X1 — переопределяет координаты левого верхнего угла окна. Если эта опция используется совместно с опцией SIZE, то Visual FoxPro автоматически согласовывает размер окна с количеством помещенного в него текста и размером шрифта.
IN WINDOW <имя окна 2> — размешает описываемое окно внутри другого окна с именем <имя окна 2>. Если эта опция опущена, то описываемое окно размешается на экране.
IN SCREEN — описываемое окно размещается на экране. Эта опция задана по умолчанию.
IN DESKTOP — размещает описываемое окно на экране WINDOWS поверх главного окна Visual FoxPro
FONT <выр.С1>, <Bbip.N> STYLE <выр.С2> — определяет тип, размер и стиль шрифта
FILL FILE <выр.СЗ> — задает фоновый рисунок окна. В <выр.СЗ> указывается имя графического файла с расширением.bmp.
ICON FILE <выр.С4> — задает пиктограмму, которая будет отображаться после свертывания окна. В <выр.С4> указывается имя графического файла с расширением.bmp.
ILVLFIIEIGHT — создаст окно со строкой заголовка половинной высоты. Опция используется для обеспечения работы программы в двух средах — WINDOWS и MS DOS.
MDI | NOMDI — указывает, соответствует ли описываемое окно многооконному интерфейсу (М DI) или нет (NOMDI). По умолчанию принято — MDI.
FOOTER <выр.С5> — описывает заголовок окна в центре нижней границы окна.
TITLE <выр.С6> — описывает заголовок окна в центре верхней границы окна.
DOUBLE — обрамляет окно двойной линией.
PANEL — обрамляет окно одинарной линией.
NONE — окно не имеет линии границы.
SYSTEM — граница обозначена сплошной полосой и в ее углах расположены элементы управления окном (стандарт среды MS DOS).
<строка бордюра> — задает шаблон (не более восьми символов), который используется для задания границы окна.
CLOSE | NOCLOSE — разрешает (CLOSE) или запрещает (NOCLOSE) закрытие окна с помощью мыши и выводит в правый верхний угол соответствующую кнопку.
FLOAT | NOFLOAT — разрешает (FLOAT) или запрещает (NOFLOAT) перемещение окна по экрану как с помощью мыши, так и с помощью клавиатуры.
GROW | NOGROW — разрешает (GROW) или запрещает (NOGROW) изменять размер окна как с помощью мыши, так и помощью клавиатуры.
MINIMIZE — разрешает сворачивание окна до пиктограммы.
SHADOW — отображает окно обрамленное «тенью*.
ZOOM | NOZOOM — разрешает (ZOOM) или запрещает (NOZOOM) распахивать окно на весь экран и возвращаться в нормальное состояние.
FILL <выр.С7> — определяет символ фонового заполнения окна. COLOR <спнсок пар цветов> | COLOR SCHEME <Bbip.N2> — определяет цвет окна либо по списку цветов, либо указанием номера схемы (от 1 до 24).
9.2. АКТИВАЦИЯ ОКНА
ACTIVATE WINDOW
[ <имя окпа!> J [, <имя окна2> J [... ] | ALL [ BOTTOM | ТОР ]
Команда предъявляет на экран ранее определенные окна, имена которых указаны в списке [ <имя окна1> ] [, <имя окна2> ][...], либо все окна (ALL). Кроме того, можно указать расположение открываемых окон: под ранее открытыми окнами (BOTTOM) или перед уже открытыми окнами (ТОР) По умолчанию принята опция ТОР.
9.3. УПРАВЛЕНИЕ РАСПОЛОЖЕНИЕМ ОКНА
SHOW WINDOW <нмя окна1> [, <имя окна2> ][...] | ALL [ IN WINDOW <имя окиа N> | IN SCREEN ]
[ТОР | BOTTOM | SAME]
[SAVE]
[REFRESH]
Команда предъявляет на экран указанное окно или окна, изменяя порядок их отображения. Геометрические размеры окна и его расположение на экране команда не изменяет. Назначение опций:
IN WINDOW <имя окна N> — выводит указанные окна внутри окна <имя окна N>.
IN SCREEN — выводит указа!шые окна на экран.
ТОР — помешает вновь открываемые окна поверх уже открытых окон.
BOTTOM — помещает вновь открываемые окна под уже открытыми окнами.
SAME — помещает на экран деактивированное окно, в то же самое место, где оно было до деактивации.
SAVE — сохраняет на экране образ окна после его удаления.
REFRESH — предназначено для повторного открытия окна BROWSE после внесения изменений в данные. В окне BROWSE автоматически изменения не отображаются, поэтому нужна дополнительная команда на обновление информации в окне BROWSE.
9.4. ДЕАКТИВАЦИЯ ОКНА
DEACTIVATE WINDOW <имя окна1> [, <имя окна2> ] |...} | ALL
Команда удаляет с экрана, но оставляет в оперативной памя ти окна, указанные в списке <имя окна1> [, <имя окна2> ][...] или все (ALL) окна. После этого вывод направляется либо в оставшееся открытое окно, либо на экран.
9.5. ПЕРЕМЕЩЕНИЕ ОКНА
MOVE WINDOW <ичя окна> ТО Y, X | BY <bmp.N 1>, <Bbip.N2> | CENTER
Команда перемещает указанное <нмя окна> окно на экране или внутри другого окна. Причем левый верхний угол окна помещает ся в точку, указашгую либо абсолютными координатами ТО Y, X, либо oTHocHTej ьными координатами BY <Bbip.Nl>, <Bbip.N2>, либо располагается по центру — CENTER. Команда может выполняться как до активации окна, так и после активации.
9.6. УДАЛЕНИЕ ОКОН
CLEAR WINDOWS
Команда удаляет все окна с экрана и из оперативной памяти.
9.7. УДАЛЕНИЕ УКАЗАННЫХ ОКОН
RELEASE WINDOWS Ссписок имен окон>
Команда удаляет с экрана и из оперативной памяти окна, имена которых указаны в списке <список имен окон>.
9.8. СОХРАНЕНИЕ ОКОН В ПАМЯТИ
SAVE WINDOW Ссписок имен окон> | ALL ТО Снмя файла> |
ТО MEMO Симя MFMO ноля >
Команда сохраняет либо указанные в списке <список имен окон> окна, либо все (ALL) окна или в файле ТО Симя файла> или в Memo-поле ТО MEMO Снмя MEMO поля >
9.9. ВОССТАНОВЛЕНИЕ СОХРАНЕННЫХ ОКОН
RESTORE WINDOW Ссписок имен окон> | ALL FROM Снмя файла> | FROM MEMO Снмя МЕМО-иоля>
Команда восстанавливает в оперативной памяти описания окон, имена которых указаны в списке Ссписок имен окон> или все (ALL) поля. Восстаноатсние производится либо из файла Симя файла>, либо из Memo-поля Симя MEMO поля>.
9.10. ИЗМЕНЕНИЕ ПОЛОЖЕНИЯ ОКНА
ZOOM WINDOW Симя окна> MIN [ AUTO ] | MAX | NORM [ АТ У1, XI | FROM Yl, XI [ SIZE Y2, Х21 ТО Y3, ХЗ ] |
Команда перемешает указанное окно <имя окна> с одновременным изменением его размеров, если это задано. Перемещаемое окно должно быть ранее описано командой DEFINE WINDOW... Перемещать можно как активированное, так и деактивированное окно. Назначение опций:
MIN — сворачивает окно до пиктограммы, но в команде DEFINE WINDOW должна быть указана опция М FNIMIZE. Опция AUTO используется только совместно с опцией MIN и размешает пиктограмму свернутого окна в правом нижнем углу экрана (окна). М.АХ — распахивает окно на весь экран (весь размер старшего окна), но в команде DEFINE WINDOW должна быть указана опция ZOOM.
NORM — окно принимает размер, указанный в команде DEFINE WINDOW или установленный предшествующей командой ZOOM WINDOW...
AT Yl, XI | FROM Yl, XI — задаст новые координаты левого верхнего угла минимизированного и нормального окна.
SIZE Y2, Х21 ТО Y3, ХЗ — задаст новый нормальный размер окна либо количеством строк и столбцов (Y2 Х2), либо координатами правого нижнего угла окиа (Y3, ХЗ).
9.11. ПРОКРУТКА ОКНА
SCROLLYl,XI, Y2,X2, <выр.М> [, <выр.1\2> ]
Команда перемешает прямоугольную область окна, заданную координатами левого верхнего угла (Y1, XI) и координатами правого нижнего угла (Y2, Х2), на <выр.Х1> строк и <вырЛЧ2> столбцов. Если <Bbip.Nl> и <Bbip.N2> положительные,то прокрутка производится вверх и вправо. Если отрицательные, то вниз и влево.
При создании окон допускается использование следующих функций:
\VEXIST(<hmb окна>) — функция возвращает значение «истина* (.Т.), если существует окно, указанное в <имя окна>. В противном случае возвращается значение «ложь» (.F.).
\\'ОМТОР([<нмя окла> ]) — функция без аргумента возвращает имя окна переднего плана. Если н аргументе указано имя окна переднего плана, то функция возвращает значение «истина» (.Т.). В противном случае возвращается значение «ложь* (.F.). \VOUTPUT([ <имя окна> ]) — функция без аргумента возвращает имя активного окна, в которое производится выдача информации. Если в аргументе указано имя активного окна, то функция возвращает значение «истина* (.Т.). В противном случае возвращается значение «ложь* (.F.).
\YMINIMUM([ <имя оква> ]) — функция возвращает значение «истина* (.Т.), если текущее (аргумент не указан) окно или указанное в <кмя окна> окно находится в свернутом состоянии. WMAXIMUM([ <имя окна> ]) — функция возвращает значение «истина* (.Т.), если текущее (аргумент не указан) окно или указанное в <нмя окна> окно распахнуто на весь экран (старшее окно). WCOLS([ <имя окна> ]) — функция возвращает количество столбцов либо в текущем (аргумент не указан) окне, либо в указанном окне.
WROYVS([ <ичя окна> ]) — функция возвращает количество строк либо в текущем (аргумент не указан) окне, либо в указанном окне.
\VLCOL{[ <имя окна> ]) - функция возвращает номер левой колонки (относи ельно экрана) либо текущего (аргумент не указан) окна, либо указанного окна.
WLROYV([ <имя окна> ]) — функция возвращает номер верхней строки (относительно экрана) либо текущего (аргумент не указан) окна, либо указашюго окна.
WLAST([ <имя окна> ]) — функция возвращает значение «истина» (.Т.), если указанное окно было активным перед текущим окном. В противном случае возвращается значение «ложь* (.F.). Если аргумент не указан, то функция возвращает имя предыду щего активного окна.
WTITLK([ <нмя окиа> ]) — функция возвращает заголовок либо текущего (аргумент не указан) окна, либо указанного окна.
SCOLS() — функция возвращает число столбцов экрана.
SROWS0 — функция возвращае число строк экрана.
При работе с функциями следует иметь в виду, что имя окна пишется буквами атинского алфавита и опреде шется в ком. нде DEFINE WINDOW... В тексте программы обращение к окну производится по его имени.
Заголовок окна указывается в опции TITLE команды DEFINE WINDOW и пишется как буквами латинского алфавита, так и буквами русского алфавита. Заголовок окна выводится на экран в строку заголовка.
Если окно BROWSE при своем описании имеет опцию TITLE, то в качестве имени окна BROWSE будет использоваться этот заголовок. Причем команды активации и деактивации окна распознают только заголовки написанные буквами латинского алфавита. При закрытии таких окон с помощью клавишных команд: Esc, Ctrl + W или Ctrl + End, не важно какими буквами написан заголовок окна, но при программном закрытии окна — существенно. Замечание справедливо и для русифицированных версий FoxPro.
9.12. ПРИМЕРЫ
Пример 1. Создание, предъявление на экран, скрытие и удаление окна «Вывод».
CLEAR
DEFINE WINDOW output FROM 2.1 TO 13,75 TITLE 'Вывод';
CLOSE FLOAT GROW SHADOW ZOOM ACTIVATE WINDOW output
WAIT WINDOW 'Нажмите любую клавишу для скрытия окна
'Зывод'
HIDE WINDOW output
WAIT WINDOW 'нажмите любую клавишу для вывода на экран
'окна Вывод'
SHOW WINDOW output
WAIT WINDOW 'Нажмите любую клавишу для удаления окна ' +,-
'Вывод'
RELEASE WINDOW output
Пример 2. Управление расположением окна на экране.
DEFINE WINDOW wEnter FROM 10,4 TO 15,54 SYSTEM TITLE; 'Перемещение окна'
ACTIVATE WINDOW wEnter
WAIT WINDC/W 'Нажмите любую клавишу для перемещения '+;
'окна'
MOVE WINDOW wEnter ТО 20,15
WAIT WINDOW 'Нажмите любую клавишу для расположения '+;
'окна по центру экрана'
MOVE WINDOW wEnter CENTER
WAIT WINDOW 'Нажмите любую клавишу для удаления окна' RELEASE WINDOW wEnter
Пр и м е р 3. Сохранение окна «Вывод» в файле.
CLEAR
DEFINE WINDOW wOutputl FROM 2,1 TO 13,75 TITLE 'Вывод';
CLOSE FLOAT GR' OW SHADOW ZOOM ACTIVATE WINDOW WOutputl
@ 1,1 SAY 1 Сохранение окна в файле temp.win';
FONT "Times New Roman',12 STYLE 'B'
SAVE WINDOWS wOutputl TO temp =INKEY(3)
CLEAR WINDOWS
WAIT WINDOW 'Для восстановления окна «Вывод» на '+;
'экране нажмите любую клавишу RESTORE WINDOW wOutputl FROM temp ACTIVATE WINDOW wOutputl
WAIT WINDOW 'Для удаления окна и файла нажмите '+;
'любую клавишу'
DEACTIVATE WINDOW wOutputl RELEASE WINDOW wOutputl DELETE FILE temp.win
Пример 4. Перемещение окна по экрану с изменением размеров.
CLOSE ALL && Закрытие всех файлов
SET DEFAULT ТО E:\PRIMER && Задание рабочего каталога USE Customer.dbf in 1 alias cus
&& Далее открытие двенадцати таблиц
USE | Order.dbf | in | alias | ord |
| |
USE | Salesman.dbf | in | alias | smn |
| |
USE | Sale.dbf | in | alias | sal |
| |
USE | Account.dbf | in | alias | acnt |
| |
USE | Catalog.dbf | in | alias | ctl | INDEX ORDER | |
USE | Autor.dbf | in | alias | atr |
| |
USE | Town.dbf | in | alias | twn |
| |
USE | Street.dbf | in | alias | str |
| |
USE | Fam.dbf | in | alias | fam | INDEX ORDER |
Дата добавления: 2015-09-29; просмотров: 15 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |