Code: Alles auswählen
Anfang.l = 4
Ende.l = 13
For Zaehlvariable.l = Anfang To Ende Step 1
Debug Zaehlvariable
Next
In [c]Anfang.l[/c] steht der Wert, den der Variablen [c]Zaehlvariable.l[/c] zuerst zugewiesen wird. Dann wiederholt sich die For-Next-Schleife sooft bis der Wert von [c]Ende.l[/c] erreicht wird indem die Zählvariable pro Wiederholung um eins erhöht wird.
In diesem Beispiel werden im Debuggerfenster die Werte 4 bis 13 ausgegeben, weil die Zeile [c]Debug Zaehlvariable[/c] in der For-Next-Schleife steht und den Inhalt der Zählvariablen ausgibt.
Das [c]Step 1[/c] kannst du in diesem Fall auch weglassen.
Wenn du allerdings schreibst [c]Step 2[/c] wird pro Schleifendurchlauf die Zählvariable immer um 2 erhöht. Das heißt, dass dann im Debuggerfenster folgende Zahlen stehen werden: 4, 6, 8, 10, 12
Ansonsten musst du dir noch klarmachen, das es numerische Variablen und String- oder Text-Variablen gibt.
Die numerischen Variablen heißen Byte, Word, Long oder Float und haben die Endungen .b, .w, .l und .f, ein String hat entweder die Endung .s oder einfach ein $ hinter dem Variablenamen.
Wenn du jetzt mit [c]Input()[/c] einen String in die Variable [c]Zahl$[/c] gelesen hast und willst diese dann für eine For-Next-Schleife benutzen, musst du den String zuerst in eine numerische Variable ändern. Standardmäßig nimmt man dann einfach eine Long-Variable. Die kann Zahlen von -2147483648 bis 2147483647 speichern. Größere numerische Variablen gibt es in PureBasic zur Zeit noch nicht. Zum Umwandeln des String in eine Long benutzt du dann die Funktion [c]Val()[/c] und umgekehrt gibt es dann noch die Funktion [c]Str()[/c]. Diese Funktionen funktioneren auch zwischen Strings und Words oder Bytes. Wenn du zwischen Strings und Floats konvertieren willst, brauchst du allerdings die Funktionen [c]StrF()[/c] und [c]ValF()[/c]. Schau einfach mal in der Hilfe nach.
Dein erster Code oben sieht demnach wie folgt aus:
Code: Alles auswählen
OpenConsole()
Zahl$ = Input()
test.l = 1
DerStart:
If Val(Zahl$) = test.l
Goto DasEnde
Else
test.l = test.l + 1
Print("Ich bin eine Kuh, muh!")
Goto DerStart
EndIf
DasEnde:
Delay(1000)
CloseConsole()
Oder jetzt auch so:
Code: Alles auswählen
OpenConsole()
Zahl.l = Val(Input())
For test.l = 1 To Zahl
PrintN("Ich bin eine Kuh, muh!")
Next
Delay(1000)
CloseConsole()
Ist doch gleich viel kürzer, oder?
Deiner letzter Code sieht nach den Verbesserungen demnach so aus:
Code: Alles auswählen
Download$ = "www.web.de/test.txt"
For test = 1 To Val(Zahl$)
If URLDownloadToFile_(0, Download$, "c:\textdatei.txt " + Str(test), 0, 0) = #S_OK
Print("Ready")
Else
Print("Error. Couldn't download File.")
EndIf
Next
Happy Coding!
