Zitat von
maxmax:
Jetzt funzt alles perfekt, ausser das:
Delphi-Quellcode:
procedure TForm1.Umwandeln2Click(Sender: TObject);
begin
try
R := ran.Text;
G := gan.Text;
B := ban.Text;
Hexcolor2.Caption := Format('
#%.2x%.2x%.2x', [R,G,B]);
Panel2.Color :=
RGB(StrToInt(R), StrToInt(G), StrToInt(B));
except
ShowMessage('
Ungülte Farbenwerte! Bitte überprüfen!');
end;
end;
er meldet das #%.2x% ein ungültiges Format ist!
was muss ich ändern?
Ich nehme mal an, dass die Variablen R, G und B Strings sind, also musst du diese erst in Bytes umwandeln.
Delphi-Quellcode:
begin
R := ran.Text;
G := gan.Text;
B := ban.Text;
Hexcolor2.Caption := Format('#%.2x%.2x%.2x', [StrToInt(R),StrToInt(G),StrToInt(B)]);
Auch da musst du wieder darauf achten, dass gültige Zahlen in den Feldern sind und dass der Bereich der Zahlen zwischen 0..255 liegt.
Zitat von
maxmax:
sry mein 2 post aber:
ich hab noch ein problem!
wenn ich 95CAFF für Hex1 nehme: kommt als
RGB 255 202 149 // es muss 149 202 255 lauten!! Und das Pnael ziegt orange an, obwohl es hellblau ist! (siehe bug1.bmp)
[/b]
Du gibst die Werte andersrum ein:
Delphi-Quellcode:
StringToColor('$0000FF');//= ROT;
StringToColor('$00FF00');//= Grün
StringToColor('$FF0000');//= Blau
Wenn du es trotzdem so rum möchtest, dann gibt es hier im Thread schon einiges an Code dafür.