![]() |
TColor in String umwandeln
Hi,
ist es möglich den TColor type, den der ColorDialog ausgibt in einen String umzuwandeln, um ihn in einer .ini-Datei zu speichern?
Delphi-Quellcode:
v_title_color ist übrigens eine globale Variable.
procedure Tfm_optionen.Title_color_changeClick(Sender: TObject);
Var IniDat : TIniFile; begin If ColorDialog1.Execute = True Then begin frm_main.UO_Commander_Title.Font.Color := ColorDialog1.Color; v_Title_color := ColorDialog1.Color; end; IniDat := TIniFile.Create ('.\config.ini'); with IniDat do begin Writestring ('Optionen', 'Title color', v_Title_color); end; IniDat.Free; end; Und natürlich bekomme ich dann diese Fehlermeldung:
Delphi-Quellcode:
[Fehler] Unit_befedit.pas(358): Inkompatible Typen: 'String' und 'TColor'
|
Re: TColor in String umwandeln
TColor ist ein 32bit-Integer, du kannst ihn also über WriteInteger speichern.
|
Re: TColor in String umwandeln
Wie wäre es mit einem ColorToString? ;)
|
Re: TColor in String umwandeln
![]() Schau mal hier: ![]() |
Re: TColor in String umwandeln
Aber für eine Ini reicht schon
![]() ![]() Beispiel für clRed: IntToStr liefert: 255 COlorToString: clRed |
Re: TColor in String umwandeln
Warum denn so kompliziert? Das Einfachste ist es doch, einen Typ auch als eben diesen zu speichern.
|
Re: TColor in String umwandeln
Ich nochmal,
Warum nicht gleich als Integer in die Ini schreiben ?
Delphi-Quellcode:
// in Ini schreiben
{IniDat.}WriteInteger('Optionen', 'Title color', v_Title_color); // aus Ini lesen v_Title_color := {IniDat.}ReadInteger('Optionen', 'Title color', 0); |
Re: TColor in String umwandeln
...,weil dann Systemfarben nicht gespeichert werden.
PS: TColor = ^Cardinal |
Re: TColor in String umwandeln
Ich habs bisher immer als Integer gespeichert/geladen und noch nie Probleme gehabt.
|
Re: TColor in String umwandeln
TColor ist kein pointer auf Cardinal btw
sondern nur ein normales cardinal </senf> [edit] und mit dem integer klappts weil die systemfarben nicht größer als $7FFFFFFF sind, was der maximalen positiven grenze vom integer entsprechen würde. systemfarben befinden sich/beginnen bei $01000000 ... [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz