Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: ini Datei
Frank Thomas
Datum:02.09.02 11:17 Antwortenals Email verschicken  


Hallo,
man kann in einer (ini-Datein) Einträge lesen und schreiben, aber kann man auch Einträge wieder Löschen ?

MfG
Frank Thomas


Alexander Schoenfeld
Datum:03.09.02 09:53 Antwortenals Email verschicken (alexander.schoenfeld@chronologic.de) 


Hier ein kleines Beispiel, wie man es lösen kann :)

 ' INI Einträge löschen
 '   Autor: alexander.schoenfeld@chronologic.de
 '
 ' Die Verwendung dieses Sourcecodes erfolgt auf eigene Gefahr !
 
 Cls ' wir brauchen später ein Fenster
 
 declare INIDatei$
 let INIDatei$ = GetDir$("@") + "/test.ini"
 
 WriteINI INIDatei$, "RubrikA", "Eintrag" = "Hallo Welt !"
 WriteINI INIDatei$, "RubrikB", "Eintrag" = "RGH Profan²"
 
 Proc DelINIEntry
   Parameters _INI$, _Rubrik$, _Eintrag$
   declare _lBox&, _cnt%, _String$, _Flag%
   let _lBox& = CreateListbox(%hWnd, "", 0, 0, 0, 0)

   ' Datei einlesen
   Assign #1, _INI$
   Reset #1
   WhileNot EoF(#1)
     Input #1, _String$
     AddString(_lBox&, _String$)
   Wend
   Close #1

   ' alte INI-Datei löschen
   External("KERNEL32", "DeleteFileA", Addr(INIDatei$))

   ' Datei schreiben
   Assign #2, _INI$
   ReWrite #2
   let _cnt% = GetCount(_lBox&)
   WhileLoop _cnt%
     let _String$ = GetString$(_lBox&, 0)
     
     ' Die eigentliche Auswertung
     Case InStr("[", _String$): let _Flag% = Equ$(Upper$(_String$), "[" + Upper$(_Rubrik$) + "]")
     Case AND(InStr(Upper$(_Eintrag$), Upper$(_String$)), _Flag%): Clear _String$

     Case Len(_String$): Print #2, _String$
     DeleteString(_lBox&, 0)
   Wend
   Close #2
 EndProc
 
 DelINIEntry INIDatei$, "RubrikA", "Eintrag"

--

Mit freundlichem Gruss / kind regards,
Alexander Schoenfeld

Email: alexander.schoenfeld@chronologic.de


Jörg Sellmeyer
Datum:03.09.02 12:52 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
In PrFellow gibt es die Vorlage INIFILE.PRV.
Gruß
Jörg


Frank Thomas
Datum: 05.09.02 15:21 Antwortenals Email verschicken  


Danke euch ;)


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain