Beiträge von Mike im Thema „Basic-Programm mit Diskettenzugriff - Denkhilfe benötigt“

    Hi, Ingo!

    Schön, daß es jetzt läuft. Allerdings setzt deine Problemlösung, wie ich meine, an der falschen Stelle an.

    An dem ursprünglichen Code ist ja grundsätzlich nichts verkehrt: er liest ein Datum ein, erhöht den Zähler um 1 und wenn er feststellt, daß die Datei zu Ende ist, geht er aus der Schleife raus und schließt die Datei.

    Erschwerend zum Ausarbeiten einer sauberen Programmlogik kommt dann natürlich noch das Problem zum Tragen, daß INPUT# keine "leeren" Eingaben mag (wie bereits festgestellt), das ist aber nicht das einzige Problem: Leerzeichen in der Eingabe vorne und hinten werden einfach weggelassen, Kommata und Doppelpunkte wirken als Trenner, Anführungszeichen ändern die Semantik (stehen sie vorne und hinten als Begrenzer, dann "gehen" Kommata und Doppelpunkte zwar wieder, aber wehe innendrin tauchen noch mal Anführungszeichen auf)... deshalb ist INPUT# eigentlich nur brauchbar, wenn man vorher sicherstellt, daß die .SEQ Datei solche "Fallen" nicht enthält. Und dann gibt es noch die Beschränkung auf maximal 80 Zeichen pro Eingabe ...

    Ich hab' vor einiger Zeit mal eine kleine Supportroutine in Maschinencode geschrieben, die an Stelle von INPUT# eine Zeichenkette aus einer Datei einfach bis zum nächsten CR oder EOF liest, ohne daß irgendwelche Sonderzeichen diese Routine aus dem Tritt bringen. Leere Eingabezeilen ergeben sauber einen Leerstring "". Und Eingaben dürfen bis zu 255 Zeichen lang sein. Muß die Routine nur mal herauskramen...