Vorheriges Thema: SeekFile - Ändern der aktuellen Position in einer geöffneten DateiNächstes Thema: Funktionen für das Dateisystem


WriteFile - Schreiben von Daten in eine Datei

Gültig für NetWare, Symbian OS, UNIX, Windows und Windows CE.

Die Funktion "WriteFile" schreibt Daten in eine Datei.

Funktionsformate:

WriteFile(handle as Integer, buffer as String) as Boolean
WriteFile(handle as Integer, buffer as String, buflen as Integer) as Boolean
WriteFile(handle as Integer, buffer as Void) as Boolean
WriteFile(handle as Integer, buffer as Void, buflen as Integer) as Boolean
handle

Gibt ein Datei-Handle an, das von "OpenFile" oder "CreateFile" zurückgegeben wurde.

buffer

Kennzeichnet eine Variable eines beliebigen Typs.

buflen

Gibt die Anzahl der Zeichen an, die in der Datei gespeichert werden. Wenn die Anzahl der Zeichen "buflen" überschreitet, werden nur die ersten buflen-Zeichen in der Datei gespeichert. Andernfalls wird der gesamte Puffer gespeichert.

Bei erfolgreichem Abschluss gibt die Funktion TRUE zurück, andernfalls wird FALSE zurückgegeben.

Hinweis: Achten Sie darauf, dass Sie die unterschiedlichen Formate der Funktion "WriteFile()" nicht mischen. Dies kann zu unerwarteten Ergebnissen führen.

Der Interpreter verarbeitet das erste Format anders und fügt beim Schreiben der Zeichenfolge auf das Laufwerk stets ein Zeilenumbruchzeichen hinzu.

Das erste Format wird vom Interpreter einer anderen System-Schreibfunktion zugeordnet als die anderen drei Formate, die einer gemeinsamen System-Schreibfunktion zugeordnet wurden. Die verschiedenen System-Schreibfunktionen können unter Umständen unterschiedliche Caches zum Speichern der geschriebenen Daten verwenden. Beim Beenden des Vorgangs werden die Caches nacheinander auf den Datenträger geschrieben. Wenn Sie die Formate vermischen, werden die Daten möglicherweise nicht in der richtigen Reihenfolge angezeigt.

Der Interpreter verarbeitet folgende Formate auf eine andere Art und Weise:

WriteFile(handle as Integer, buffer as String) as Boolean 

Wenn die Zeichenfolge auf das Laufwerk geschrieben wird, wird immer ein Neue-Zeile-Zeichen hinzugefügt. Dies trifft für die anderen Formattypen nicht zu. Der Interpreter ordnet diese Funktion einer anderen System-Schreibfunktion zu als die anderen drei Formate, die einer gemeinsamen System-Schreibfunktion zugeordnet werden. Diese verschiedenen System-Schreibfunktionen können unter Umständen unterschiedliche Caches zum Speichern der geschriebenen Daten verwenden. Beim Beenden des Vorgangs werden die Caches nacheinander auf den Datenträger geschrieben. Wenn die Formate vermischt wurden, werden die Daten möglicherweise nicht in der Reihenfolge angezeigt, in der sie geschrieben wurden. Aus diesem Grund sollte das erste Format nicht mit den anderen Formaten vermischt werden.

Beispiel:

Dim fIn, fOut as integer   ' Declare file handles
Dim OneLine as string     ' String to hold one line

Rem First open the Input file...

fIn=OpenFile("C:\CONFIG.SYS",O_READ)
if fIn<0 then
	MessageBox("Eingabedatei kann nicht geöffnet werden","Fehler")
	Goto End
End if

Rem ...Then create the output file...

fOut=CreateFile("C:\CONFIG.BAK")
if fOut<0 then
	MessageBox("Ausgabedatei kann nicht geöffnet werden","Fehler")

CloseFile(fIn)
	Goto End
End if

Rem ...Copy lines until none left...

while Not(Eof(fIn))
	if ReadFile(fIn,OneLine) then WriteFile(fOut,OneLine)
wend

Rem ...Close Files, and signal success.

CloseFile(fIn)
CloseFile(fOut)
MsgBox("Eine Sicherungskopie der Datei CONFIG.SYS wurde erstellt","MyScript",MB_OK)

end: