| |
|
|
|
Descripción:
GetPrivateProfileStruct list una Bytefolge de uno INI de, errechnet una Checksumme y vergleicht esta con el Checksumme, el de WritePrivateProfileStruct a el Eintrag angehängt wurde.
Deklaration:
Def @GetPrivateProfileStruct(5) !KERNEL32,GetPrivateProfileStructA
Parámetro:
1.Parámetro: Adresse uno Cuerdas oder Bereichsvariable con un String, el el Rubrik des Eintrags enthält. 2.Parámetro: Adresse uno Cuerdas oder Bereichsvariable con un String, el el Eintragsnamen enthält. 3.Parámetro: Bereichsvariable el el ausgelesenen Daten aufnimmt. 4.Parámetro: Größe des Bereichs de Parámetro 3 en Bytes como LongInt. El Größe des Bereichs muß exakt el Größe des con WritePrivateProfileStruct geschriebenen Bereichs entsprechen, como sonst no Daten ausgelesen voluntad. 5.Parámetro: Adresse uno Cuerdas oder Bereichsvariable con un String, el Namen y Pfad el INI enthält.
Rückgabewert:
1 en Erfolg, 0 en Misserfolg.
Beispiele:
KompilierenMarcaSeparaciónDef @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
|
|
|
| |
|
|