Процедуры
Оформление процедуры в Visual FoxPro происходит следующим образом:
Имя процедуры можно придумывать любое, но не более 254 символа длиной. Состоять оно может только из букв, цифр и символов подчеркивания.Первым символом в названии процедуры должна быть буква или символ подчеркивания. Главное - не повторяться и не использовать в качестве имени процедуры ключевые слова Visual FoxPro.
Для чего нужно ключевое слово LPARAMETERS? Допустим, что кроме выводауказанного выше сообщения вам требуется указывать номер этапа, которыйпрошел успешно. Например:
Чтобы не писать отдельную процедуру для каждого этапа, оформим однууниверсальную процедуру, а номер этапа будем передавать процедуре. Чтобыосуществлять такую передачу данных от вызывающей программы вызываемойпроцедуре, и существует механизм передачи параметров. После ключевого слова LPARAMETERS через запятую перечисляются переменные, в которые занесутся переданные параметры. Команды процедуры записываются по тем же правилам, что и команды в теле основной программы. Рекомендуется пользоватьсяотступами, так же как и в тексте основной программы.
После ключевого слова RETURN указывается результат работы процедуры,который передается вызывающей программе. Можно ничего не передавать, ауказать просто RETURN. А можно и ключевого слова RETURN не указывать, еслине требуется возвращать никакого значения.
Чтобы обозначить, где кончается текст процедуры, используется ключевоеслово ENDPROC. Его присутствие обозначает, что все команды, следующие заним, уже не относятся к процедуре.
Есть и другой способ оформления процедуры (отличается только способомпередачи параметров):
Чтобы вызвать процедуру на выполнение из программы, нужно воспользоваться командой:
> <Имя_программы1> I <Имя_процедуры> - имя вызываемой процедуры илиимя запускаемой программы;
> IN <Имя_программы2> - указывает имя программы, где находится процедура, которую нужно выполнить, если она располагается не в текущейпрограмме;
> WITH <Список_параметров> - указывает через запятую параметры, которые нужно передать вызываемой процедуре или программе.
Командой Do можно вызывать из программы на выполнение не только процедуры, но и любые исполнимые файлы Visual FoxPro. Если не задать расширение файла программы, то поиск будет осуществляться в следующем порядке:
> файлы с заданным именем и расширением .ехе;
> файлы с заданным именем и расширением .арр;
> файлы с заданным именем и расширением .fxp;
> файлы с заданным именем и расширением .prg.
Например, запустить из программы другую программу Primer.prg, расположенную в папке D:\MyFolder\, можно, используя команду
Рассмотрим пример программы с процедурой в своем составе. Для этоговыполните следующие действия:
1. Смените текущую папку, выполнив в окне Command командуCD ?
2. Откроется окно, в котором нужно найти созданную нами ранее папкуexample.
3. Выберите из меню File (Файл) команду New (Новый) или щелкните мышью по кнопкена панели инструментов Стандартная. Откроется окно,представленное на рис. 3.1. Выберите пункт Program (Программа), а затем щелкните мышью по кнопке New file (Новый файл). Откроется пустое окно, предназначенное для ввода текста программы.
5. Сохраните программу в файле, для чего выберите из меню File (Файл)команду Save (Сохранить) или щелкните по кнопкена панели инструментов Стандартная. В результате откроется стандартное окно сохранения документа, где тип файла уже будет указан, а от вас потребуется указать имя файла. Назовем наш файл с программой MyPrg. Щелкнитемышью в поле Save Document (Сохранить документ) и введите MyPrg.После этого щелкните мышью по кнопке Сохранить (Save).
6. Выберите команду Do MyPrg (Выполнить) из меню Program (Программа) , либо щелкните по кнопкена панели инструментов Стандартная.Программа запусти тся на выполнение и успешно выполни тся.
7. Результаты выполнения должны появиться в рабочем поле окна VisualFoxPro. Они должны выглядеть, как показано ниже.
Возможно, окно с программой будет закрывать результаты. Если вы их не видите, попробуйте сдвинуть мышью окно с текстом программы за его заголовок.