|
|
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Помогите, пожалуйста. Есть подпрограмма. Как я понимаю параметры передаются по ссылке. Private Sub xxx(a As Integer, b As Integer) ... a = 10 b = 20 End Sub В вызывающей программе дело обстоит так: Dim a, b As Integer a = 1 b = 2 Call xxx((a),(b)) После вызова подпрограммы значения переменных не изменилось. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 11:45 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Код в студию целиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:01 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Код чего? Вызывающая программа огромна. Код не имеет отношения к делу. Суть вопроса: как изменить в подпрограмме переменные и отдать их в вызывающую программу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:06 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Ну тогда хотя бы вызов подпрограммы, объявление подпрограммы и код, меняющий значения переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:21 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Параметры нужно объявить с ByRef. А вообще хороший тон всегда явно указывать как передается параметр ByVal/ByRef. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:34 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Melissa_, всё верно. Ставя скобки вокруг параметра при вызове процедуры, вы говорите: "вычисли выражение, результат помести во временную переменную, временную переменную передай по ссылке в процедуру, выполни процедуру, уничтожь временную переменную". Как быть - решайте сами. P.S. Dim a, b As Integer означает Dim a As Variant, b As Integer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:41 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
FAndrewПараметры нужно объявить с ByRef.По умолчанию они и есть ByRef. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 12:45 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Бенедикт, спасибо! Дело действительно в описании. Если я убирала скобки компилятор ругался. Получается нельзя описывать переменные через запятую? Это только для Integer или для всех типов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 13:02 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Чушь написала. Все поняла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 13:04 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
А еще не подскажете как задать значения массива в его описании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 13:07 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Melissa_, значения элементов в описании массива задать нельзя - нет такого синтаксиса. В классическом BASIC-е есть пара операторов DATA/READ: Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 15:07 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Бенедикт, спасибо! После ваших ответов (как в присутствии мудреца) вопросы затихают. Скажите, вы даете столь исчерпывающие ответы только по BASIC-у или с вами можно пообщаться на других языках? И возможно ли в будущем обратиться с вопросом к вам непосредственно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 16:43 |
|
||
|
Передача параметров по ссылке
|
|||
|---|---|---|---|
|
#18+
Пожалуйста. Я пока не похож на седовласого мудреца ни внутренне, ни внешне :) Надеюсь, Вы понимаете, что форум тем и силён, что представляет разные точки зрения, что кто-то силён в одной области, а кто-то в другой, у кого-то сейчас нет свободного времени и/или желания на ответ, а у кого-то есть, и что большинство участников искренне старается помочь друг другу. Но если возникают вопросы, обсуждение которых, как Вам представляется, не будет иметь ценности для настоящих и будущих участников и читателей форума, можете обращаться ко мне напрямую, адрес в профиле. "На других языках" - это на каких? Например, немецкий и Haskell для меня - тёмный лес . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 18:27 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35779682&tid=2161391]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 330ms |

| 0 / 0 |
