Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Einstellungen speichern, wie? (https://www.delphipraxis.net/13050-einstellungen-speichern-wie.html)

dopeline 14. Dez 2003 14:30

Re: Einstellungen speichern, wie?
 
das end habe ich vergessen reinzuschreiben. denn nach dem auslesen der einstellungen passieren noch ganz viele andere sachen. nachdem die fehlermeldung kommt, markiert er mir im OnCreate die erste zeile
Delphi-Quellcode:
Ini.ReadBool( 'Programm', 'Statusleiste', CBStatus.checked );
er kann die einstellungen anscheinend nicht richtig auslesen, oder zumindest nicht richtig umsetzen...
beim compilieren gibt es keine probleme. der fehler tritt definitiv erst beim STARTEN des programmes auf und nicht beim compilieren. ein laufzeitfehler...

//Edit: WriteBool --> ReadBool

Gruß, dopeline

Pseudemys Nelsoni 14. Dez 2003 14:33

Re: Einstellungen speichern, wie?
 
WriteBool schreibt auch... versuchs mal mit ReadBool...

dopeline 14. Dez 2003 14:37

Re: Einstellungen speichern, wie?
 
oh sorry ich habe aus dem falschen ereignis kopiert! im oncreate steht ReadBool (s.o.)...

dopeline

Pseudemys Nelsoni 14. Dez 2003 14:38

Re: Einstellungen speichern, wie?
 
kanns du den code davon nochmal posten?

dopeline 14. Dez 2003 14:43

Re: Einstellungen speichern, wie?
 
Wenn ich auf "Einstellungen Speichern" klicke:
Delphi-Quellcode:
procedure TFormOptionen.BitBtn2Click(Sender: TObject);
var Ini: TIniFile;
begin
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'\options.cfg');
  try
        Ini.WriteString( 'Programm', 'Pfad', Verz );
        Ini.WriteBool( 'Programm', 'Statusleiste', CBStatus.checked );
        Ini.WriteBool( 'Programm', 'Datum-Zeit', CBDateTime.checked );
        Ini.WriteBool( 'Programm', 'Geburtstag', CBGeburt.Checked );
        Ini.WriteBool( 'Programm', 'Deutsch', RBDeutsch.checked );
        Ini.WriteBool( 'Programm', 'Englisch', RBEnglisch.checked );
        Ini.WriteBool( 'Tabelle', 'Tabelle-vertikal', CBVertLine.checked );
        Ini.WriteBool( 'Tabelle', 'Tabelle-horizontal', CBHorzLine.checked );
        Ini.WriteBool( 'Tabelle', 'Tabelle-spalten', CBSpalten.checked );
  finally
  Ini.Free;
  end;
end;
und im OnCreate-Ereignis kommt das:
Delphi-Quellcode:
procedure TFormHaupt.FormCreate(Sender: TObject);
var Ini2 : TIniFile;

begin
 Ini2 := TIniFile.Create(ExtractFilePath(ParamStr(0))+'\options.cfg');
  try
   FormOptionen.CBStatus.Checked := ini2.ReadBool( 'Programm', 'Statusleiste', false );
   FormOptionen.CBDateTime.checked := Ini2.ReadBool( 'Programm', 'Datum-Zeit', false );
   FormOptionen.CBGeburt.checked:= Ini2.ReadBool( 'Programm', 'Geburtstag', false );
   FormOptionen.RBDeutsch.checked :=Ini2.ReadBool( 'Programm', 'Deutsch', false );
   FormOptionen.RBEnglisch.checked := Ini2.ReadBool( 'Programm', 'Englisch', false );
   FormOptionen.CBVertLine.checked := Ini2.ReadBool( 'Tabelle', 'Tabelle-vertikal', false );
   FormOptionen.CBHorzLine.checked := Ini2.ReadBool( 'Tabelle', 'Tabelle-horizontal', false );
   FormOptionen.CBSpalten.checked := Ini2.ReadBool( 'Tabelle', 'Tabelle-spalten', false );
  finally
   Ini2.Free
end;
Gruß, dopeline

Pseudemys Nelsoni 14. Dez 2003 14:54

Re: Einstellungen speichern, wie?
 
ich denke mal weil "FormOptionen" beim create von "FormHaupt" noch nicht create'd wurde. wieso machst es nicht im oncreate des option-fensters?

btw du kannst "ini2" auch "ini" nennen, da das andere "ini" lokal ist

dopeline 14. Dez 2003 15:25

Re: Einstellungen speichern, wie?
 
kann ich denn irgendwo die erstellungsreihenfolge der formulare verändern? in dem moment, wenn er die checkboxen checked, wird ja das ereignis ausgelöst, was bewirkt, dass z.b. die statusleiste angezeigt wird.

mein ziel ist es, die einstellungen, die ich in dem options-formular vornehme, in einer datei zu speichern. beim programmstart sollen die einstellungen aus der datei gelesen werden und entsprechend umgesetzt werden. also z.b. die vertikalen linien des stringgrids sollen nicht angezeigt werden usw. vielleicht gibt es ja noch eine andere möglichkeit der umsetzung....

jedenfalls komme ich da nicht weiter... :cry:


und das mit ini2: ich benutze noch eine andere variable 'ini'. wenn ich eine datei öffne, wird der pfad in eine datei geschrieben und beim nächsten öffnen wird die datei in das dateimenü gehängt... zuletzt geöffnete dateien also...

Gruß, dopeline

Christian Seehase 14. Dez 2003 20:58

Re: Einstellungen speichern, wie?
 
Moin dopeline,

Zitat:

Zitat von dopeline
kann ich denn irgendwo die erstellungsreihenfolge der formulare verändern?

Jain.
In der Projektdatei kannst Du die Reihenfolge zwar ändern, aber dabei ist zu beachten, dass das erste erzeugte Formular immer zum Hauptformular der Anwendung wird.

Was spricht dagegen, wenn Du Dir ein Settings Objekt erstellst, dass Du dann als Eigenschaft des Hauptformulares einbindest, und auf das dann alle Fenster beim OnCreate zugreifen, um ihre Einstellungen auszulesen?

dopeline 15. Dez 2003 09:44

Re: Einstellungen speichern, wie?
 
ähm.... kannst du mir sagen, wie man das anstellt? ich habe keinen blassen schimmer....

Danke!


Gruß, dopeline

choose 15. Dez 2003 09:48

Re: Einstellungen speichern, wie?
 
Hallo dopline,

das von Christian Seehase vorgeschlagene Vorgehen, ist in dem Thread Übergabe von Einstellungen, wie am elegantesten? bereits diskutiert worden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz