Italia
Fonte/ Codesnippets

File Eine Ini Inidatei Lesen Schreiben Struktur

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
INI_Datei: Struktur in eine INI-Datei schreiben und lesen (per API)
Def @Writeprivateprofilestruct(5) !KERNEL32,WritePrivateProfileStructA
WritePrivateProfileStruct schreibt eine Bytefolge unter der angegebenen Rubrik und dem angegebenen
Eintragsnamen in eine INI Datei. Dieser Bytefolge wird eine Checksumme angehängt.
Die API kann auch ganze Rubriken und Einträge löschen und den Cache der INI auf die Festplatte schreiben.
L1(Param.1 Longint ) oder B1(Param.1 Bereich ): Adresse eines Strings oder Bereichsvariable mit einem String,
der die Rubrik für den Eintrag enthält. Ist dieser Wert, Parameter 2 und Parameter 3 null,
wird der Cache der INI auf die Platte geschrieben.
L2(Param.2 Longint ) oder B2(Param.2 Bereich ): Adresse eines Strings oder Bereichsvariable mit einem String,
der den Eintragsnamen enthält. Ist dieser wert 0, wird die angegebene Rubrik gelöscht
(es sei denn, Parameter 1 ist null).
B3(Param.3 Bereich ): Bereichsvariable mit den hinzuzufügenden Daten .
Ist dieser Wert 0, wird der Eintrag gelöscht (es sei denn, Parameter 1 und 2 ist null).
L4(Param.4 Longint ): Größe des Bereichs aus Parameter 3 in Bytes als LongInt.
L5(Param.5 Longint ) oder B5(Param.5 Bereich ): Adresse eines Strings oder Bereichsvariable mit einem String,
der Namen und Pfad der INI enthält. Existiert die Datei nicht, wird sie erzeugt.
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

    Wend

 
16.07.2007  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.935 Views

Untitledvor 0 min.
Uwe Lang11.02.2023
RudiB.08.10.2022
rquindt31.05.2020
PETER195618.07.2018
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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