Einzelnen Beitrag anzeigen

SvenLittkowski

Registriert seit: 18. Dez 2004
98 Beiträge
 
#24

AW: Fehler: IF: Kein Teil eienr Menge (Bedingung)

  Alt 1. Feb 2011, 05:49
Irgendwie bewege ich mich noch immer auf dem Holzpfad. Ich komme einfach, trotz all Deiner Hilfen, nicht weiter. Ich habe Deinen Vorschlag (Color in LongInt umzuwandeln) aufgegriffen, finde aber bis jetzt keine entsprechende Delphi-Funktion zum Umwandeln. Nur ColorToRGB, ColorToString.

Mir geht es ja nur darum, in der programmeigenen INI-Datei die Farben des Benutzers abzuspeichern, aber nicht als "cl"-Wert, sondern nur als "$"-Wert. Jedoch, wenn der Benutzer sich eine Farbe im ColorDialog aussucht, kann es manchmal sein, daß diese Farbe als "cl"-Wert weitergegeben wird und nicht als "$"-Wert. StringToColor erzeugt doch auch Farbwerte wie "clRed", wenn der Benutzer die Farbe RGB FF 00 00 (reines rot) ausgesucht hatte.

Und Dein Zitat stimmt: das Problem steckt wirklich in den meisten Fällen zwischen den Ohren. Ich hoffe, ich fange nicht an, Euch alle zu langweilen mit meinen ewigen Fragen...


UPDATE

Ich habe jetzt eine andere Lösung gefunden:

Code:
var
 TheColor1, TheColor2: String;

 TheColor1:=TColorToHex(Sender,GlowLabel1.Font.Color);
 TheColor2:=TColorToHex(Sender,GlowLabel1.GlowColor);
 TheColor1:='$00'+Copy(TheColor1,5,2)+Copy(TheColor1,3,2)+Copy(TheColor1,1,2);
 TheColor2:='$00'+Copy(TheColor2,5,2)+Copy(TheColor2,3,2)+Copy(TheColor2,1,2);

function TAlpha.TColorToHex(Sender: TObject; Color: TColor): string;
begin
 Result:=IntToHex(GetRValue(Color),2)+IntToHex(GetGValue(Color),2)+IntToHex(GetBValue(Color),2);
end;

function TAlpha.HexToTColor(Sender: TObject; sColor: string): TColor;  // Nicht benutzt
begin
 Result:=RGB(StrToInt('$'+Copy(sColor,1,2)),StrToInt('$'+Copy(sColor,3,2)),StrToInt('$'+Copy(sColor,5,2)));
end;
Zitat von Delphi 7:
Nun stimmt's!
Dieses Thema kann hiermit beendet werden.

Geändert von SvenLittkowski ( 1. Feb 2011 um 06:22 Uhr)
  Mit Zitat antworten Zitat