Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.6 Mб
Скачать

5.8.7.3. Запуск программных компонентов

Команда

DO ProgramName1 | ProcedureName [IN ProgramName2] [WITH ParameterList]

выполняет программу, процедуру или функцию VFP. Команды DO могут быть вложенными. Число уровней вложения не должно быть больше 128.

Опции и параметры:

ProgramName1 – имя вызываемой программы.

Если расширение не указано, то VFP ищет файл ProgramName1, используя различные расширения в следующем порядке:

  • EXE (исполняемый файл);

  • APP (приложение);

  • FXP (откомпилированные программы);

  • PRG (программы с исходным кодом).

Для выполнения программы меню, формы или запроса следует указать ProgramName1 соответственно с расширением MPR, SPR или QPR.

ProcedureName – имя выполняемой процедуры или функции. Поиск программы, если не задана опция IN ProgramName2, осуществляется в порядке, приведенном в разд. 5.8.5.

IN ProgramName2 – указывает, что должна быть выполнена процедура, расположенная в файле с именем ProgramName2. Если файл или процедура не обнаружена, то генерируется ошибка "File does not exist" или "Procedure is not found".

WITH ParameterList – список фактических параметров, передаваемых программе или процедуре (функции). Имена параметров разделяются запятыми.

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

По умолчанию переменные и массивы, указанные в опции WITH, передаются по ссылке. Параметр будет передан по значению, если его заключить в круглые скобки. Если командой SET UDFPARMS задан способ передачи параметров по значению, то для передачи параметра по посылке перед ним нужно проставить символ @.

Максимально допустимое число параметров в ParameterList – 26.

Выполнение программы или процедуры (функции) прекращается командами RETURN, CANCEL, QUIT, ENDPROC, ENDFUNC или при обнаружении конца процедуры (функции).

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

Если команда DO выполнена из меню Program и выполняемый файл расположен в директории, отличной от директории по умолчанию, то VFP автоматически меняет директории по умолчанию на директорию расположения файла.

Функция

ExecScript(cExpression [, eParameter1, eParameter2, ...])

запускает код, содержащийся в тексте (строке) cExpression. Если текст cExpression содержит в своем начале команду задания параметров, их значения могут быть переданы параметрами eParameter1, eParameter2, ...

Функция возвращает величину, содержащуюся в команде RETURN текста cExpression, либо .T., если такой команды в тексте нет или если она не выполняется.

Функции ExecScript( ) обеспечивает тот же эффект, что и выделение в командном окне нескольких строк и последующее нажатие на Enter.

Пример:

someText = "parameters p1, p2" + Chr(13) + ;

"resVal = p1 + p2" + Chr(13) + ;

"? resVal" + Chr(13) + ;

"return resVal"

&& Вызываем ExecScript( ) с двумя параметрами

? ExecScript(someText, 2, 5) && Напечатает: 7 7

Команда

ON KEY [LABEL KeyLabelName] [Command]

задает команду Command, выполняемую при нажатии на клавишу или комбинацию клавиш, или на кнопку мыши, указываемую опцией LABEL KeyLabelName.

Параметр:

KeyLabelName – буква, число или специальное приведенное в табл. 5.7 имя.

Таблица 5.7

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]