Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Передача параметров

Читайте также:
  1. I. Передача
  2. Адсорбция. Зависимость от параметров системы
  3. В арифметических выражениях кроме переменных, указанных в списке формальных параметров, могут присутствовать и другие переменные.
  4. В.3.1 Лучистая теплопередача
  5. ВЕРХНЯЯ ПЕРЕДАЧА ДВУМЯ РУКАМИ
  6. Влияние инерционности носителей заряда и паразитных параметров АЭ на усилительные возможности ГВВ.
  7. ВНЕШНЯЯ МАССОПЕРЕДАЧА. КОЭФФИЦИЕНТ МАССОПЕРЕДАЧИ.

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

Чтобы лучше понять, как работает этот механизм, представьте себе соковыжималку. Все, что она умеет делать, — выжимать сок из фруктов и овощей. Положите в нее морковку, и вы получите морковный сок. Положите апельсин — и получит-

ся апельсиновый сок. Замените соковыжималку некоторой функцией, «положите» в нее некоторый параметр, и вы получите соответствующий тип сока, то есть результат.

Любую процедуру или функцию следует свести к выполнению конкретной задачи. Эта задача может состоять из нескольких подзадач, но все они работают вместе и дают общий результат. Например, следующая процедура изменяет свойство формы 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 | Нарушение авторских прав


Читайте в этой же книге: Свойства табличных списков | Вкладка General | События табличных списков | Все вместе | Строка состояния | Работа со строкой состояния | Что нового мы узнали? | Модули и классы | Процедуры | Функции |
<== предыдущая страница | следующая страница ==>
Обновление программной библиотеки| Ключевые слова Public и Private

mybiblioteka.su - 2015-2024 год. (0.008 сек.)