Hallo Leute,

ich habe da mal ein Problem.

Folgender Programmcode in Bascom

Code:
Gbdriveerror = Initfilesystem(01) 'SD Carte initialisieren / FAT initialisieren
If Gbdriveerror = 0 Then Lcd "SD-CARD DOS "
If Gbdriveerror <> 0 Then
Lcd "SD-CARD DOS FAIL"
End
End If
Cls             'Display löschen
For A = 0 To 200 '200 Dateien erzeugen 
Inii = "preset" + Str(a) + ".prs"
Lowerline
Lcd A ; " " 
   Zaehler = A
   Bankname = "BANK Nr.: " + Str(a)
   Infodat = "MIDICONSK"
   Bufferadresse = Varptr(bankname)
Open Inii For Output As #1
Write #1 , Bankname , Zaehler , Infodat
Close #1
Next A


A = 0
Do 'Mal kucken ob die Daten da sind
Bankname = ""
Zaehler = 0
Infodat = ""
Inii = "preset" + Str(a) + ".prs"
Open Inii For Input As #1
Input #1 , Bankname , Zaehler , Infodat
Close #1
Cls
Lcd Bankname ; " " ; Zaehler
Lowerline
Lcd Infodat ; " " ; Inii

Incr A
If A > 189 Then A = 0   ' <----- Hier der Fehler
Loop
Bitte nicht über den Code aufregen, ich wollte nur mal die
Funktionalität von AVR-DOS Testen und wie schnell das geht.

Nun der Fehler: Obwohl ich die if a > 189 Abfrage weit hinter der For /
Next Schleife habe wird in der FOR / NExt Schleife nur bis 189 gezählt
und dann bei null wieder angefangen?!?!? Im Loop jedoch haut garnix mehr
hin.

Wie kommt Bascom auf die Idee in einer geschlossenen FOR/NEXT Schleife
aus einem komplett anderen Bereich (DO/LOOP) die Ifabfrage zu nutzen ?!

Bin ich irgentwie Blöd, ich will aus Prinzip aber keine zweite Variable
nutzen. In dem späteren Projekt wäre dieses Verhalten fatal.

Gruß,

Stephan