|  | 
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Добрый день уважаемые!  Проведите пожалуйста ликбез(( Вот простейшая процедура с параметрами. Она передает переменным VB,NB,Vtek значения , но как только переходит в процедуру Moduli_rascheta, эти переменные становятся =0((( Есть возможность их объявить в процедуре Raschet_na_deni так, чтобы они были видны и в др.? Код: vbnet 1. 2. 3. 4. 5. 6. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:07 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ vdekameronПроведите пожалуйста ликбезИзучите, наконец, уже тему "область видимости переменной". Зачем повторять учебник в топике? vdekameronЕсть возможность их объявить в процедуре Raschet_na_deni так, чтобы они были видны и в др.?нет. передавайте их явно ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:22 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ vdekameronно как только переходит в процедуру Moduli_rascheta, эти переменные становятся =0эти переменные не становятся равны нулю, они вообще не видны в процедуре Moduli_rascheta. Чтобы это понять, используйте Option Explicit, я же уже просил об этом. Тогда и вопросы ненужные отпадут сами собой. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:24 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Shocker.Pro, Спасибо! ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:25 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Я их объявил явно вверху и в процедуре. сделал - Option explicit. И когда переходит в процедуру  Moduli_rascheta они именно равны 0 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:32 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ vdekameronЯ их объявил явно вверху и в процедуре. сделал - Option explicit. И когда переходит в процедуру  Moduli_rascheta они именно равны 0Не верим на слово, верим коду. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:34 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ AntonariyНе верим на слово, верим коду. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:49 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ эта переменная сама по себе vdekameron Код: vbnet 1. эта переменная сама по себе vdekameron Код: vbnet 1. Это РАЗНЫЕ переменные, они просто имеют одинаковые имена. Можешь дать им разные имена, чтобы было понятнее ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:53 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ vdekameron  Код: vbnet 1. Нажми правой кнопкой на NB и выбери пункт Definition. VB покажет тебе, где объявлена твоя переменная ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:54 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Shocker.Proони просто имеют одинаковые имена. Извините конечно, что раздражаю вас простейшими вопросами, но как это может быть, разве в таких случаях VB6 не должен ругаться, что мол совпадение имен. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 14:57 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Не извиню, я же сказал Shocker.ProИзучите, наконец, уже тему "область видимости переменной". Зачем повторять учебник в топике?, а вы опять пытаетесь получить учебник на форуме. Поведение переменных с одинаковыми именами в разных областях видимости четко регламентировано ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 15:02 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Shocker.ProНе извиню, я же сказал Казнить нельзя, миловать) У меня нету этого учебника. Я только ЗА почитать. Говорил уже вам что сейчас Лукина читаю. Там такого нет. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 15:04 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Ок. Если имена переменных пересекаются, приоритет имеет переменная с наименьшей областью видимости. То есть внутри процедуры Raschet_na_deni под VB будет подразумеваться параметр процедуры, а не переменная модуля с тем же именем. Глобальный совет. Сведите использование глобальных переменных к минимуму, в идеале их не должно быть вообще (разве что глобальные настройки, глобальные константы типа Пи, но не рабочие переменные). Каждая процедура в идеале должна работать как черный ящик - получать на входе параметры и выдавать наружу результат (если он есть), она не должна зависеть от каких-то глобальных переменных и ничего не должна знать о том, кто ее вызывает. То есть процедуре должно быть все равно, в каком проекте она находится и кто ее вызвал, ее задача принять данные и выдать результат. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 15:13 |  | ||
| 
Процедуры с параметрами | |||
|---|---|---|---|
| #18+ Shocker.ProГлобальный совет. Сведите использование глобальных переменных к минимуму Ну значит я изначально сделал правильно! А сейчас просто прочитал в этой книге про процедуры с параметрами и решил переделать. Спасибо за хороший совет! ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.01.2015, 15:45 |  | ||
|  | 

| start [/forum/topic.php?desktop=1&fid=60&tid=2156054]: | 0ms | 
| get settings: | 9ms | 
| get forum list: | 13ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 38ms | 
| get topic data: | 12ms | 
| get forum data: | 2ms | 
| get page messages: | 48ms | 
| get tp. blocked users: | 2ms | 
| others: | 12ms | 
| total: | 142ms | 

| 0 / 0 | 
