【问题标题】:Can you perform an iteration in the VB6 immediate window?您可以在 VB6 即时窗口中执行迭代吗?
【发布时间】:2016-07-19 14:14:29
【问题描述】:

在调试 VB6 程序时,在即时窗口中输出一个相当大的多维数组会很有用。这将允许复制/粘贴到另一个编辑器进行分析,并且比在本地窗口中单击数组更容易。

但是我不确定如何在即时窗口中使用循环语法 - 或者即使这是可能的。

【问题讨论】:

    标签: vb6 immediate-window


    【解决方案1】:

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

    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

    【讨论】:

      【解决方案2】:

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

      虽然即时窗口支持大多数语句,但控制结构只有在一行代码上能完整表达时才有效;使用冒号分隔构成控制结构的语句。以下 For 循环在立即窗口中有效:

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

      (即formally documented here。)

      一些额外的细节:

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

      • 可以使用以下任何一种方式进行打印:Debug.PrintPrint?

      • 嵌套循环有效。

      【讨论】:

      • 事后看来,这似乎很明显。不幸的是,一些不相关的语法错误(由于我正在使用的即时窗口中的长单行不可读!)混淆了这实际上确实有效,当我第一次尝试时。
      猜你喜欢
      • 1970-01-01
      • 2014-01-05
      • 2013-04-25
      • 2010-10-10
      • 2012-04-17
      • 1970-01-01
      • 2011-12-19
      相关资源
      最近更新 更多