Delphi-PRAXiS
Seite 2 von 4     12 34      

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)

nailor 13. Dez 2003 18:54

Re: Einstellungen speichern, wie?
 
nimm ne TIniFile und schau dir WriteBool(ean) [bin mir nciht ganz sicher], WriteString... an.

Das ist ne Delphi-Standard-Kompo und für diesen Zweck wie geschaffen!

dopeline 13. Dez 2003 20:30

Re: Einstellungen speichern, wie?
 
hmm.. irgendwie hab ich da was grundlegendes nicht begriffen. kann mir jemand auf die sprünge helfen?
ich habe hier ein Formular für die Einstellungen zum Hauptprogramm:

http://www.korbjuhn.de/optionen.gif

ich will beim klick auf "Einstellungen Speichern" die einstellungen (ob die checkboxen checked sind, oder nicht).
beim erneuten starten des programmes soll diese datei ausgelesen werden und dementsprchend die checkboxen checked sein...

allerdings komme ich nicht mit den WriteBool-Anweisungen klar... wie benutze ich die in diesem fall?

also so funktioniert es schon mal nicht: :roll:
Delphi-Quellcode:
Ini.WriteBool( 'Programm', 'Stausleiste', CheckBox4 = CheckBox4.checked );
(cCheckBox4 --> "Statusleiste anzeigen")

wie macht man das?


Gruß, dopeline

Luckie 13. Dez 2003 20:32

Re: Einstellungen speichern, wie?
 
Delphi-Quellcode:
Ini.WriteBool( 'Programm', 'Stausleiste', CheckBox4.checked );
Kuck doch mal in der Hilfe. :roll:

dopeline 13. Dez 2003 21:04

Re: Einstellungen speichern, wie?
 
ähm... ja... :oops: :oops: :oops:
danke!

jetzt wird es in die datei geschrieben. super!

so, nun zum einlesen (im OnCreate-Ereignis des Hauptformulars)... denn da gibts ne tolle fehlermeldung beim starten des progs. "Zugriffsverletzung in der Adresse ..."

und er verweist mich an die stelle, wo ich versucht habe die daten einzulesen:
Delphi-Quellcode:
Begin
 Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'\options.cfg');
  try
   if Ini.ReadBool( 'Programm', 'Stausleiste', false ) then FormOptionen.CBStatus.checked;
   .... // hier folgen noch mehr aufrufe...
  finally
   Ini.Free
end;
wo liegt hier der fehler? habe heute fußballgroße tomaten auf den augen :cyclops:


dopeline

Luckie 13. Dez 2003 21:07

Re: Einstellungen speichern, wie?
 
Delphi-Quellcode:
 CheckBox4.Checked := ini.ReadBool(...);
So hätte ich es gemacht.

dopeline 13. Dez 2003 21:29

Re: Einstellungen speichern, wie?
 
meinst du so?:
Delphi-Quellcode:
FormOptionen.CheckBox4.Checked := ini.ReadBool( 'Programm', 'Stausleiste', false );
das funktioniert leider nicht. da kommt die gleiche fehlermeldung beim ausführen....

Gruß, dopeline

Luckie 13. Dez 2003 21:35

Re: Einstellungen speichern, wie?
 
Heißt die Sektion wirklich
Zitat:

'Stausleiste'
Oder nicht eher: Statusleiste?

Pseudemys Nelsoni 13. Dez 2003 21:37

Re: Einstellungen speichern, wie?
 
in deinem code fehlt noch ein "end;", ka ob du es nur hier im forum vergessen hast

dopeline 13. Dez 2003 21:54

Re: Einstellungen speichern, wie?
 
also jetzt mal ganz komplett:

wenn ich in dem options-fenster auf speichern klicke passiert folgendes:
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;
Ini2, weil ich noch eine andere variable namens Ini benutze.

irgendwie will das nicht so, wie ich will :x


Gruß, dopeline

nailor 13. Dez 2003 21:59

Re: Einstellungen speichern, wie?
 
bei dem im OnCreate Teil fehlt ein "End". Nur hier oder auch in deinem Code?

Gibts die Optionen-Form schon, wenn deine OnCreate-Funktion aufgerifen wird?

Was genau geht schief?


Mir persönlich fällt so schnell kein Fehler auf...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Seite 2 von 4     12 34      

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