Entwickler-Ecke

Sonstiges (Delphi) - Problem mit der ini


deagle - Sa 28.09.02 18:50
Titel: Problem mit der ini
Hi

Ich habe mir das durchgelsen wie man das macht mit der ini nur ich verstehe(http://www.auq.de/viewtopic.php?t=182&highlight=ini&sid=497c47d5da4bd280f5f6bc671228dc50) nicht wie man das macht wenn man zum beispiel in edit1.text einstellt der soll Form1.Color := clsilver nehmen und der soll das dan speichern wie geht das ??


Delete - Sa 28.09.02 18:59

Ab und an ein Komma oder Punkt wäre super, dann liest es sich besser.

Zitat:
wenn man zum beispiel in edit1.text einstellt der soll Form1.Color := clsilver nehmen und der soll das dan speichern??

Erst mal: wer ist der?

Außerdem hat Chatfix doch gesagt und gezeigt wie´s geht. Inkl. Beispiel. Und was verstehst du daran jetzt nicht?

In welcher Form steht die Farbe (z.B. "clSilver") denn eigentlich in deinem Edit? Ist nicht böse gemeint! Soll nur helfen, dich zu verstehen und dir dann zu helfen. Ist es ein String? Ein Zahlenwert?


DeCodeGuru - Sa 28.09.02 18:59

guck mal in der Delphi-Hilfe nach ColorToString und StringToColor. Damit kannst du Colorwerte in Strings umwandeln und umgekehrt -> du kannst also einfach einen String in die Ini speichern.


Klabautermann - Sa 28.09.02 23:11

Hallo deagle,

ich schätze das Problem ist, das du Die Farbkonstanten z.B. clSilver für Strings hälst. Es sind aber Integer konstanten, also nur Bezeichnungen für bestimmte zahlen.

Zum eingeben einer Farbe solltest du auf keinen Fall ein Edit Feld verwenden. Es gibt viel schönere und fehler unanfälligere möglichkeiten. Ab Delphi 6 z.B. die ColorBox (auf dem Reiter zusätzlich) aber auch vorher schon das ColorGrid (Reiter Beispiele). Diese liefern dir dann den entsprechenden Integer Wert der Farbe zurück, welchen du auch als solchen in deine INI-Datei speichern solltest.

Um die aktuelle Farbe einer ColorBox zu speichern sieht das z.B. so aus:

Quelltext
1:
ini.WriteInteger('Sektion', 'Farbe1', ColorBox1.Selected);                    


Um diese auszulesen und deinen Formular zuzuweisen genügt dieser Code:


Quelltext
1:
Form1.Color := ini.ReadInteger('Sektion', 'Farbe1', clSilver);                    


Wobe clBtnFace (also die StandartFensterfarbe) verendet wird wenn nichts anderes angegeben wurde.

Du musst natürlich trotzdem alles beachten was du über das erzeugen und Freigeben deines INI-Objektes in dem Tutorial gelernt hast.

Gruß
Klabautermann


Chatfix - So 29.09.02 01:30

dem ist nichts mehr hinzuzufügen... *grins*