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 >