2016-07-19 2 views
1

При отладке программы VB6 было бы полезно вывести в ближайшее окно довольно большой многомерный массив. Это позволит скопировать/вставить в другой редактор для анализа и будет проще, чем щелкнуть по массиву в окне locals.Можете ли вы выполнить итерацию в непосредственном окне VB6?

Однако я не уверен, как использовать циклический синтаксис в непосредственном окне - или даже если это возможно.

ответ

5

Вы можете использовать двоеточие (:) для разделения операторов на одну строку. Например:

for x=0 to 2:for y=0 to 2: ? myData(x,y): next : next 

Результат:

Это 0 0
Это 0 1
Это 0 2
Это 1 0
Это 1 1
Это 1 2
Это 2 0
Это 2 1
Это 2 2

3

После более возни, чем это должно быть обязательно, получается ответ:

Хотя большинство операторов, которые поддерживаются в открывшемся окне, структура управления действует только если он может быть полностью выражен в одной строке кода; используйте двоеточия для разделения операторов, составляющих структуру управления. Следующий цикл действует в открывшееся окно:

For I = 1 To 20 : Print 2 * I : Next I

(который formally documented here.)

Некоторые дополнительные детали:

  • Переменные в немедленном окне не требуется декларация - даже если в запущенном модуле/программе используется Option Explicit. Это делает произвольным для петли удобное (но также делает ошибки проще при попытке ссылки на переменные в текущей области).

  • Печать может быть сделано с любым из: Debug.Print, просто Print или ?

  • Вложенные циклы работы.

+0

Оглядываясь назад, это кажется очевидным. К сожалению, некоторая несвязанная синтаксическая ошибка (возникающая из-за нечитаемости длинной одиночной строки в непосредственном окне, которое я использовал!) Обфускали, что это действительно работает, когда я впервые попробовал это. – DaveInCaz

Смежные вопросы