Программирование >>  Разработка пользовательского интерфейса 

1 ... 26 27 28 [ 29 ] 30 31 32 ... 147


С0Л1Г0К

Edit

Bern me Dtio

FileLocofime

Fumatis Indent

IjtijWattitctiBiftaefsJ, J2 F Show Unii/Caltimn PbHtkin

Г Mel<e g.aci-i.ip Copy Г iofflplle flfliBHa Sftvjng Г Save with nd-ol-Fila Merkef P Save wiih LfiB Faede

Г Sei вь Detevli Soi Memo*

J С

I вир

Рис. 4.2.

При работе с редактором мы можем использовать команды, которые располагаются в меню Edit и Format. Еще удобнее использовать клавиатурные комбинации, перечень которых приведен в табл. 4.3. Не забудьте также о кнопках на стандартной панели инструментов. При наборе программы в редакторе очень удобно использовать макросы.

Макросом называется предварительно записанная последовательность команд, которая выполняется при его запуске. Для запуска макроса чаще всего используются клавиатурные комбинации.

В Visual FoxPro макрос можно записать с помощью соответствующей команды в меню Tools. Появляющееся при этом диалоговое окно представлено на рис. 4.3.

Macros

i-SndividiJ&l Macfo-

№ f7

Record..

Edit...

Clear

r-Maao Set-

Rssipra... [ SelQefeiult

Рис. 4.3.

В своей работе вы можете использовать несколько наборов макросов, сохраняя их в соответствующих файлах. Для сохранения и загрузки необходимых макросов надо использовать



/ Macro Edit

Defined Key: Macro Name: Macro Contents:

CTRL-t-F

Ctrl f

Cancel

FOR{ENTER}{ENTER}ENDFOR

Qrl+Tab to exit

Рис. 4.4.

Таблица 4.3. Комбинации клавиш, используемые при работе

Комбинация клавиш

Ctrl+A

Ctrl+C Ctrl+F Ctrl+L Ctrl+R Ctrl+V

Ctrl+W

Ctrl+X Ctrl+Z Ctrl+Home

Пункт меню

Select All

Copy

Find

Replace

Redo

Paste

Cut Undo

Home

Ctrl+End

с редактором

Выполняемое действие

Выделить весь текст в окне редактора

Скопировать выделенный текст

Найти

Заменить

Вернуть отмененное действие

Вставить фрагмент текста из буфера в место нахождения курсора

Закрыть редактор и сохранить все сделанные изменения

Вырезать выделенный текст

Отменить сделанное действие

Переместить курсор в начало текста

Переместить курсор в начало строки

Переместить курсор в конец текста

Переместить курсор в конец строки

В качестве примера мы с вами создадим макрос для автоматического набора какой-нибудь сложной команды. Пусть это будет команда задания цикла FOR...NEXT. Такие структурные команды чаще всего вызывают ошибки, так как тело цикла может занимать десятки строк и, разбираясь в его перипетиях, программист забывает о необходимости закрытия цикла. Присвоим этому макросу клавиатурную комбинацию Ctrl+F. Тогда по умолчанию он получит имя ctrl f. Не следует пытаться присвоить макросу клавиатурную комбинацию, которая уже используется в Visual FoxPro. Теперь в поле Macro Contents наберем такой текст:

FOR{ENTER}{ENTER}N EXT

В фигурных скобках мы указали название клавиш, нажатие которых нам надо имитировать в данный момент. В этом примере мы имитируем двухкратное нажатие клавиши Enter для перехода на следующую строку и тем самым создаем внутри команды пустую строку для записи тела

кнопки, расположенные внизу диалогового окна.

Для записи макроса нажмите кнопку New. Появится диалоговое окно для создания и редактирования макросов, представленное на рис. 4.4. Нажмите клавиатурную комбинацию, с помощью которой вы хотите в дальнейшем вызывать данный макрос.



цикла. Как правильно записать в макросе названия других клавиш и их сочетаний можно узнать, изучив длинную таблицу в справке к команде ON KEY LABEL после вызова контексной помощи.

Теперь, работая в редакторе, мы всегда можем нажать клавиши Ctrl+F и в программе у нас автоматически появятся следующие три строчки:

FOR NEXT

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

PROCEDURE ProcedureName

и выполняется, пока не будет выполнено одно из следующих условий:

Еще раз встретится слово PROCEDURE.

Будет обнаружена команда RETURN - возвращение в предыдущую программу.

Будет выдана команда CANCEL - прерывание работы программы.

Будет выдана команда QUIT - выход из СУБД.

Встретится новая команда DO для запуска другой программы.

Будет достигнут конец файла.

В FoxPro аналогично подпрограмме трактуется понятие пользовательской функции, которая начинается с ключевого слова

FUNCTION FunctionName

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

1. Присвоить возвращаемое значение переменной. Например, следующая строка кода запоминает текущую системную дату в переменной dToday:

dToday = DATE()

2. Включить вызов функции в команду. Например, следующая команда устанавливает по умолчанию каталог, имя которого возвращает функция GETDIR():

SET DEFAULT TO GETDIR()

3. Напечатать возвращаемое значение в активное окно:

? TIME()

4. Вызвать функцию без запоминания где-либо возвращаемого значения:

SYS(2002)

Для прерывания выполнения программы служит оператор RETURN [Expression TO MASTER TO ProgramName]

который возвращает управление в вызывающую программу, и в ней выполняется следующая команда после вызывающей; если указана опция TO MASTER, то управление возвращается на самый верхний уровень вызывающей программы, а эта же программа с опцией TO ProgramName передает управление в указанную программу. При использовании в функции команда автоматически возвращает .T., если не указано другое выражение на месте Expression.

RETRY

действует подобно команде RETURN, но при возвращении управления в вызывающую программу повторяется выполнение последней команды.

Создайте новый программный файл и наберите в редакторе приведенный ниже текст. В этой программе объявляется массив, элементы которого принимают значения от 1 до 10. Каждое присвоение значения сопровождается появлением на экране сообщения с указанием присвоенной величины. Посмотрите на сообщения, выводимые этой программой на экран.

* Пример простейшей программы

DIMENSION aSampleArray(10)



1 ... 26 27 28 [ 29 ] 30 31 32 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика