| |
|
|
|
Beschreibung:
WritePrivateProfileStruct écrit une Bytefolge sous qui angegebenen Rubrik et dem angegebenen Eintragsnamen dans un INI Dossier. cette Bytefolge wird une Checksumme angehängt. qui API peux aussi ganze Rubriken et Einträge effacer et den Cache qui INI sur qui Festplatte écrivons.
Deklaration:
Def @WritePrivateProfileStruct(5) !KERNEL32,WritePrivateProfileStructA
paramètre:
1.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui qui Rubrik pour den Eintrag contient. Ist cette Wert, paramètre 2 et paramètre 3 zéro, wird qui Cache qui INI sur qui Platte geschrieben. 2.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui den Eintragsnamen contient. Ist cette wert 0, wird qui angegebene Rubrik gelöscht (es sei car, paramètre 1 ist zéro). 3.paramètre: Bereichsvariable avec den hinzuzufügenden données . Ist cette Wert 0, wird qui Eintrag gelöscht (es sei car, paramètre 1 et 2 ist zéro). 4.paramètre: Taille des Bereichs aus paramètre 3 dans Bytes comme LongInt. 5.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui Namen et Pfad qui INI contient. Existiert qui Dossier pas, wird vous erzeugt.
Rückgabewert:
1 si qui String erfolgreich eingetragen wurde, 0 chez Misserfolg ou bien si qui Cache sur qui Festplatte geschrieben wurde.
Beispiele:
KompilierenMarqueSéparationDef @WritePrivateProfileStruct(5) !"KERNEL32","WritePrivateProfileStructA"
Def @GetPrivateProfileStruct(5) !"KERNEL32","GetPrivateProfileStructA"
Declare Section$,Key$,Wert$,File$,FileLöschen&,SectionDel&,KeyLesen&,KeyDel&,Flush&,Buffer#,Buffer%
DEclare Ausgelesen#,Ausgelesen$,Default$,Länge%
Windowstyle 31+512
Windowtitle "Struktur in eine INI schreiben und auslesen"
Window 0,0-640,440
Let Section$="Eigene Daten"
Let Key$="Mein Eintrag"
Let Wert$="Mein eigener Wert"
LET FILE$="C:TEST.INI"
Let FileLöschen&=@CreateButton(%HWND,"INI Löschen",20,200,150,30)
Let KeyLesen&=@CreateButton(%HWND,"Key "+Key$+" lesen",200,200,200,30)
Let Flush&=@CreateButton(%HWND,"INI flushen",450,200,150,30)
Let SectionDel&=@CreateButton(%HWND,"Sektion "+Section$+" Löschen",20,250,230,30)
Let KeyDel&=@CreateButton(%HWND,"Key "+Key$+" Löschen",280,250,230,30)
Let Buffer%=@len(Wert$)+1
Dim Buffer#,Buffer%
Clear Buffer#
String Buffer#,0=Wert$
@WritePrivateProfileStruct(@Addr(Section$),@Addr(Key$),Buffer#,Buffer%,@Addr(File$))
Dispose Buffer#
While %MENUITEM<>-2
Waitinput
IF @Getfocus(KeyLesen&)
CLS
Locate 0,0
Set("Errorlevel",-1)
Let Buffer%=((@len(@READINI$(File$,Section$,Key$))-2)/2)
LET AUSGELESEN$=@READINI$(File$,Section$,Key$)
Set("Errorlevel",0)
CASE BUFFER%<=0 : Let Buffer%=4
DIM Ausgelesen#,Buffer%
Clear Ausgelesen#
PRINT "Ausgelesene Struktur="+AUSGELESEN$
@GetPrivateProfileStruct(@Addr(Section$),@Addr(Key$),Ausgelesen#,Buffer%,@Addr(File$))
Print "Ausgelesener String="+@String$(Ausgelesen#,0)
LET Länge%=@len(AUSGELESEN$)-@len(@String$(Ausgelesen#,0))*2
PRINT "Checksumme=$"+@RIGHT$(AUSGELESEN$,Länge%)
Dispose Ausgelesen#
Beep 1
ElseIF @Getfocus(SectionDel&)
@WritePrivateProfileStruct(@Addr(Section$),0,0,0,@Addr(File$))
Beep 1
ElseIF @Getfocus(KeyDel&)
@WritePrivateProfileStruct(@Addr(Section$),@Addr(Key$),0,0,@Addr(File$))
Beep 1
ElseIF @Getfocus(FileLöschen&)
Assign #1,File$
Erase #1
Beep 1
ElseIF @Getfocus(Flush&)
@WritePrivateProfileStruct(0,0,0,0,@Addr(File$))
Beep 1
endif
ss=s4 href='./../../funktionsreferenzen/XProfan/Wend/'>Wend
|
|
|
| |
|
|