![]() |
Schlüssel samt Wert aus der INI löschen?
Irgendwie stehe ich heute im Wald. Ich habe in einer INI einen Schlüssel angelegt und diesem einen Wert zugewiesen.
[rec] Aufzeichnung 1 18.02.2009 21.51.14=Aufzeichnung 1 18.02.2009 21.51.14.avi Nun versuche ich wie folgt diesen wieder zu löschen:
Delphi-Quellcode:
Leider ohne Erfolg. Der Eintrag steht nach wie vor drin. :(
procedure TVideo.Button10Click(Sender: TObject);
var Ini: TIniFile; begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'Conf\Record.ini'); ini.DeleteKey('rec',Label2.Caption); ini.Free; end; |
Re: Schlüssel samt Wert aus der INI löschen?
Zitat:
|
Re: Schlüssel samt Wert aus der INI löschen?
Sorry, aber da steige ich jetzt nicht ganz hinter.
|
Re: Schlüssel samt Wert aus der INI löschen?
Inwiefern nicht? Du musst dafür sorgen das die Speicherversion der Ini zurück auf die Platte geschrieben wird.
|
Re: Schlüssel samt Wert aus der INI löschen?
Versuch es mal so:
Delphi-Quellcode:
procedure TVideo.Button10Click(Sender: TObject);
var Ini: TIniFile; begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'Conf\Record.ini'); ini.DeleteKey('rec',Label2.Caption); ini.UpdateFile; //diese Zeile einfügen ini.Free; end; |
Re: Schlüssel samt Wert aus der INI löschen?
UpdateFile ändert leider auch nichts.
|
Re: Schlüssel samt Wert aus der INI löschen?
Bist Du denn sicher, dass Label2.Caption auch stimmt?
|
Re: Schlüssel samt Wert aus der INI löschen?
Ich habe mal das Label auf Visible:=True gesetzt. Ja, es steht der komplette Eintrag drin:
Aufzeichnung 1 18.02.2009 21.51.14=Aufzeichnung 1 18.02.2009 21.51.14.avi |
Re: Schlüssel samt Wert aus der INI löschen?
Moin Detlef,
ich bin irritiert :( Ein UpdateFile() ist mir eigentlich nur von TMemIniFile geläufig. So hab' ich das mal überprüft: Bei mir wird der Schlüssel auch ohne UpdateFile() gelöscht - vermutlich ist der Fehler ein anderer.... // edit: KEIN roter Kasten, trotzdem diverse Posts? Was ist denn nun kaputt? // edit2: Detlef, du zitierst aus TMemIniFile :wink: |
Re: Schlüssel samt Wert aus der INI löschen?
na, da haben wir's ja.
Da darf nur Zitat:
// edit: Nee, Leerzeichen stören IniFile nicht! Es darf aber natürlich nur der Schlüssel angegeben werden; nicht Schlüssel UND Wert |
Re: Schlüssel samt Wert aus der INI löschen?
Evtl. sind auch die Leerzeichen das Problem. Man könnte also das Ganze mal testhalber in Anführungszeichen einschließen oder es mit SysUtils.QuotedStr versuchen.
[edit] Ralph, das war halt die Hilfe von TMemIniFile, von der TIniFile ja erbt. Ich war zu faul zu schauen, ob das evtl. überschrieben wird ;) [/edit] [Noch' n edit]Dann eben mit Copy den Ident rauskopieren [/Noch' n edit] |
Re: Schlüssel samt Wert aus der INI löschen?
@taaktaak und alle anderen, Also müßte ich erst den zugewiesenen Wert löschen und danach den Schlüssel?
Und wie löschen ich diesen Wert? Sorry, aber ich raff heute überhaupt nichts mehr. |
Re: Schlüssel samt Wert aus der INI löschen?
Ähh, ich verstehe das Problem nicht. In der Datei steht eine Zeile mit Schlüssel=Wert Um diese Zeile zu löschen rufst du DeleteKey() mit dem Parameter SCHLÜSSEL auf. Dann wird die Zeile gelöscht
|
Re: Schlüssel samt Wert aus der INI löschen?
Delphi-Quellcode:
procedure TVideo.Button10Click(Sender: TObject);
var Ini: TIniFile; s: string; begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'Conf\Record.ini'); try s := Copy(Label2.Caption,1,Pos('=',Label2.Caption) - 1); ini.DeleteKey('rec',s); finally ini.Free; end; end; |
Re: Schlüssel samt Wert aus der INI löschen?
Jawoll!!!!
Detlef, mlspider: Gute Nacht! |
Re: Schlüssel samt Wert aus der INI löschen?
Dir auch :)
|
Re: Schlüssel samt Wert aus der INI löschen?
Danke Detlef und alle anderen. Darauf wäre ich nicht so schnell gekommen. Es funzt. :-D
Danke, Dir auch eine gute Nacht! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz