Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Farbwerte als String (https://www.delphipraxis.net/3335-farbwerte-als-string.html)

CalganX 7. Mär 2003 12:36


Farbwerte als String
 
Hi,
ich will folgendes: die Funktion colortoString liefert zwar auch den Hexwert, allerdings bei Werten, wie clNavy wird auch clNavy zurückgegeben.
Wat kann man da machen?

Chris

janjan 7. Mär 2003 13:13

:wiejetzt:

Was hat DatumsWert mit Farben zu tun? :shock:

Wenns dir um Farben geht, könntest du es so machen:

Delphi-Quellcode:
Form1.Caption:= IntToHex(integer(clblue),6);

janjan 7. Mär 2003 13:14

Das Integer kannste auch weglassen...

CalganX 7. Mär 2003 15:39

Ähem... Sorry, fehler. Werde das gleichmal editieren.
Ne... nicht ganz. Ich will aus einer Variable vom Typ TColor einen String des Farbwertes (nicht des -namens) dieser Variable bekommen. Ungefähr so:
Delphi-Quellcode:
Result := ColorToString( aColor );
Nur, dass wenn acolor den Wert clNavy hat (also den Wert von clNavy; da clNavy eine konstante ist), dann auch Result 'clNavy' ist...

Chris

janjan 7. Mär 2003 15:59

Äh, kuck mal in der Hilfe nach ColorToString, das mach doch genau das was du willst...

Oder versteh ich dich einfach falsch?

CalganX 7. Mär 2003 16:11

Zitat:

Zitat von Chakotay1308
Nur, dass wenn acolor den Wert clNavy hat (also den Wert von clNavy; da clNavy eine konstante ist), dann auch Result 'clNavy' ist...

:roll:

Chris

janjan 7. Mär 2003 16:20

Delphi-Quellcode:
edit1.Text:=colortostring($ff3216);
edit2.Text:=colortostring(clnavy);
In edit1 steht dann '$ff3216' und in edit2 'clnavy', das ist doch das was du suchst...

CalganX 7. Mär 2003 16:37

NEIN! Ich will ja eben, dass NICHT der cl...-Name zurückkommt, sondern NUR der $...-Wert!!!!!!!!!

Chris

Jan 7. Mär 2003 16:38

omg janjan,
tut mir leid, aber du scheinst etwas schwer von begriff zu sein :stupid: :)

was chris will ist, dass STATT 'clnavy' der farbwert (rgb) ausgegeben wird. Also aus dem konstantennamen clnavy wird der rgb-farbwert.
Wie das geht weiss ich allerdings auch nicht :mrgreen:
Gruß
Jan

CalganX 7. Mär 2003 16:52

Hi,
habe gerade den eigentlich Grund für meine Frage klären können: http://www.delphipraxis.net/viewtopic.php?t=294

Chris

Mirilin 7. Mär 2003 18:36

Delphi-Quellcode:
function ColToString(AColor : TColor):String;
begin
  AColor := ColorToRGB(AColor);
  Result := IntToHex(GetRValue(AColor),2)+
            IntToHex(GetGValue(AColor),2)+
            IntToHEx(GetBValue(AColor),2);
end;

janjan 7. Mär 2003 18:46

Meine Verwirrung lag darin das Chakotay1308 meinen ersten Vorschlag nicht angenommen hat.

Delphi-Quellcode:
Form1.Caption:= IntToHex(integer(clblue),6);
Das klappt soweit, das Problem ist nur, das das erste und letzte Zahlenpaar vertauscht sind. Leider hab ich das grade erst gemerkt und war bis eben der Überzeugung das dies die Lösung ist die Chakotey gesucht hat.

Und diesen Satz hier trug auch nicht zur klärung bei, denn kann man auch ohne Probleme so verstehen wie ich ihn verstanden hab:

Zitat:

Nur, dass wenn acolor den Wert clNavy hat (also den Wert von clNavy; da clNavy eine konstante ist), dann auch Result 'clNavy' ist...
Naja, was solls...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 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