![]() |
clRed to Rot Funktion
hi!
gibt es eine funktion die es mir ermöglicht eine farbe zB clRed in "Rot" umzuwandeln OHNE jede farbe einzeln zu definieren. mir ist schon klar das es mit
Delphi-Quellcode:
usw. gehen würde, ich will aber nicht 100 Farben definieren müssen....case AColor of clGreen: Result := 'Grün'; .... danke :mrgreen: |
Re: clRed to Rot Funktion
Du könntest dir eine Komma-Getrennte Liste machen. Außer ColorToString oder StringToColor wird es da sonst nichts geben.
[Colors] clred;Rot clgreen;Grün clBlue;Blau usw. |
Re: clRed to Rot Funktion
ich verwende eine TColorBox, da kann man ja cbPrettyName auf true stellen u. delphi wandelt automatisch die farbe von clBlack auf Schwarz....
kann ich diese funktion nicht irgendwie verwenden :?: |
Re: clRed to Rot Funktion
so wie ich das sehe, entfernt die nur das präfix "cl". außerdem verwendet sie eine liste der farben.
hier ein auszug:
Delphi-Quellcode:
resourcestring
clNameBlack = 'Black'; clNameMaroon = 'Maroon'; clNameGreen = 'Green'; ... const ColorToPretyName: array[0..46] of TIdentMapEntry = ( (Value: clBlack; Name: clNameBlack), (Value: clMaroon; Name: clNameMaroon), (Value: clGreen; Name: clNameGreen), ... procedure TCustomColorBox.ColorCallBack(const AName: String); var I, LStart: Integer; LColor: TColor; LName: string; begin LColor := StringToColor(AName); if cbPrettyNames in Style then begin if not IntToIdent(LColor, LName, ColorToPretyName) then begin if Copy(AName, 1, 2) = 'cl' then LStart := 3 else LStart := 1; LName := ''; for I := LStart to Length(AName) do begin case AName[I] of 'A'..'Z': if LName <> '' then LName := LName + ' '; end; LName := LName + AName[I]; end; end; end else LName := AName; Items.AddObject(LName, TObject(LColor)); end; |
Re: clRed to Rot Funktion
Danke!!
wie verwende ich die jetzt für meine unit :roll: |
Re: clRed to Rot Funktion
für welche unit?
wie gesagt, die obige funktion arbeitet mit einer Liste von sog. Standard-Farben. Die sind wohl im dt. Delphi auf Deutsch, bei meinem engl. auf Englisch. Dir wird wohl nichts anderes übrig bleiben, als selbst die Farbwerte den Namen zuzuordnen. Dafür würde ich eine Liste verwenden (s. o.). |
Re: clRed to Rot Funktion
Hier ist eine Liste der X11 Farben
![]() Und mit .NET hättest Du es noch einfacher, da gibts nämlich TColor.ToString |
Re: clRed to Rot Funktion
danke :thumb:
noch eine frage: wenn ich den index meiner TColorBox auf die Übergebene Farbe setzen will wie greife ich dan auf das Farbobject zu?! bisher:
Delphi-Quellcode:
möchte nun aber auf das zusätzlich gespeicherte object abfragen
cmb.ItemIndex := cmb.Items.Indexof(FColor);
Delphi-Quellcode:
geht das?!?
cmb.ItemIndex := cmb.Items.IndexofObject(FColor);
|
Re: clRed to Rot Funktion
noch was:
kann ich den objekt inhalt von lv.item.data auch in eine spalte einfügen?! (ohne dass ich den ihnalt von der DB 2x laden muss??) |
Re: clRed to Rot Funktion
Hallo alexo,
neue Frage -> Neuer Thread, bitte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 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