Как сделать цикл в Visual Basic - PullRequest
       21

Как сделать цикл в Visual Basic

0 голосов
/ 16 февраля 2010

Я программировал на C, Pascal, GWBasic, TCL, Perl, Lisp, но Visual Basic слишком продвинут для меня.

FOR j = 1 TO 31
  output_to_webpage "<p>Counter is " + j + "</p>"

  myDay = "" + j
  IF j < 10 THEN myDay = "0" + j

  MyStr = MyStr + ",j"
NEXT

Цикл никогда не появляется. Хотя, если я закомментирую какие-либо ссылки на переменную цикла, j, она, похоже, зациклится.

Как я могу на самом деле сделать цикл Visual Basic. Или ошибка. Не молча притворяться, что там вообще нет петли FOR?

update : если первый оператор цикла был простым оператором отладки, я ожидал, что он ВСЕГДА будет выполнен хотя бы один раз, даже если остальная часть цикла была прервана. Однако, как указано ниже, использование арифметики для переменной цикла каким-то образом приводит к тому, что весь цикл не выполняется ни разу. Даже не начальная инструкция отладки внутри цикла. Я думаю, очень, очень странно.

Ответы [ 4 ]

5 голосов
/ 16 февраля 2010

Я думаю, это потому, что вы добавляете строки, используя арифмическое сложение вместо добавления строки.

Код должен быть (сверху головы):

FOR j = 1 TO 31
  output_to_webpage "<p>Counter is " & j & "</p>"

  myDay = "" & j
  IF j < 10 THEN myDay = "0" & j

  MyStr = MyStr & ",j"
NEXT
0 голосов
/ 16 февраля 2010

Объявлен ли j?

Dim j as Integer

, затем добавьте

Next j
0 голосов
/ 16 февраля 2010

Скорее всего, содержимое внутри цикла сломано. Это работает в консольном приложении VB.NET:

For n = 1 To 31
    Console.WriteLine(n)
Next

Поэтому я сомневаюсь, что цикл For будет сильно отличаться в предыдущих версиях VB.

Попробуйте написать тело вашего цикла, подставив 1 для переменной цикла, и посмотрите, что он делает.

0 голосов
/ 16 февраля 2010

Вы пробовали NEXT j?

...