Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Обьявление переменных! Добавлено: 02.09.06 00:17  

Автор вопроса:  ENIX | ICQ: 238819245 
Уже как-то не первый раз обьявляю переменные. Но возник вопрос по поводу их обьявления. А именно как знаем если в ВБ не обьявить переменную, то обьявится автоматом как Variant.
К примеру:

Dim Num%
For Num=0 To 10
 ....
Next

Тут Num как Integer - это понятно. Т.е., если можно так сказать ранне привязывание.

А если так:
For Num%=0 To 10
 ...lpProcessID(Num)
Next

Насколько эти два варианта разные. Да тут как сказать позднее привязвание как в Objecta'х. Но ведь ей к ней VB привязывает тип Integer. Т.е. варианты одинаковы по своей сути.
Эти варианты конечно внутри Subov или функций. Как-то удобней чтобы там было именно так. Т.е. промежуточные переменные.
Заранее благодарен!

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 02.09.06 02:40
объявляй тип явно и не парься...

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 02.09.06 02:41
option explicit еще не забывай в каждом модудле писать )

Ответить

Номер ответа: 3
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #3 Добавлено: 02.09.06 20:29
Понял! спс sne)

Ответить

Номер ответа: 4
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #4
Добавлено: 03.09.06 00:15
Не думаю чтобы VB компилировал циклы через Variant. Даже в IDE он такого не делает. Variant нужен только для работы с объектами (в т.ч. OLE строками) и вряд ли будет использован не по назначению (счётчик цикла и т.д.).

Ответить

Номер ответа: 5
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #5 Добавлено: 04.09.06 10:43
Хе, очень даже делает. Слишком многого вы от компилятора ждете, да и не его это дело как объявлена переменная и зачем. Надо Variant - значит надо.
Хочу заметить только что разговор про ранее и позднее связывание здесь неуместен - речь просто идет о разных типах переменных, а не о способе доступа к ним. И VB использует Variant для IDispatch и BSTR только при присвоении переменной Variant соответствующего значения.

'А если так:
For Num%=0 To 10
 ...lpProcessID(Num)
Next

Шестой VB не поддерживает инициализацию переменных при объявлении. Если в С++ ты можешь объявить тип счетчика прямо в цикле, то VB6 при наличии Option Explicit просто выдаст тебе ошибку. Однако, если Explicit отсутствует, компилятор типизирует переменную как Integer. Это, можно сказать, исключение из правила. Либо я чего-то недопонимаю.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам