| |
|
|
|
Beschreibung:
GetPrivateProfileStruct list une Bytefolge aus einer INI aus, errechnet une Checksumme et vergleicht cet avec qui Checksumme, qui de WritePrivateProfileStruct à den Eintrag angehängt wurde.
Deklaration:
Def @GetPrivateProfileStruct(5) !KERNEL32,GetPrivateProfileStructA
paramètre:
1.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui qui Rubrik des Eintrags contient. 2.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui den Eintragsnamen contient. 3.paramètre: Bereichsvariable qui qui ausgelesenen données aufnimmt. 4.paramètre: Taille des Bereichs aus paramètre 3 dans Bytes comme LongInt. qui Taille des Bereichs doit exakt qui Taille des avec WritePrivateProfileStruct geschriebenen Bereichs entsprechen, là sonst aucun données ausgelesen volonté. 5.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui Namen et Pfad qui INI contient.
Rückgabewert:
1 chez Erfolg, 0 chez Misserfolg.
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='./../../function-references/XProfan/Wend/'>Wend
|
|
|
| |
|
|