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

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

Например, приведенные ниже строки кода иллюстрируют основную форму процедуры и функции:

 CopyCode image Скопировать код
PROCEDURE myProcedure
   * Вставить код процедуры.
ENDPROC

FUNCTION myFunction
 * Вставить код функции.
  RETURN myFuncReturnValue
ENDFUNC

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

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

NoteЗамечание

Если вы включаете процедуры и функции в файл с другим кодом, то они должны быть помещены в конец файла, после нормального исполнимого кода. Вы можете не включать нормальный исполняемый программный код, за которым следуют процедуры и функции в файл .prg. В таком случае, в таком файле после первого оператора PROCEDURE или FUNCTION могут размещаться только другие определенные пользователем процедуры, функции и определения класса.

Смотрите также