| |
|
|
|
Beschreibung:
WriteFile schreibt Daten ab der aktuellen Position des Dateizeigers in eine Datei.
Deklaration:
DEF @WriteFile(5) !kernel32,WriteFile
Parameter:
1.Parameter: Handle der Datei, in die man schreiben will. 2.Parameter: Adresse einer Variablen mit Daten oder Bereichsvariable mit Daten, die geschrieben werden sollen. 3.Parameter: Anzahl der Bytes, die geschrieben werden sollen als LongInt. 4.Parameter: Bereichsvariable, die die Anzahl der wirklich geschriebenen Bytes aufnimmt. 5.Parameter: Struktur oder 20 Byte Bereichsvariable für überlappendes Lesen und Schreiben. Kann null sein, wenn das Handle des Files nicht mit $40000000 (bei CreateFile Parameter 6) geöffnet wurde. -Byte 0-3 = Für Systemgebrauch reserviert. -Byte 4-7 = Für Systemgebrauch reserviert. -Byte 8-11 = Die unteren 32 Bit der Startadresse für das Schreiben. -Byte 12-15 = Die oberen 32 Bit der Startadresse für das Schreiben. -Byte 16-19 = Handle des Ereignisses, das ein Signal angibt, wenn die Übertragung beendet ist.
Rückgabewert:
0 bei Misserfolg, 1 bei Erfolg.
Beispiele:
KompilierenMarkierenSeparierenDEF @CreateFile(7) !"kernel32","CreateFileA"
Def @CloseHandle(1) !"kernel32","CloseHandle"
DEF @WriteFile(5) !"kernel32","WriteFile"
Declare Dateiname$,Text$,Written#,DateiHandle&
Declare Button&
LET TEXT$="Hallo Welt!"
LET DATEINAME$="C:TEST.TXT"
LET DateiHandle&=@CreateFile(@ADDR(Dateiname$),$80000000+$40000000,0,0,4,$80,0)
Dim Written#,4
@WriteFile(DateiHandle&,@ADDR(TEXT$),@len(Text$),Written#,0)
Dispose Written#
@CloseHandle(DateiHandle&)
WINDOWSTYLE 31
Windowtitle "Datei erzeugen"
WINDOW 0,0-640,440
Let Button&=@Createbutton(%HWND,"Datei löschen",20,200,200,30)
While 0=0
Waitinput
IF @GetFocus(Button&)
ASSIGN #1,Dateiname$
Erase #1
Enablewindow Button&,0
Beep 1
Endif
WEND
|
|
|
| |
|
|