您可以在 VB6 立即数 window 中执行迭代吗?

Can you perform an iteration in the VB6 immediate window?

调试 VB6 程序时,立即输出相当大的多维数组会很有用 window。这将启用 copy/paste 到另一个编辑器进行分析,并且比单击本地 window.

中的数组更容易

但是我不确定如何立即使用循环语法 window - 或者即使这是可能的。

您可以使用冒号 (:) 分隔一行中的语句。例如:

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

结果:

This is 0 0
This is 0 1
This is 0 2
This is 1 0
This is 1 1
This is 1 2
This is 2 0
This is 2 1
This is 2 2

经过比这应该需要更多的混乱之后,答案是:

Although most statements are supported in the Immediate window, a control structure is valid only if it can be completely expressed on one line of code; use colons to separate the statements that make up the control structure. The following For loop is valid in the Immediate window:

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

(即 formally documented here。)

一些额外的细节:

  • 直接window中的变量不需要声明——即使Option Explicit用于运行的模块/程序中。这使得任意 for 循环变得方便(但在尝试引用当前范围内的变量时也更容易出错)。

  • 可以使用以下任何一种进行打印:Debug.Print,只需 Print?

  • 嵌套循环有效。