Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [ 28 ] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

/ 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)



Имя файла контекстном помощи для данного проекта

И мя -залускае мо го м одуг я

Имя проекта

EnvironrnBrrt Startup Form:

JdalpRle:

Dject I Edhor AivancEd

ProJE Name: ProJ9ct1

HelpCorteKllD:

i-SlartUodg-

-(S" 51andBlong Г DLEServar

Ctimaiible OLE Ser/er.

ApplicHtian Description:

Cancel

Help

kpaTirae описание прилояения

Имя исполняемого файла для контроля сойместигостм

gtitSopi.GnpooBa запуска прило1ке+:1;В

Б виде независимого исп.алнябгдргофла

или сервера oLfe

Рис. 4.5.

Создадим в проекте программный модуль путем выполнения команды Module в меню Insert. Потом в этом же меню выполним команду Procedure. В появившемся диалоговом окне,

FOR nItem = 1 TO 10

aSampleArray(nltem) = nItem = Append proc()

NEXT

FUNCTION Append proc

? "В массив добавлено новое значение " ?? nItem

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

Теперь посмотрим на Visual Basic. Это средство разработки настолько сфокусировано на визуальных возможностях разработки программ, что написать вручную несколько строк кода, запустить их на выполнение и тут же увидеть результат не так просто для начинающего программиста, как в Visual FoxPro. Однако попробуем это сделать.

Начнем с задания команды Options меню Tools. В появившемся диалоговом окне настройки конфигурации Visual Basic выберем вкладку Project (рис. 4.5). В раскрывающемся списке Startup Form вместо значения, установленного по умолчанию, - Form1, выберем Sub Main. Значение Form1 обеспечивает запуск в качестве главной программы визуальной формы с этим именем по умолчанию. Значение Sub Main позволяет в качестве запускаемой программы использовать

процедуру.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [ 28 ] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146