2016-07-19 11 views
1

Beim Debuggen eines VB6-Programms wäre es nützlich, ein ziemlich großes mehrdimensionales Array im unmittelbaren Fenster auszugeben. Dies würde das Kopieren/Einfügen in einen anderen Editor zur Analyse ermöglichen und wäre einfacher als das Klicken durch das Array im lokalen Fenster.Können Sie eine Iteration im direkten Fenster von VB6 durchführen?

Allerdings bin ich mir nicht sicher, wie man Schleifen-Syntax im unmittelbaren Fenster verwendet - oder auch wenn dies möglich ist.

Antwort

5

Sie können den Doppelpunkt (:) verwenden, um Anweisungen in einer einzelnen Zeile zu trennen. Zum Beispiel:

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

Ergebnis:

Dies ist 0 0
Dies ist 0 1
Dies ist 0 2
Dies ist 1 0
Dies ist 1 1
Dies ist 1 2
Dies ist 2 0
Dies ist 2 1
Dies ist 2 2

3

Nach mehr Herumspielen als dies erfordert haben sollte, stellt sich heraus, ist die Antwort:

Obwohl die meisten Aussagen in dem Direkt-Fenster unterstützt werden, eine Steuerstruktur ist nur gültig, wenn es vollständig in einer Codezeile ausgedrückt werden kann; Verwenden Sie Doppelpunkte, um die Anweisungen zu trennen, die die Kontrollstruktur bilden. Die folgende For-Schleife gilt in dem Direkt-Fenster:

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

(was ist formally documented here.)

Einige weitere Details:

  • Variablen in dem sofortigen Fenster nicht Deklaration anfordern - auch wenn Option Explicit in dem laufenden Modul/Programm verwendet wird. Dies erleichtert das willkürliche For-Looping (macht aber auch Fehler beim Referenzieren von Variablen im aktuellen Bereich einfacher). Debug.Print, nur Print oder ?

  • Nested Loops Arbeit:

  • Druck kann mit jedem geschehen.

+0

Im Nachhinein scheint dies offensichtlich. Unglücklicherweise verschleierten einige nicht verwandte Syntaxfehler (die sich aus der Unlesbarkeit der langen Einzeilenzeile im unmittelbaren Fenster ergaben, das ich verwendete!), Dass dies tatsächlich funktioniert, als ich es zum ersten Mal versuchte. – DaveInCaz

Verwandte Themen