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
|