|
|
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
Данные этому аргументу передаются перечислением, через запятую: Код: plaintext Сборка в строковую переменную не проходит: в процедуру передается что-то типа: Код: plaintext Пробовал создать еще один массив varМассив(10) As Variant, заполнять его по ходу работы программы: Код: plaintext 1. 2. 3. 4. 5. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2004, 16:21:52 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
Как вариант - создаешь массив с параметрами далее, для каждого кол-ва параметров своя строка вызова Select Case i case 1: Call Процедура(varМассив(1)) case 2: Call Процедура(varМассив(1),varМассив(2)) case 3: Call Процедура(varМассив(1),varМассив(2),varМассив(3)) и поехали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2004, 16:27:28 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
Это как, посчитать через UBound(varМассив()) число элементов промежуточного массива, а потом через Select Case...? А массивы просто не передаются - как, скажем, переменные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2004, 17:40:00 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
А зачем считать, после заполненияю Посчитать можно и в процессе (там в примерчике неко i было - вот его и юзай). Передать массив вместо ряда параметров нельзя. Это связано с принципами передачи параметров в функции и процедуры. Но данное дейсвие можно сэммитировать - создав свою функцию на примере приведенной и вызывая из нее нужную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2004, 17:54:14 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
Просто не надо пользоваться ParamArray, и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2004, 17:58:31 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
Сделать две весии, одна счеловеческим параметром Array, вторая-с ParamArray, тело из одной строчки -вызов первой поцедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2004, 19:27:48 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
vam911Передать массив вместо ряда параметров нельзя. Это связано с принципами передачи параметров в функции и процедуры. Это почему же нельзя? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2004, 09:54:05 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
2 SRG: Может "нельзя" у vam911 относится именно к использованию ParamArray? 2 vam911: Предложенный тобой способ (с Select Case) работает, с одной заковыкой: поскольку заранее неизвестно максимальное значение i, пришлось наляпать этих Case > максимально разумно-возможного(в последней ветке - 15 параметров!). И все-равно: а вдруг когда случится, что i будет еще больше? 2 ВС: А как, в данном случае без ParamArray? У меня здоровенная процедура, с разветвлениями, в этих ветвях запросы на изменение, каждый удачно выполненный запрос должен разместить где-то свою "квитанцию". Все "квитанции" в итоге обрабатываются(см. топик "Перебор значений поля запроса и сравнения его с массивом "). Можно, конечно, не копить "квитанции", а вызывать обработку для каждой..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2004, 10:43:43 |
|
||
|
Передача данных аргументу ParamArray varParam()
|
|||
|---|---|---|---|
|
#18+
во-первых, это конечно криво, но можно объявить глобальную переменную массив. во-вторых, если мне не изменяет память, у аксесса были какие-то встроенные средства для работы с переменнным числом параметров. в-третьих, что мешает делать call function("первый, второй, девятнадцатый"), а в теле функции уже анализировать этот аргумент и пускать цикл от 1 до (количества запятых+1)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2004, 10:53:10 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32660342&tid=1672275]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 353ms |

| 0 / 0 |
