AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TColor in String umwandeln

Ein Thema von Stony2k · begonnen am 19. Jul 2005 · letzter Beitrag vom 20. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#1

TColor in String umwandeln

  Alt 19. Jul 2005, 12:13
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:
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;
v_title_color ist übrigens eine globale Variable.
Und natürlich bekomme ich dann diese Fehlermeldung:
[Fehler] Unit_befedit.pas(358): Inkompatible Typen: 'String' und 'TColor'
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 12:15
TColor ist ein 32bit-Integer, du kannst ihn also über WriteInteger speichern.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#3

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 12:17
Wie wäre es mit einem ColorToString?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 12:25
sakura hat da schon mal etwas in der Art gemacht.
Schau mal hier: HTML Color --> TColor --> HTML Color
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  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
 
#5

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 12:29
Aber für eine Ini reicht schon Delphi-Referenz durchsuchenIntToStr oder Delphi-Referenz durchsuchenColorToString, kommt auf's Format an, als was speichern möchte.

Beispiel für clRed:

IntToStr liefert: 255
COlorToString: clRed
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 12:33
Warum denn so kompliziert? Das Einfachste ist es doch, einen Typ auch als eben diesen zu speichern.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 12:49
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);
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#8

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 12:57
...,weil dann Systemfarben nicht gespeichert werden.

PS: TColor = ^Cardinal
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 13:05
Ich habs bisher immer als Integer gespeichert/geladen und noch nie Probleme gehabt.
Peter
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#10

Re: TColor in String umwandeln

  Alt 19. Jul 2005, 13:06
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]
  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 16:28 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