Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как правильно записать вызов функции с неск. параметрами?

248
08 октября 2012 года
Dmitry2064
590 / / 06.12.2006
На сервере есть папки трех сотрудников. + есть номер заказа. Надо, задавая номер заказа в диалоге, узнавать, у кого из сотрудников такая папка появилась и копировать ее содержимое к себе. А также забирать в переменную имя менеджера.
Я сделал Function() c двумя переменными (путь папкам менеджеров, номер). Т.е. если папка сущ, то возвращается имя папки (из которой можно вытащить/сопоставить имя менеджера). Можно ли организовать вызов функции с возвратом полученных значений переменных? не пойму, как это записать.
p.s. хотел вынести это в отдельную функцию, чтобы можно было быстро и в одном месте исправлять или дополнять список менеджеров.
Пока это сидит внутри процедуры в виде:

 
Код:
result = InputBox(Message, Title, "25", 10000, 10000) ''' вводится номер заказа
For Each mPap In Array(pathL & "\" & result, pathA & "\" & result, pathM & "\" & result, pathE & "\" & result)
    If Dir(mPap & "\") <> "" Then mPusto = False: mname = mPap: mT1 = Time: Call mCopy(newpapBD, mPap): Exit For ' fso.CopyFolder mPap, newpapBD, True: mname = mPap: mPusto = False
Next
А хочется, что бы это выполнялось в отдельной функции и чтобы в процедуру возвращалось бы значение имени папки (вроде, так было бы красивее)
405
08 октября 2012 года
Dmitrii
554 / / 16.12.2004
1. Функция может вернуть только одно значение.
2. По умолчанию параметры передаются функции по ссылке. Поэтому любые их изменения внутри функции станут "известны" вызывающей программе.
Пример:
Код:
a = 1: b = 1: c = 1
MsgBox "1." & vbNewLine & "a = " & a & vbTab & "b = " & b & vbTab & "c = " & c
Call Example(a, b, c)
MsgBox "2." & vbNewLine & "a = " & a & vbTab & "b = " & b & vbTab & "c = " & c
a = 1: b = 1: c = 1
MsgBox "3." & vbNewLine & "a = " & a & vbTab & "b = " & b & vbTab & "c = " & c
c = Example(a, b, c)
MsgBox "4." & vbNewLine & "a = " & a & vbTab & "b = " & b & vbTab & "c = " & c

Function Example(x, y, ByVal z)
x = x + 1
y = y - 1
z = z + 10
MsgBox "In function:" & vbNewLine & "x = " & x & vbTab & "y = " & y & vbTab & "z = " & z
Example = z
End Function
7
09 октября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Структуру опиши и передавай :)
248
11 октября 2012 года
Dmitry2064
590 / / 06.12.2006
Цитата: Dmitrii
1. Функция может вернуть только одно значение.
2. По умолчанию параметры передаются функции по ссылке. Поэтому любые их изменения внутри функции станут "известны" вызывающей программе.
...
End Function[/code]



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

84K
17 октября 2012 года
lirika28
4 / / 18.09.2012
Ответ здесь
7
17 октября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Не слушай его,не переходи по ссылке—нету там правильного ответа.Преимущественно пустая страница,ну и слева блок текстовый.ВСЁ
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог