Kurs:FreeBASIC/Lerngruppen/Files-Group
Thema | Mit Dateien arbeiten |
Bearbeitet | 04.07.2008 bis 21.11.2024 |
Material | Befehlsreferenz |
Kommentar | Hier wird noch gearbeitet. |
Was haben wir gemacht?
Bearbeiten- Wir schauen uns an, wie man Dateien öffnen und schließen und Daten dort speichern kann.
- Wie wollen uns anschauen, wie man mit Datenbanken (Text.txt) arbeiten kann.
Wichtige Begriffe und Definitionen
Bearbeiten- IO-Ströme
Ich weiß nicht, ob FB das beherrscht.
Hinweis, Anregung, Tipp
BearbeitenIn diesem Bereich wird noch gearbeitet. Das FreeBASIC-Portal bietet hier wenig Hilfen. --Michael Reschke 16:52, 1. Jul. 2008 (CEST)
Notizen
BearbeitenWas enthält die Datei Text.txt?
BearbeitenIch habe ein Verzeichnis Daten
in meinem Ordner Projekte
angelegt und dort eine Datei Text.txt
mit folgendem Inhalt abgelegt:
Spalte 1, Spalte 2, Spalte 3, Spalte 4
Zeile 1, Zeile 2, Zeile 3, Zeile 4
Datum 1, Datum 2, Datum 3, Datum 4
Wenn 1, Dann 2,, Sonst 4
Was will ich eigentlich machen?
Bearbeiten- Eine Datei öffnen...
- Daten aus der Datei holen und an das Programm übergeben...
- Daten im Programm ändern...
- Daten in eine Datei schreiben und dort ggf. Daten überschreiben...
- Eine Datei schließen...
Welche Befehle benötige ich?
BearbeitenIch meine mich zu erinnern in Kurs II oder III entsprechende Code-Schnipsel gesehen zu haben.
Eigentliche Notizen (neu nach oben!)
BearbeitenDatei lesen und schreiben
Bearbeiten'Ich suche noch ein passendes Beispiel bei den open-source Projekten...
Es gibt Open-Source-Projekte, das hilft.
Befehl FreeFile
BearbeitenBeispiel 1
f = FREEFILE
OPEN "file.ext" FOR INPUT AS #f
Beispiel 2
Dim As Integer DateiNummer = FreeFile
OPEN "file.ext" FOR INPUT AS #DateiNummer
Der Befehl leistet: Gibt die nächste unbenutzte Dateinummer zurück.
"Unser" Programm mit dem FreeFile-Befehl
Dim As Integer DateiNummer = FreeFile
Dim As String text, t
'-- Datei schreiben --
CLS
OPEN "c:\Temp\tmp.txt" FOR OUTPUT AS DateiNummer
INPUT "Gib Deinen Namen ein "; text
WRITE #DateiNummer, text
CLOSE #DateiNummer
'--- Datei lesen ---
OPEN "c:\Temp\tmp.txt" FOR INPUT AS #DateiNummer
INPUT #DateiNummer, t
CLOSE #DateiNummer
PRINT
PRINT "Du hast Folgendes eingegeben: "; t
SLEEP
END
Datei lesen und schreiben (Dateiinhalt wird überschrieben)
BearbeitenDIM text AS String
DIM t AS String
'-- Datei schreiben --
CLS
OPEN "c:\Temp\tmp.txt" FOR OUTPUT AS #1
INPUT "Gib Deinen Namen ein "; text
WRITE #1, text
CLOSE #1
'--- Datei lesen ---
OPEN "c:\Temp\tmp.txt" FOR INPUT AS #1
INPUT #1, t
CLOSE #1
PRINT
PRINT "Du hast Folgendes eingegeben: "; t
SLEEP
END
Es gibt eine Eingabe, die dann in die Datei tmp.txt
geschrieben wird. Existiert die Datei noch nicht, wird sie angelegt. Aus der Datei wird auch wieder gelesen.
Problem: Der Inhalt der Datei wird jeweils überschrieben.
Beobachtung: Bei der Eingabe Nachname, Vorname
(Bsp.!) wird nur Nachname
gespeichert.
Quelle: SelfQB
Datei öffnen und Zeile 1 auf dem Bildschirm ausgeben
BearbeitenREM Das Programm soll die Datei text.bas öffnen und lesen.
REM Erster Schritt: Komplett öffnen und komplett auf dem Bildschirm ausgeben
Dim Zeile As String, DNr As Integer = FREEFILE
OPEN "Text.txt" FOR INPUT AS #DNr
LINE INPUT #DNr, Zeile
PRINT Zeile
CLOSE #DNr
SLEEP
Das Programm öffnet die Datei Text.txt
und liest die erste Zeile ein. Die erste Zeile wird an die Variable (String) Zeile übergeben und anschließend ausgegeben.
Ressourcen
BearbeitenKommentar
Bearbeiten...