Kurs:FreeBASIC/Lerngruppen/Files-Group
Thema | Mit Dateien arbeiten |
Bearbeitet | 04.07.2008 bis 25.04.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 Bearbeiten
In diesem Bereich wird noch gearbeitet. Das FreeBASIC-Portal bietet hier wenig Hilfen. --Michael Reschke 16:52, 1. Jul. 2008 (CEST)
Notizen Bearbeiten
Was enthält die Datei Text.txt? Bearbeiten
Ich 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? Bearbeiten
Ich meine mich zu erinnern in Kurs II oder III entsprechende Code-Schnipsel gesehen zu haben.
Eigentliche Notizen (neu nach oben!) Bearbeiten
Datei lesen und schreiben Bearbeiten
'Ich suche noch ein passendes Beispiel bei den open-source Projekten...
Es gibt Open-Source-Projekte, das hilft.
Befehl FreeFile Bearbeiten
Beispiel 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) Bearbeiten
DIM 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 Bearbeiten
REM 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 Bearbeiten
Kommentar Bearbeiten
...