Rob´s BB-Kurs 2
© Robert Gerlach 2001
stream = OpenFile("bopp.txt") |
; Datei nur zum schreiben öffnen: stream = WriteFile("bopp.txt) ; Datei nur zum lesen öffnen: stream = ReadFile("bopp.txt) |
stream = WriteFile("bopp.txt") WriteByte stream, 82 |
WriteByte stream, Asc("R") |
stream = WriteFile("alle_ascii_zeichen.txt") For ascii = 1 To 255 WriteByte stream, ascii Next |
Befehl |
Name |
Bytes |
Typ |
Von |
Bis |
WriteByte stream, wert WriteShort stream, wert WriteInt stream, wert WriteFloat stream, wert# WriteLine stream, wert$ WriteString stream, wert$ |
Byte Short Integer Float Line String |
1 2 4 4 0-x 4-x |
Ganzzahl Ganzzahl Ganzzahl Kommazahl Text Text |
0 -32768 -2147483648 -2 Mrd. 0 4 |
255 32767 2147483647 2 Mrd. x x |
; Datei zum schreiben öffen, Stream anlegen. datei = WriteFile("bopp.txt") ; Ein Byte speichern WriteByte datei, 78 ; Ein Byte mit Hilfe von Asc() speichern. WriteByte datei, Asc("D") ; Eine Shortzahl speichern: WriteShort datei, 23 ; Eine Integerzahl speichern: WriteInt datei, 5 ; Eine Floatzahl speichern: WriteFloat datei, 666.235 ; Eine Zeile Speichern: WriteLine datei, "Preisfrage: Würde Toblerone schmelzen" ; Einen String-Datensatz speichern: WriteString datei, "wenn man sie in die Super-ILLU einpacken würde? Wer weiß..." ; Die Datei wieder schließen. CloseFile datei |
; Um ein Byte auszulesen: wert = ReadByte(stream) ; Um eine Shortzahl auszulesen: wert = ReadShort(stream) ; Um eine Integerzahl auszulesen: wert = ReadInt(stream) ; Um eine Floatzahl auszulesen: wert# = ReadFloat(stream) ; Um eine Zeile auszulesen: wert$ = ReadLine$(stream) ; Um einen String auszulesen: wert$ = ReadString$(stream) |
rueckgabe = FileType("dateiname.dat") |
groeße = FileSize("dateiname.dat") |
Function DateiKB#(datei$) groeße# = FileSize(datei$) / 1024 Return groeße# End Function |
; Um eine Datei zu kopieren: CopyFile quellpfad$, zielpfad$ ; Um eine Datei zu löschen: DeleteFile dateipfad$ |
; Um ein neues Verzeichnis zu erstellen: CreateDir Verzeichnispfad$ ; Um herauszufinden in welchem Verzeichnis man sich gerade befindet: Verzeichnispfad$ = CurrentDir() ; Falls man in ein anderes Verzeichnis wechseln will: ChangeDir Neuer_Verzeichnispfad$ ; Um ein Verzeichnis zu löschen nehme man: DeleteDir Verzeichnispfad$ |
Verzeichnisvariable = ReadDir(Verzeichnispfad$) |
Dateipfad$ = NextFile(Verzeichnisvariable) |
Function dir(verzeichnis$) ordner = ReadDir(verzeichnis$) ; Verzeichnis öffnen. ; Schleife in der das ganze geprüft und ausgegeben wird. Repeat datei$ = NextFile(ordner) ; Neue Datei auswählen. ; Überprüfen ob sie eine Datei oder ein Verzeichnis ist und dementsprechend... was anderes hinschreiben. If FileType(verzeichnis$ + datei$) = 2 Then Print datei$ + " <DIR>" Else Print datei$ EndIf Until datei$ = "" CloseDir ordner ; Verzeichnis schließen. End Function |
; Ein Feld erstellen. Dim feld(10,10) ; Zufallswerte erzeugen For x = 1 To 10 For y = 1 To 10 feld(x,y) = Rnd(1,10) Next Next ; Eine Datei zum schreiben öffnen. datei = WriteFile("feld-test.txt") ; Die Werte des Feldes in der Datei speichern. Mit Writebyte da die Werte nicht über 255 gehen. For x = 1 To 10 For y = 1 To 10 WriteByte datei, feld(x,y) Next Next ; Die Datei schließen. CloseFile datei |
; Neues Feld erstellen: Dim neuesfeld(10,10) ; Die eben erstellte Datei wieder öffnen: datei = ReadFile("feld-test.txt") ; Die Werte in das Feld einlesen und ausgeben: For x = 1 To 10 For y = 1 To 10 neuesfeld(x,y) = ReadByte(datei) Print neuesfeld(x,y) Next Next ; Die Datei wieder schließen: CloseFile datei |
23,5,19,49 94,9,145,32 12,529,73,9 u.s.w. |
; Eine Datei öffnen. datei = ReadFile("zeilenzahlen.txt") ; Schleife solange wiederholen bis das Ende (Eof --> End of File) der Datei erreicht ist. While Not Eof(datei) ; Eine Zeile auslesen: zeile$ = ReadLine(datei) ; Jeweils die erste bis vierte Zahl extrahieren und in eine eigene Variable speichern. zahl1 = zahlausstring(zeile$, 1) zahl2 = zahlausstring(zeile$, 2) zahl3 = zahlausstring(zeile$, 3) zahl4 = zahlausstring(zeile$, 4) ; Die Zahlen ausgeben. Print zahl1 + " " + zahl2 + " " + zahl3 + " " + zahl4 Wend ; Die Function die die ganze Arbeit macht... ;------------------------------------------------------ ; zahlstring$ ist der String in dem die Zahlen stehen, stelle ist die Stelle der Zahl. Wenn stelle = 3 ist wird also die dritte Zahl zurückgegeben. ; Muss man nicht verstehen, nur benutzen können ^_^. Function zahlausstring(zahlstring$, stelle) anzahl = 1 letzteskomma = 1 For i = 1 To Len(zahlstring$) If Mid(zahlstring$, i, 1) = "," Or i = Len(zahlstring$) Then If anzahl = stelle Then zahl = Mid(zahlstring$, letzteskomma, i) letzteskomma = i+1 anzahl = anzahl + 1 EndIf Next Return zahl End Function |
; Eine bestehende Date zum lesen und schreiben öffnen: stream = OpenFile(dateipfad$) ; Eine bestehende Datei nur zum lesen öffnen: stream = ReadFile(dateipfad$) ; Um eine Datei nur zum schreiben zu öffnen oder sie gleich dazu zu erstellen: stream = WriteFile(dateipfad$) ; Die Befehle um verschiedene Datentypen in eine geöffnete Datei zu schreiben: WriteByte stream, wert WriteByte stream, wert WriteInt stream, wert WriteFloat stream, wert# WriteLine stream, wert$ WriteString stream, wert$ ; Und die Befehle um verschiedene Datentypen aus einer geöffneten Datei zu lesen: wert = ReadByte(stream) wert = ReadShort(stream) wert = ReadInt(stream) wert# = ReadFloat(stream) wert$ = ReadLine(stream) wert$ = ReadString(stream) ; Um herauszubekommen ob eine Datei existiert und wenn ja ob es überhaupt eine Datei oder ein Verzeichnis ist: rueckgabe = FileType(dateipfad$) ; rueckgabe hat dann folgende Werte: ; 0 = Datei/Ordner existiert nicht. ; 1 = Datei existiert. ; 2 = Es ist keine Datei sondern ein Ordner. ; Um die Größe einer Datei in Bytes zu bekommen: groesse = FileSize(dateipfad$) ; Um eine Datei zu kopieren: CopyFile quellpfad$, zielpfad$ ; Um eine Datei zu löschen: DeleteFile dateipfad$ ; Um ein neues Verzeichnis zu erstellen: CreateDir Verzeichnispfad$ ; Um herauszufinden in welchem Verzeichnis man sich gerade befindet: Verzeichnispfad$ = CurrentDir() ; Falls man in ein anderes Verzeichnis wechseln will: ChangeDir Neuer_Verzeichnispfad$ ; Um ein Verzeichnis zu löschen nehme man: DeleteDir Verzeichnispfad$ ; Um ein Verzeichnis zu öffnen um die Dateien und Unterverzeichnisse in ihm auswählen zu können: Verzeichnisvariable = ReadDir(Verzeichnispfad$) ; Um eine Datei aus einem geöffneten Verzeichnis auswählen zu können (und um immer eine Datei weiter in dem Verzeichnis zu gehen): Dateipfad$ = NextFile(Verzeichnisvariable) |