AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [CheckBox] True / False aus .ini lesen und verwenden.
Thema durchsuchen
Ansicht
Themen-Optionen

[CheckBox] True / False aus .ini lesen und verwenden.

Ein Thema von xShadowBoZz · begonnen am 20. Jan 2008 · letzter Beitrag vom 20. Jan 2008
Antwort Antwort
Benutzerbild von xShadowBoZz
xShadowBoZz

Registriert seit: 19. Jan 2008
Ort: Deutschland ~.~
80 Beiträge
 
Delphi 7 Enterprise
 
#1

[CheckBox] True / False aus .ini lesen und verwenden.

  Alt 20. Jan 2008, 15:27
so ich bins ma wieder

hab hier ma ne frage und zwar:
also bei einer checkbox ist ja checked=True glaub also zahl(boolean, in .ini file) gleich '0'.
ich hab folgendes gemacht:

Form1 is hauptfenster, da gibts ein 'Settings' button, da öffnet sich dann Form2. Da klick ich dann auf die checkbox.
so jetzt klick ich auf speichern, des wird dann in der .ini file gespeichert, aba wenn ich das prog wieder öffne is das nicht gespeichert bzw. es wird net so verwendet das die Checkbox angetickt ist(=True).

vielt. erklärt des alles ein bisschen besser:

also erstmal die checkbox:

Delphi-Quellcode:
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
If Checkbox1.Checked then
  Form1.Edit2.PasswordChar := '*'
    else
      Form1.Edit2.PasswordChar := #0;
end;
dann klick ich auf speichern/save.

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var
  Ini: TIniFile;
begin
  try
    Ini:=TIniFile.Create('D:\Save.ini');
    Ini.WriteString('KnownAccount','KnownID',edit1.Text);
    Ini.WriteString('KnownAccount','KnownPW',edit2.Text);
    Ini.WriteString('KnownAccount','KnownPIN',edit3.Text);
    Ini.WriteString('CrackingAccount','CrackingID',edit4.Text);
    Ini.WriteString('CrackingAccount','CrackingPW',edit5.Text);
    Ini.WriteString('CrackingAccount','CrackingPINstart',edit6.Text);
    Ini.WriteString('CrackingAccount','CrackingPINstop',edit7.Text);
    Ini.WriteBool('Other','CensoredPW',CheckBox1.Checked); // ist ja logisch, der liest dann ob True
    Ini.WriteBool('Other','CensoredPW',CheckBox2.Checked); // oder False aus Checked
  finally
    Ini.Free;
end;
end;
dann schlies ich alles und wenn ich dann gucke dann sollte des ja angetickt sein aba ich weis net genau wie er das lesen soll, habs jetzt so gemacht, aba das funktioniert net.

Delphi-Quellcode:
procedure TForm2.FormShow(Sender: TObject);
var Ini: TIniFile;
begin
  try
    Ini:=TIniFile.Create('D:\Save.ini');
    Edit1.Text:=Ini.ReadString('KnownAccount',
                      'KnownID','kein Wert');
    Edit2.Text:=Ini.ReadString('KnownAccount',
                      'KnownPW','kein Wert');
    Edit3.Text:=Ini.ReadString('KnownAccount',
                      'KnownPIN','kein Wert');
    Edit4.Text:=Ini.ReadString('CrackingAccount',
                      'CrackingID','kein Wert');
    Edit5.Text:=Ini.ReadString('CrackingAccount',
                      'CrackingPW','kein Wert');
    Edit6.Text:=Ini.ReadString('CrackingAccount',
                      'CrackingPINstart','kein Wert');
    Edit7.Text:=Ini.ReadString('CrackingAccount',
                      'CrackingPINstop','kein Wert');
    Label23.Caption:=Ini.ReadString('GGLess Info',
                      'GGLess Path','kein Wert');
    Label25.Caption:=Ini.ReadString('GGLess Info',
                      'GGLess Name','kein Wert');
    CheckBox1.Checked:=Ini.ReadBool('Other',
                      'CensoredPW',False); // hier weis ich net was ich angeben soll damit ers automatisch liest.
  finally
    Ini.Free;
end;
end;
hoffe das jemand helfen kann, thx im vorraus.

mfg
andy
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [CheckBox] True / False aus .ini lesen und verwenden.

  Alt 20. Jan 2008, 15:35
Hallo,

ich sehe keinen Fehler, bis auf den, dass "try" nach "Ini:=TIniFile.Create('D:\Save.ini');" stehen sollte:

Delphi-Quellcode:
Ini := TIniFile.Create('D:\Save.ini');
try
  // ...
finally
  Ini.Free; // oder: FreeAndNil(Ini);
end;
Der 3. Parameter von ReadBool, ReadInteger & Co. gibt an, welcher Wert zurückgegeben soll, wenn in der Ini kein Eintrag vorhanden ist. Es ist also eine Art Standardwert bzw. eine Vorbelegung.

Grüße


Edit @ringli (Beitrag drunter): Ach darauf wollte er hinaus, ich dachte es geht um den prinzipiellen Umgang mit der Ini.
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
504 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: [CheckBox] True / False aus .ini lesen und verwenden.

  Alt 20. Jan 2008, 15:38
Also beim Schreiben überschreibst du durch Zeile 15 die Werte die in Zeile 14 bereits geschrieben wurden.

Beim Lesen fehlt die Zeile zum Auslesen für die zweite Checkbox.
  Mit Zitat antworten Zitat
Benutzerbild von xShadowBoZz
xShadowBoZz

Registriert seit: 19. Jan 2008
Ort: Deutschland ~.~
80 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: [CheckBox] True / False aus .ini lesen und verwenden.

  Alt 20. Jan 2008, 15:59
also des mit dem try wusst ich net, hab des von ner seite (Link)
da steht es nach try.

ok bin mir jetzt net 100% sicha aba ich glaubs ich habs,
es ist bei mir so das wenn ich auf die checkbox clicke dann guckt es true oder false und censiert bei die schrift im edit feld in einer anderen form. beim wieder öffnen hab ich ein event einegestellt das er des lädt wenn Form2 angezeigt wird, des passiert ja nur wenn ich auf settings klicke also muss ich das auch oder auf jedenfall in Form1 einbauen.

also
Delphi-Quellcode:
    Form2.CheckBox1.Checked:=Ini.ReadBool('Other',
                      'CensoredPW',True);
in Form1 bei OnActivate einbauen.
ich machs ma und sag/edit bescheid obs geht.

EDIT:
hab jetzt auch die tries nach     Ini:=TIniFile.Create('D:\Save.ini'); gesetzt. dann
Delphi-Quellcode:
    Form2.CheckBox1.Checked:=Ini.ReadBool('Other',
                      'CensoredPW',True);
aus "procedure TForm2.FormShow(Sender: TObject);" gelöscht und in "procedure TForm1.FormActivate(Sender: TObject);" eingefügt.paar mal probiert und es klappt
trotzdem dickes thx an euch für schnelle antwort.
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:39 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