Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alle Delphi-Farben (cl+) in ein Memo hinzufügen (https://www.delphipraxis.net/65708-alle-delphi-farben-cl-ein-memo-hinzufuegen.html)

sakura 20. Mär 2006 13:57

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Die Quellcodes zum Evaluieren der Farbwerte sind im Implementation Teil der Unit Graphics und von außen nicht (vernünftig) aufrufbar. Hilft nur Copy&Paste.

...:cat:...

Nils_13 20. Mär 2006 14:01

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Ist zwar viel Arbeit, aber solange ein paar Farben oben im variablen bzw. Konstanten Teil sind ist das ja nicht weiter schlimm, aber hundert-mal hintereinander ein Add(''); dastehen zu haben ist inakzeptabel.

Ach ja: Ich bin nicht 13 !

sakura 20. Mär 2006 14:04

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Ganz hinterhältig. Lade die TColorComboBox im Hintergrund und versuche dann die Strings aus der Liste zu extrahieren ;) Ran kommt man immer, nur das "wie" ist der Weg.

...:cat:...

Hawkeye219 20. Mär 2006 14:10

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Die Unit Graphics exportiert die Prozedur GetColorValues.
Mit dieser Prozedur sollte es eigentlich funktionieren.

Gruß Hawkeye

sakura 20. Mär 2006 14:11

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Zitat:

Zitat von Hawkeye219
Die Unit Graphics exportiert die Prozedur GetColorValues.
Mit dieser Prozedur sollte es eigentlich funktionieren.

Gruß Hawkeye

Leider aber nur die Enumeration-Werte, aber nicht die Namen kann man damit heranholen.

...:cat:...

Nils_13 20. Mär 2006 14:12

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Jetzt schon zu spät, habe jetzt folgende Methode angwendet:
Delphi-Quellcode:
// hier habe ich die ganzen gleichen Farben großteils bzw. alle rausgelasen
const
  COLOR_NUM = 43;
  ColorConst: array [0..COLOR_NUM] of TColor = (clBlack,
    clMaroon, clGreen, clOlive, clNavy,
    clPurple, clTeal, clGray, clSilver, clRed,
    clLime, clYellow, clBlue, clFuchsia,
    clAqua, clWhite, clMoneyGreen, clSkyBlue,
    clCream, clMedGray, clActiveBorder,
    clActiveCaption, clAppWorkSpace, clBackground,
    clBtnFace, clBtnHighlight, clBtnShadow, clCaptionText,
    clGradientActiveCaption, clGradientInactiveCaption,
    clGrayText, clHighlight, clHighlightText, clHotLight,
    clInactiveBorder, clInactiveCaption, clInactiveCaptionText,
    clInfoBk, clMenuBar, clMenuHighlight, clScrollBar,
    cl3DDkShadow, cl3DLight, clWindow);
  ColorNames: array [0..COLOR_NUM] of string = ('Black',
    'Maroon', 'Green', 'Olive', 'Navy',
    'Purple', 'Teal', 'Gray', 'Silver', 'Red',
    'Lime', 'Yellow', 'Blue', 'Fuchsia',
    'Aqua', 'White', 'MoneyGreen', 'SkyBlue',
    'Cream', 'MedGray', 'ActiveBorder',
    'ActiveCaption', 'AppWorkSpace', 'Background',
    'BtnFace', 'BtnHighlight', 'BtnShadow', 'CaptionText',
    'GradientActiveCaption', 'GradientInactiveCaption',
    'GrayText', 'Highlight', 'HighlightText', 'HotLight',
    'InactiveBorder', 'InactiveCaption', 'InactiveCaptionText',
    'InfoBk', 'MenuBar', 'MenuHighlight', 'Scrollbar',
    '3DDkShadow', '3DLight', 'Window');

for i := Low(ColorNames) to High(ColorNames) do
   Console.Lines.Add(ColorNames[i]);
Läuft perfekt:
Zitat:

Black
Maroon
Green
Olive
Navy
Purple
Teal
Gray
Silver
Red
Lime
Yellow
Blue
Fuchsia
Aqua
White
MoneyGreen
SkyBlue
Cream
MedGray
ActiveBorder
ActiveCaption
AppWorkSpace
Background
BtnFace
BtnHighlight
BtnShadow
CaptionText
GradientActiveCaption
GradientInactiveCaption
GrayText
Highlight
HighlightText
HotLight
InactiveBorder
InactiveCaption
InactiveCaptionText
InfoBk
MenuBar
MenuHighlight
Scrollbar
3DDkShadow
3DLight
Window

Hawkeye219 20. Mär 2006 14:29

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Zitat:

Zitat von sakura
Leider aber nur die Enumeration-Werte, aber nicht die Namen kann man damit heranholen.

Was verstehst Du unter "Namen"? Die Routine liefert doch genau die Strings, die auch der Objektinspektor in der ComboBox auflistet. :gruebel:

Angel4585 20. Mär 2006 14:37

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Falls ich mich wiederhole:
Zitat:

Zitat von Angel4585
versuchs doch mal mit "Colors[i]" bzw. "ColorNames[i]"

Das ganze von der TColorListbox in D2005 Prof.. weis nich obs die in D7 auch gibt.. aber funzt

Nils_13 20. Mär 2006 16:14

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Das gibt es in Delphi 7 nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.
Seite 2 von 2     12   

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