![]() |
Pfad von OpenPictureDialog in *.ini schreiben?
Hallo,
In einem Programm schreibe ich die Stati einiger Edits, RadioButtons und Checkboxen in eine *.ini und lese diese wieder aus. In einem Edit wird der Pfad zu einem Bild welches in einem TImage dargestellt wird angezeigt. Der Pfad wird aber nicht in der *.ini gespeichert geschweige den ausgelesen. Geht des net oder muss man dabei was bestimmtes beachten? Der code dieses Edits sieht so aus:
Delphi-Quellcode:
[Edit=Sakura]DELPHI-Tags eingefügt.[/Edit]
On Create:
... Edit1.Text := savestat.ReadString('Icon','Status1',Edit1.Text); ... ################################## OnDestroy: ... savestat.WriteString('Icon','Status1',Edit1.Text); ... |
Hallo Tim.exe,
leider beschreibst Du nicht was nicht geht, wenn Du z.B. Probleme mit INI-Dateien hast schau mal hier nach ![]() BTW:
Delphi-Quellcode:
die Deklaration von ReadString sollte sein: ReadString(Section_in_der_INI-Datei,Key_in_der_INI-Datei, <DEFAULT>), wobei DEFAULT in diesem Fall vom Typ String d.h 'BlaBla' sein sollte;
Edit1.Text := savestat.ReadString('Icon','Status1',Edit1.Text);
|
Hallo,
grundsätzlich habe ich keine Probleme mit *.ini's, wie gesagt schreibe ich mehrere Edits, RadioButtons, Checkboxen in eine *.ini und lese diese wieder aus. Das alles funktioniert wunderbar. Nur eben dieses Edit in dem ich den Pfad zu einem Bild speichern will wird nicht gespeichert. Meine Frage ist ob man etwas beachten muss wenn man den Pfad eines OpenDialoges bzw. OpenPictureDialoges über eine Edit in ein *.ini speichern will. Der ganze code sieht ungefair so aus:
Delphi-Quellcode:
[Edit=Sakura]DELPHI-Tags eingefügt.[/Edit]
...
uses Inifiles, ... ... OnCreate: procedure TForm1.FormCreate(Sender: TObject); var savestat: TIniFile; begin savestat := TIniFile.Create('.\settings.ini'); SpinEdit1.Value := savestat.ReadInteger('Schedule1','Status1',SpinEdit1.Value); SpinEdit2.Value := savestat.ReadInteger('Schedule2','Status1',SpinEdit2.Value); edIconHint.Text := savestat.ReadString('IconHint','Status1',edIconHint.Text); Edit1.Text := savestat.ReadString('Icon','Status1',Edit1.Text); //Dieses Edit will nicht (OpenPictureDialog) CheckBox2.Checked:=savestat.ReadBool('Aktiv1', 'Status1', CheckBox2.Checked); CheckBox3.Checked:=savestat.ReadBool('Aktiv2', 'Status1', CheckBox3.Checked); SUIRadioButton1.Checked:=savestat.ReadBool('Tastaturein', 'Status1', SUIRadioButton1.Checked); SUIRadioButton2.Checked:=savestat.ReadBool('Tastaturaus', 'Status1', SUIRadioButton2.Checked); savestat.Free; end; #################################################### OnDestroy: procedure TForm1.FormDestroy(Sender: TObject); var savestat: TIniFile; begin savestat := TIniFile.Create('.\settings.ini'); savestat.WriteInteger('Schedule1','Status1',SpinEdit1.Value); savestat.WriteInteger('Schedule2','Status1',SpinEdit2.Value); savestat.WriteString('IconHint','Status1',edIconHint.Text); savestat.WriteString('Icon','Status1',Edit1.Text); //Dieses Edit will nicht (OpenPictureDialog) savestat.WriteBool('Aktiv1', 'Status1', CheckBox2.Checked); savestat.WriteBool('Aktiv2', 'Status1', CheckBox3.Checked); savestat.WriteBool('Tastaturein', 'Status1', SUIRadioButton1.Checked); savestat.WriteBool('Tastaturaus', 'Status1', SUIRadioButton2.Checked); savestat.Free; end; |
Zitat:
Delphi-Quellcode:
Schau mal, ob sich damit auch Dein Problem erledigt.
savestat := TIniFile.Create(ExtractFilepath(Application.Exename)+
'settings.ini'); Am Rande: Du musst angeforderten Speicher immer freigeben. Nutze deshalb try/finally:
Delphi-Quellcode:
Näheres zu try/finally findet sich in der Delphi-Hilfe.
... := ...Create(...);
try ... finally ...free; end; |
Hi,
es hat geklappt, mit deiner Zeile:
Delphi-Quellcode:
[Edit=Sakura]DELPHI-Tags eingefügt.[/Edit]
{
savestat := TIniFile.Create(ExtractFilepath(Application.Exename)+ 'settings.ini'); } wird dieses Edit endlich gespeichert, vielen Dank :D genügt das nicht um den Speicher frei zugeben: { savestat.Free; } |
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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