Moin ![]()
Helft mir mal bitte mit denken, irgendwie verstehe ich nicht, weshalb dieser Programmcode nicht funktioniert ![]()
500 dim w$(250):i=1
510 open 2,lw,2,"wfile,s,r"
520 if st=64 then 540
521 input#2,w$(i)
530 i=i+1:goto 520
540 ?:?"Vorhandene Daten geladen!":close2
lw ist entweder 8 oder 9, je nachdem, wo die Diskette eingelegt ist. Dieser Code soll den Inhalt einer sequentiellen Datei namens "wfile" in das Array w$(x) einlesen. Sobald die Statusvariable ST den Wert 64 enthält, ist das Ende der Datei erreicht und es wird ab Zeile 540 weiter im Programm verfahren. Soviel zur Theorie. Allerdings bleibt die Floppy einfach stehen und der C64 läuft eben nicht weiter im Programm. Ich kann teilweise nur mit Run/Stop-Restore den Rechner wiederholen. Rufe ich im Direktmodus das Array w$(x) auf, so hat das Programm scheinbar alle Daten eingelesen, fährt aber trotzdem nicht im Programm fort. Merkwürdigerweise hat sogar die Statusvariable ST den Wert 64. Aber das Programm will partout nicht weiterlaufen. Die rote LED der Floppy bleibt auch an. Der Fehler tritt auf beiden Floppys gleichermaßen auf, es ist also kein Fehler der Floppy.
Was mache ich falsch? Ich dreh hier noch durch ![]()
![]()
![]()
Nachdem er in Zeile 521 die letzte Information gelesen hat, geht die Statusvariable auf 64. somit sollte er nach dem Abarbeiten der Zeile 530 mit anschließendem Sprung zurück in Zeile 520 und der auf 64 stehenden Statusvariablen mit Zeile 540 weitermachen. Wie gesagt, die Statusvariable ist ja 64 aber dennoch gehts nicht in 540 weiter. ![]()
Danke im Voraus fürs Mitdenken! ![]()
Viele Grüße!
Ingo ![]()