Wenn eine Datei zum Beschreiben geöffnet wird, wird sie angelegt, wenn sie nicht existiert. Wird eine leere Datei benötigt, öffnet man diese Datei einfach zum Schreiben und schließt sie wieder, ohne etwas in die Datei zu schreiben.
Die letzten x Byte einer Datei löschen
Mit reinen VB-Bordmitteln geht es nicht, hier muß man die Datei komplett einlesen, den Lesepuffer um die gewünschte Länge reduzieren und die Datei wieder schreiben. Allerdings gibt es noch die Funktion SetEndOfFile des Windows-API. Diese kann das Ende einer Datei auf die aktuelle Lese- oder Schreibposition festlegen. Die Datei wird dazu mit CreateFile geöffnet, mit SetFilePointer an die gewünschte Position gesprungen und dann mit SetEndOfFile das Ende der Datei markiert. Mit CloseHandle wird die Datei dann wieder geschlossen.
An das Ende einer Datei schreiben
Möchte man Daten an eine Datei anhängen, muß man die Datei im Append-Modus öffnen. Im Fall von binär geöffneten Dateien geht dies jedoch nicht, da muß man die Datensätzposition angeben:
' Angenommen, die Kanalnummer steht in FNr:
Put #Fnr, LOF(FNr) + 1, App.ExeName
Listing 1: Daten ans Ende einer binär geöffneten Datei schreiben