Читайте также:
|
|
Чтобы процедура работала с различными исходными данными, ей можно передавать параметры, которые также иногда называются аргументами. Передача параметров функциям имеет очевидный смысл: вы хотите, чтобы функция выполняла одни и те же действия с разными данными. Сказанное относится и к процедурам, за одним исключением: процедура не возвращает значения. Одну и ту же процедуру можно вызывать снова и снова, что становится первым шагом на пути к повторному использованию кода.
Чтобы лучше понять, как работает этот механизм, представьте себе соковыжималку. Все, что она умеет делать, — выжимать сок из фруктов и овощей. Положите в нее морковку, и вы получите морковный сок. Положите апельсин — и получит-
ся апельсиновый сок. Замените соковыжималку некоторой функцией, «положите» в нее некоторый параметр, и вы получите соответствующий тип сока, то есть результат.
Любую процедуру или функцию следует свести к выполнению конкретной задачи. Эта задача может состоять из нескольких подзадач, но все они работают вместе и дают общий результат. Например, следующая процедура изменяет свойство формы Caption:
1. Создайте новый проект типа Standard EXE.
2. Поместите кнопку на форму Form"). Задайте ее свойству Name значение cmdCaption, а свойству Caption — значение Изменить заголовок.
Private Sub AlterCaption(X As String)
Caption = X
End Sub
Примерный вид окна программы показан на следующем рисунке.
Рис. 4.7. Окно приложения-примера
Процедуре передается всего один аргумент — X. Его имя не имеет никакого значения, однако процедура будет правильно работать лишь в том случае, если ей будет передано строковое (текстовое) значение. Например, вы можете создать строковую переменную с именем MyTitleText и присвоить ей значение Новый заголовок, после чего передать MyTitleText в качестве параметра процедуры. Другими словами, процедуре можно передать имя строковой переменной или обычный текст, заключенный в кавычки (строковую константу).
Чтобы вызвать процедуру (скажем, из процедуры события Click кнопки), попробуйте ввести следующий фрагмент (см. окно программы на следующем рисунке):
Текст после имени процедуры образует строковую константу — обратите внимание на окружающие кавычки. Строковая константа и является параметром, который ставится в соответствие аргументу X. Передача строковой переменной может быть продемонстрирована на следующем примере (см. окно программы далее):
Как видите, на этот раз кавычки не используются. Также следует обратить внимание на отсутствие скобок вокруг параметра (хотя аргумент, которому он передается, заключен в скобки). Ваша форма должна быть похожа на рис. 4.8.
Рис. 4.8. Изменение свойства Caption в программе
Параметры, передаваемые функциям, должны заключаться в скобки. Параметры процедур в скобки не заключаются. Кроме того, если передается несколько параметров, их следует разделять запятыми. Например, у вас имеется процедура CreateUser, которая получает два параметра — имя пользователя и пароль. Ее вызов в программе может выглядеть следующим образом:
CreateUser "Джон Доу", "123456"
Или
Dim UserlD As String
Dim Password As String
UserlD = "Джон Доу"
Password = "123456"
CreateUser UserID, Password
Как видите, код обоих примеров выглядит очень просто. В первом случае нужные значения параметров передаются процедуре напрямую — это называется «жесткое кодирование». Хотя этот вариант возможен, при создании нескольких пользователей в программе появится много лишних строк. Альтернативный вариант — использовать переменные, присвоить им нужные значения и один раз вызвать процедуру (как это сделано во втором примере).
Кроме того, можно создать специальную функцию, которая будет проверять комбинацию имени и пароля пользователя и возвращать значение, определяющее правильность данных. Например, это может выглядеть так:
Dim UserlD As String
Dim Password As String
UserlD = "Джон Доу"
Password = "123456"
If ValidUser(UserID, Password) = True Then
‘Сделать что-то полезное
Else
‘Вывести сообщение об ошибке
End If
Обратите внимание на то, что параметры заключены в скобку и разделены запятыми. Количество параметров определяется при объявлении функции. Одни функции вызываются с несколькими параметрами, другие — вообще без параметров.
Дата добавления: 2015-07-20; просмотров: 78 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Обновление программной библиотеки | | | Ключевые слова Public и Private |