Delphi-PRAXiS

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)

Nils_13 20. Mär 2006 13:18


Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Hi,

gibt es irgendeine vorgefertigte Funktion oder eine Methode, die klein ist, um alle Farben Delphis (nur die Farben mit cl davor) in ein Memo zu kriegen (hinzufügen) ?

Angel4585 20. Mär 2006 13:24

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
meinst du die Farbcodes( $00ffffff) oder die Bezeichnung(clWhite)?

himitsu 20. Mär 2006 13:29

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Also möglich ist es ja ... schau einfach mal in deinen QuellCodes vom Delphi nach (die Architect hat die ja mit bei).
Da gibt's so'ne TColorComboBox, oder wie die heißt, die muß ja einen Code dafür besitzen. :zwinker:

Nils_13 20. Mär 2006 13:38

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Ich habe da keine Quellcodes :gruebel:

PierreB 20. Mär 2006 13:38

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Nein ? Ich denke du hast ne Delphi 7 Architekt. Müssten eigentlich im Programmordner vorhanden sein. :zwinker:

Angel4585 20. Mär 2006 13:45

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Wie kommt ein 13-jähriger an ne Architect Version :gruebel: ?(legal :zwinker: )

himitsu 20. Mär 2006 13:46

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Oder einfach mal die entsprechende Componente auf ein Formular ziehen (irgendwo muß ja dieses Teil da oben drinstehen) und dann Definition (type TForm1 = class...) über den Classennamen der Komponente deren Definition suchen lassen :mrgreen:

Angel4585 20. Mär 2006 13:51

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
vesuchs doch mal mit "Colors[i]" bzw. "ColorNames[i]"

PierreB 20. Mär 2006 13:52

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

Zitat von Angel4585
Wie kommt ein 13-jähriger an ne Architect Version :gruebel: ?(legal :zwinker: )

Bestimmt reiche Eltern. :zwinker:

Nils_13 20. Mär 2006 13:55

Re: Alle Delphi-Farben (cl+) in ein Memo hinzufügen
 
Die habe ich vom Bruder.

Ich habe das ganze einfach über ein Array gelöst, trotzdem danke, suche mal nach den Quellcodes.

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 22:11 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