Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: For...Next Добавлено: 10.11.07 20:10  

Автор вопроса:  Nytrogen
Вопрос касается специфики цикла For...Next.

Допустим, надо перебрать числа от 5 до 1 в убывающем порядке. Пишу:
Sub TestLoop()

  Dim i As Byte

  For i = 5 To 1 Step -1
    MsgBox i
  Next i

End Sub


Компилятор орёт Overflow.
С Integer'ом же всё зашибись.

Насколько я понимаю, Step должен по типу соответствовать типу переменной счётчика. Или в чём тут дело?

Ответить

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

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



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 10.11.07 20:21
Ты прав. Он ругается, потому что пытается от переменной Byte отнять Byte, а оно отрицательным быть не может.
Юзай Do...Loop

Ответить

Номер ответа: 2
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #2 Добавлено: 10.11.07 20:25
дык... Объявляй As Integer или As Long...

Ответить

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



Вопросов: 18
Ответов: 186
 Профиль | | #3 Добавлено: 10.11.07 20:37
Ясно, спасибо.

Ответить

Страница: 1 |

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



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