Hallo Leute,
ich habe da mal ein Problem.
Folgender Programmcode in Bascom
Bitte nicht über den Code aufregen, ich wollte nur mal dieCode: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
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







Zitieren

Lesezeichen