AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Checkbox-Status:in einer .ini-Datei speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Checkbox-Status:in einer .ini-Datei speichern

Ein Thema von Lamy · begonnen am 13. Apr 2004 · letzter Beitrag vom 14. Apr 2004
Antwort Antwort
Seite 1 von 2  1 2      
Lamy

Registriert seit: 11. Apr 2004
119 Beiträge
 
Delphi 7 Personal
 
#1

Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:21
Hi!

Ich habe 2 Formulare, Formular2 wird aufgerufen, wenn man auf den Button "Einstellungen" auf Formular 1 klickt.
Nun kommt standartmäßig eine Beendenabfrage, wenn das Programm beendet werden soll:

Delphi-Quellcode:
PROCEDURE TForm1.FormCloseQuery(Sender: TObject; VAR CanClose: Boolean);
BEGIN
  IF Form2.CBBeendenfrage.Checked THEN
    IF MessageDlg('Soll das Programm wirklich beendet werden?', mtConfirmation, [mbYes, mbNo], 0) = mrNo THEN
      CanClose := False;
END;
In dem Einstellungs-Formular hat man nun eine Checkbox, bei der man auswählen soll ob die Frage angezeigt werden soll oder nicht:

Delphi-Quellcode:
PROCEDURE TForm2.BTspeichernClick(Sender: TObject);
VAR ini: TIniFile;
BEGIN
  ini := TIniFile.Create('C:\ftp4u.ini');
  ini.WriteBool('Abfragebeiende', 'Abfrage', Form2.CBBeendenfrage.Checked);
  ini.Free;
END;



PROCEDURE TForm2.BTladenClick(Sender: TObject);
VAR ini: Tinifile;
BEGIN
  ini := TIniFile.Create('C:\ftp4u.ini');
  ini.ReadBool('Abfragebeiende', 'Abfrage', Form2.CBBeendenfrage.Checked);
  ini.Free;
END;
Dazu hab ich gleich 2 Fragen: Warum speichert das Programm den Status der Box nicht?
Und wie kann ich es einrichten, dass die Einstellungen gleich beim Programmstart geladen werden und der Button "Laden" überflüssig wird?

Vielen Dank schonmal;

Lamy
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:25
Die Methode ReadBool ist eine Funktion!

Ein Formular kennt das Ereignis OnCreate in dem man normalerweise alles initialisiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:27
Schreib die Prozedur unter TForm1.OnCreate (im Objekt-Inspektor unter Ereignisse) und schon wird bei jedem Start die Einstellung übernommen.

Readbool ist eine Funktion... Die Eigenschaft der Box muss dem Funktionsergebnis gleichgesetzt werden.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:28
Moin Lamy,

wobei es noch wichtig ist, dass das Zuweisen an die Eigenschaft Checked ein OnClick für diese Kompo auslöst, als würde man die Checkbox anklicken.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Lamy

Registriert seit: 11. Apr 2004
119 Beiträge
 
Delphi 7 Personal
 
#5

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:28
?
Könntest du mir das bitte mal übersetzen?

Wär nett, denn ich bin noch anfänger aber je mehr ich lerne desto besser

Danköö!

Edit: Eieiei, das geht ja schnell hier.... Danke euch allen!

Ich probiers mal aus und melde mich dann wieder bis gleich
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:33
moin,

ini.Read... sind Funktionen, d.h. es müsste wie folgt aussehen:
CBBeendenfrage.Checked := ini.ReadBool('Abfragebeiende', 'Abfrage', false); Der letzte Parameter ist der Standardwert, der verwendet wird falls der Ini-Eintrag nicht gefunden wird.


Um das ganze ohne Button zu realisieren musst du das Laden in die Create-procedure des Forms schreiben
einfach einen Doppelklick aufs Formular machen und dann das folgende eintragen:



Delphi-Quellcode:
procedure TForm1.Form2Create(Sender: TObject);
begin
  ini := TIniFile.Create('C:\ftp4u.ini');
  Form2.CBBeendenfrage.Checked := ini.ReadBool('Abfragebeiende', 'Abfrage', false)
  ini.Free;
END;

EDIT: *grummel* schon wieder zu langsam
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Lamy

Registriert seit: 11. Apr 2004
119 Beiträge
 
Delphi 7 Personal
 
#7

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:34
Also, so weit so gut, wie man das ganze bei Programmstart lädt weiß ich jetzt.

Aber:
Ich verstehe nicht warum man nicht die Funtkion Readbool benutzen kann, was soll man sonst nehmen?

EDIT: Boah, das Board regt mich echt auf (scherz!!!), das geht ja alles schneller als man schreiben kann

Vielen Dank, ich glaub das wars fürs erste!
Schönen Abend noch,
Lamy
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#8

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 22:37
chris meinte;
Delphi-Quellcode:

procedure TForm1.Formcreate(sender :TObject);
begin
  cbx1.state:=cbchecked;
end;

procedure Tform1.cbx1click(Sender:TObject);
begin
    if Cbx1.checked then
     Showmessage('ich bin markiert');
end;
die message siehst du bei jedem aufruf von Form1.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Lamy

Registriert seit: 11. Apr 2004
119 Beiträge
 
Delphi 7 Personal
 
#9

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 23:11
Irgendwie bin ich zu blöde
Delphi-Quellcode:
//--------------------------------------------------------------- | Speichern und laden

PROCEDURE TForm2.FormCreate(Sender: TObject);
VAR ini: Tinifile;
BEGIN
  ini := TIniFile.Create('C:\ftp4u.ini');
  Form2.CBBeendenfrage.Checked := ini.ReadBool('Abfragebeiende', 'Abfrage', false);
  ini.Free;
END;


PROCEDURE TForm2.BTspeichernClick(Sender: TObject);
VAR ini: TInifile;
BEGIN
  ini := TIniFile.Create('C:\ftp4u.ini');
  ini.WriteBool('Abfragebeiende', 'Abfrage', false);
  ini.Free;
END;
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Checkbox-Status:in einer .ini-Datei speichern

  Alt 13. Apr 2004, 23:14
Moin Lamy,

schau Dir noch einmal genau den dritten Parameter bei WriteBool an.
Müsste helfen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.
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