Einsteiger-Kapitel - Lesen und Schreiben von Dateien
Dieses Beispiel wird 100 zufällige Datensätze schreiben, wobei jeder ein Byte, eine Fließkomma-Zahl, ein Long-Integer und einen String enthält. Danach liest es alle Datensätze wieder ein und zeigt sie im Debug-Fenster an. EnableExplicit
; Definieren der Konstanten:
#MAXBYTE = 255
#MAXLONG = 2147483647
; Definieren einiger Variablen.
Define.f Float
Define.l Count, File
Define.s Folder, FileName, String
; Erstellen eines temporären Dateinamens.
Folder = GetTemporaryDirectory()
FileName = Folder + "test.data"
; Erstellen der temporären Datei.
; Wenn #PB_Any verwendet wird, gibt CreateFile die Dateinummer zurück.
; Dies ist nützlich, wenn Sie mehr als eine Datei gleichzeitig geöffnet haben.
File = CreateFile(#PB_Any, FileName)
If File
; Wenn dies erfolgreich war - schreibe 100 zufällige Datensätze.
For Count = 1 To 100
; Schreibe ein zufällges Byte (0 - 255).
WriteByte(File, Random(#MAXBYTE))
; Erstellen und Schreiben einer zufälligen Fließkommazahl (Float).
; Diese Berechnung erfolgt, damit die Zahl (wahrscheinlich) eine Fließkomma-Komponente hat.
Float = Random(#MAXLONG) / ((Random(7) + 2) * 5000)
WriteFloat(File, Float)
; Schreibe einen zufälligen Long-Wert.
WriteLong(File, Random(#MAXLONG))
; Erstellt und schreibt einen zufälligen String im Unicode-Format.
; Beachten Sie die Verwendung von WriteStringN, um den String mit einem "End of line" (Ende der Zeile) Zeichen zu begrenzen.
String = "String " + StrU(Random(#MAXLONG))
WriteStringN(File, String, #PB_Unicode)
Next Count
; Schließen der Datei.
CloseFile(File)
Else
; Wenn dies nicht erfolgreich war.
Debug "Could not create the file: " + FileName
EndIf
; Öffnen der Datei - diesmal zum Lesen.
File = ReadFile(#PB_Any, FileName)
If File
; Wenn dies erfolgreich war - lesen und darstellen der Datensätze aus der Datei.
; Den Zähler zurücksetzen.
Count = 1
; Schleife bis das Ende der Datei ('end of file') erreicht wird.
; Dies wird alle Datensätze einlesen - unabhängig davon, wie viele es sind.
While Eof(File) = 0
; Ausgeben einer Kopfzeile.
Debug "------------------------------------------------------------------------------------------------"
Debug "[" + StrU(Count) + "]"
Count + 1
; Lesen und ausgeben eines Byte-Wertes.
Debug StrU(ReadByte(File), #PB_Byte)
; Lesen eines Fließkomma-Wertes.
Debug StrF(ReadFloat(File))
; Lesen eines Long-Wertes.
Debug StrU(ReadLong(File), #PB_Long)
; Lesen eines String-Wertes.
Debug ReadString(File, #PB_Unicode)
Wend
; Ausgeben einer Abschlusszeile.
Debug "------------------------------------------------------------------------------------------------"
; Schließen der Datei.
CloseFile(File)
; Aufräumen.
DeleteFile(FileName)
Else
; Wenn dies nicht erfolgreich war.
Debug "Could not open the file: " + FileName
EndIf
Einsteiger-Kapitel Navigation
< Vorheriges: Compiler-Direktiven | Überblick | Nächstes: Speicher-Zugriff >