| |
|
|
| KompilierenMarqueSéparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Datei schreiben (per API)
WriteFile schreibt Daten ab der aktuellen Position des Dateizeigers in eine Datei.
Deklaration:
DEF @WriteFile(5) !kernel32,WriteFile
Parameter:
L1(Param.1 Longint ) - Handle der Datei, in die man schreiben will.
L2(Param.2 Longint ) - Adresse einer Variablen mit Daten oder Bereichsvariable mit Daten, die geschrieben werden sollen.
L3(Param.3 Longint ) - Anzahl der Bytes, die geschrieben werden sollen als LongInt.
B4(Param.4 Bereich ) - Bereichsvariable, die die Anzahl der wirklich geschriebenen Bytes aufnimmt.
B5(Param.5 Bereich ) - 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
Beschreibung:
0 - 3 = Für Systemgebrauch reserviert.
4 - 7 = Für Systemgebrauch reserviert.
8 - 11 = Die unteren 32 Bit der Startadresse für das Schreiben.
12 - 15 = Die oberen 32 Bit der Startadresse für das Schreiben.
16 - 19 = Handle des Ereignisses, das ein Signal angibt, wenn die Übertragung beendet ist.
Def @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
|
|
|
| |
|
|