Deutsch
Stammtisch & Café

GetPrivateProfileStruct.

 


Beschreibung:

GetPrivateProfileStruct list eine Bytefolge aus einer INI aus, errechnet eine Checksumme und vergleicht diese mit der Checksumme, die von WritePrivateProfileStruct an den Eintrag angehängt wurde.




Deklaration:

Def @GetPrivateProfileStruct(5) !KERNEL32,GetPrivateProfileStructA




Parameter:

1.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der die Rubrik des Eintrags enthält.
2.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der den Eintragsnamen enthält.
3.Parameter: Bereichsvariable die die ausgelesenen Daten aufnimmt.
4.Parameter: Größe des Bereichs aus Parameter 3 in Bytes als LongInt. Die Größe des Bereichs muß exakt der Größe des mit WritePrivateProfileStruct geschriebenen Bereichs entsprechen, da sonst keine Daten ausgelesen werden.
5.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der Namen und Pfad der INI enthält.



Rückgabewert:

1 bei Erfolg, 0 bei Misserfolg.


Beispiele:

KompilierenMarkierenSeparieren
Def @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

Wend

 
29.03.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.419 Betrachtungen

Unbenanntvor 0 min.

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie