AGB  ·  Datenschutz  ·  Impressum  







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

clRed to Rot Funktion

Ein Thema von alexo · begonnen am 6. Dez 2005 · letzter Beitrag vom 7. Dez 2005
Antwort Antwort
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#1

clRed to Rot Funktion

  Alt 6. Dez 2005, 12:23
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:

 case AColor of
clGreen: Result := 'Grün';
....
usw. gehen würde, ich will aber nicht 100 Farben definieren müssen....

danke
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#2

Re: clRed to Rot Funktion

  Alt 6. Dez 2005, 12:24
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.
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#3

Re: clRed to Rot Funktion

  Alt 6. Dez 2005, 12:29
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
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#4

Re: clRed to Rot Funktion

  Alt 6. Dez 2005, 12:33
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) = 'clthen
        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;
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#5

Re: clRed to Rot Funktion

  Alt 6. Dez 2005, 12:41
Danke!!

wie verwende ich die jetzt für meine unit
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#6

Re: clRed to Rot Funktion

  Alt 6. Dez 2005, 12:45
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.).
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: clRed to Rot Funktion

  Alt 6. Dez 2005, 12:49
Hier ist eine Liste der X11 Farben msdn - colors by name
Und mit .NET hättest Du es noch einfacher, da gibts nämlich TColor.ToString
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#8

Re: clRed to Rot Funktion

  Alt 6. Dez 2005, 12:52
danke


noch eine frage:

wenn ich den index meiner TColorBox auf die Übergebene Farbe setzen will wie greife ich dan auf das Farbobject zu?!

bisher:
cmb.ItemIndex := cmb.Items.Indexof(FColor); möchte nun aber auf das zusätzlich gespeicherte object abfragen

cmb.ItemIndex := cmb.Items.IndexofObject(FColor); geht das?!?
  Mit Zitat antworten Zitat
alexo

Registriert seit: 30. Nov 2005
36 Beiträge
 
#9

Re: clRed to Rot Funktion

  Alt 7. Dez 2005, 08:11
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??)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: clRed to Rot Funktion

  Alt 7. Dez 2005, 08:30
Hallo alexo,

neue Frage -> Neuer Thread, bitte.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:31 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