Vollständige Version anzeigen : [Visual Basic] Interpretation einer Zeile im Quellcode


~Illuminatus~
02.08.2014, 14:07

Hallo, ich hatte leider bisher nichts mit Visual Basic bzw Programmierung zu tun. Jetzt brauche ich das aber in Ansätzen zumindest für meine Excel Makros. Deswegen versuche ich gerade ein vorhandenes Makro zu verstehen. Kann mir jemand die Zeilen:

i = 5
ok = False
While ((i > 1) And (Not ok))
i = i - 1
ok = (LF0 < a(i, 0))


erklären? Hierbei ist LF0 die Variable.


Vielen Dank im Voraus

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
bur
02.08.2014, 22:27

Es wird 5-mal (i = 5) überprüft ob LF0 kleiner ist als a(i, 0). Ist das der Fall, bricht die Schleife sofort ab, sonst nach fünf Durchläufen.

Die Frage ist was a ist. Bin kein VBA Experte, aber ich vermute da fehlt was.


Sancho-Pancho
03.08.2014, 07:52

Ist bei mir zwar auch schon länger her, dass ich mit VB(A) etwas gemacht habe aber - nö, wieso wird dort geprüft?

ok = (LF0 < a(i, 0))
Ist doch eine Wertzuweisung zur Variablen "ok".


eax
03.08.2014, 08:18

i = 5
ok = False
//variablen gesetzt, eine Zahlen-Variable und eine Boolean-Variable

While ((i > 1) And (Not ok))
// Solange i großer als 1 und ok nicht True wiederhole (das Not invertiert den Wert von ok aus True wird False und False wird True)

i = i - 1 /sollte klar sein

ok = (LF0 < a(i, 0))
// Abfrage ist LFO kleiner als das Ergebnis der Funktion a mit den Übergabewerten (i,0) und setzt die Boolean dementsprechend auf True oder False


Die Schleife wird abgebrochen wenn i nicht mehr größer 1 ist oder ok True da durch den Not Operator True zu False wird und wegen dem And Operator beides True sein muss. Da es eine Kopf gesteuerte Schleife ist sollte es nur bei 5,4,3,2 durchlaufen bei 1 wäre es nicht mehr großer als 1.


bur
03.08.2014, 09:52

Ist bei mir zwar auch schon länger her, dass ich mit VB(A) etwas gemacht habe aber - nö, wieso wird dort geprüft?

ok = (LF0 < a(i, 0))
Ist doch eine Wertzuweisung zur Variablen "ok";
War etwas verkürzt dargestellt, aber in der Zeile wird durch das < geprüft ob LF0 kleiner als das Ergebnis von a(i, 0) ist. Das Ergebnis, true/false, wird dann ok zugewiesen. Der mögliche Abbruch findet natürlich nicht dort statt, das stimmt.


~Illuminatus~
04.08.2014, 13:50

Schonmal vielen Dank für die bisherige Hilfe. Nun ist mir schon einiges klarer.

Allerdings kann ich mit folgender Zeile immer noch nicht wirklich etwas anfangen

ok = (LF0 < a(i, 0))

Mag mir hier jemand die Intuition/Bedeutung dahinter auf eine verständliche Weise erklären? Dankeschön!


Sancho-Pancho
04.08.2014, 20:58

Mag mir hier jemand die Intuition/Bedeutung dahinter auf eine verständliche Weise erklären? Dankeschön!
Das solltest eigentlich du selbst am besten wissen. Was soll das Makro denn tun?
Der komplette Code wäre vielleicht auch nicht ganz verkehrt.


Ähnliche Themen zu [Visual Basic] Interpretation einer Zeile im Quellcode


raid-rush.ws | Imprint & Contact pr