Einsteigerkurs #1 Ich gehe davon aus, da jeder Benutzer eines PC's wei, wie man QBASIC startet, wenn dies nicht der Fall sein sollte, solltet ihr in der DOS Ebene einfach 'QBASIC' eintippen (Sollte normaler- weise funktionieren). Fr BASIC-Freaks wird dieser erste Teil des Einsteigerkurses wahrscheinlich zu langweilig sein, um sie zu fesseln, aber der Kurs ist halt fr Einsteiger gedacht und deshalb heit dieser Kurs ja auch Einsteigerkurs (wer htte das gedacht !?). In diesem ersten Teil gehe ich auf sequentielle Dateien ein. Sequentielle Dateien sind in der Regel einfacher zu erzeugen als Direktzugriffs-Dateien, sind jedoch nicht so flexibel und erlauben auch nicht einen so schnellen Datenzugriff, wie letztere. In einer sequentiellen Datei werden die Datenelemente als Gruppen von ASCII-Zeichen eines nach dem anderen (sequentiell) in der Datei abgelegt. In derselben Ordnung werden sie dann auch wieder aus der Datei gelesen. Das unten angegebene Beispielprogramm zeigt, wie mit QBASIC eine sequentielle Datei mit dem Namen DATEN erzeugt wird und mit Daten, die ber die Tastatur eingegeben werden, gefllt wird. Erzeugen einer sequentiellen Datei: OPEN "Daten" FOR OUTPUT AS #1 'ffnet die Datei zur Ausgabe CLS 'lschen des Bildes Eingabe: 'Sprugmarke INPUT "Name ('RETURN' zum Beenden): "; N$ 'Namenseingabe mit Abbruchbedingung IF N$ = "" THEN GOTO Fertig 'Abfrage der Ab- bruchbedingung INPUT " Vorname: "; VOR$ 'Eingabe von INPUT "Geburtsdatum: "; GEB$ beliebigen Daten WRITE #1, N$, VOR$, GEB$ 'schreiben der PRINT Daten GOTO Eingabe 'zurckkehren zur Sprungmarke Fertig: 'Sprungmarke CLOSE #1 'Datei schlieen END 'Programmende Wie im Beispiel gezeigt, werden folgende Programmschritte bentigt, um eine sequentielle Datei zu erzeugen und Daten abzulegen: 1. Die Datei fr die Ausgabe ffnen. 2. Daten mit der WRITE#-Anweisung in die Datei schreiben. 3. Am Ende der Datenbertragung die Datei schlieen. In einem weiteren Beispielprogramm wird gezeigt, wie die Daten aus der Datei Daten, die mit dem ersten Beispielprogramm erzeugt wurde, gelesen werden. Um das ganze zu erschweren, werden nur die Namen der Leute angezeigt werden, die im Jahr 1977 geboren wurden. Aus einer sequentiellen Datei lesen: OPEN "I", #1, "Daten" 'ffnet Datei zum Lesen CLS 'lschen des Bildes WHILE NOT EOF(1) 'Steuerschleife (Anfang) INPUT #1, N$, VOR$, GEB$ 'liest Daten ein IF RIGHT$(GEB$, 2) = "77" THEN PRINT N$, VOR$, GEB$ 'Ausgabe WEND 'Steuerschleife (Ende) Es wird jedes Datenelement nacheinander gelesen und daraufhin untersucht, ob am Ende die Zahl 77 steht. Nur dann wird der Name angezeigt. Die Steuerschleife WHILE...WEND verwendet vor jedem Lesevorgang die EOF-Funktion, um zu berprfen, ob das Dateiende erreicht ist. Damit wird verhindert, da ein Fehler auftritt, wenn versucht wird, ber das Dateiende hinaus zu lesen. Bei einer existierenden sequentiellen Datei knnen nicht einfach Daten hinzugefgt werden, indem die Datei fr die Ausgabe ge- ffnet wird. Dies wrde nmlich die vorhandenen Daten zerstren. Statt dessen mu man die Daten an die Datei anfgen. Falls die Datei nicht vorher existiert hat, arbeitet der Anfgemodus genau wie der normale Ausgabemodus (Beispielprogramm folgt in der nchsten Ausgabe des STOD, da ich nicht mehr fertiggeworden bin, entschuldigt bitte). Die Direktzugriffsdatei werde ich dann im nchsten Teil des Einsteigerkurses erklren !!! Die beiden Beispielprogramme findet ihr brigens auch auf der STOD-Diskette (SEQUENT.BAS, SEQULES.BAS). Tschssi M O Z A R T