Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Farbe des Label abrufen und in ein Memo speichern. (https://www.delphipraxis.net/180179-farbe-des-label-abrufen-und-ein-memo-speichern.html)

Shidima 28. Apr 2014 19:26

Farbe des Label abrufen und in ein Memo speichern.
 
Guten Abend,

ich habe ein kleines Problem und komme gerade nicht weiter, wobei ich sagen muss das es sich "nur" um eine Kleinigkeit handelt. Die stört mich jedoch.

memo1.lines.add('Ergebnis: '+Form1.Label3.Caption+ '|' +Form1.Label3.Font.Color);

Diese Programmzeile funktioniert abgesehen von dem letzten teil ( Form1.Label3.Font.Color ) und ich frage mich warum er dabei meckert.
Ich will das im Memo die Caption und die Farbe in der diese geschrieben wird festgehalten wird.
Einen anderen Zugriffsweg zur Farbe ist mir nicht bekannt.

Mit freundlichem Gruß

Shidima

Helmi 28. Apr 2014 19:54

AW: Farbe des Label abrufen und in ein Memo speichern.
 
probiers mal so:

Delphi-Quellcode:
memo1.lines.add('Ergebnis: '+Form1.Label3.Caption+ '|' + ColorToString(Form1.Label3.Font.Color));
Du musst einen Farbwert erst in einen String wandeln

himitsu 28. Apr 2014 19:57

AW: Farbe des Label abrufen und in ein Memo speichern.
 
Zitat:

Zitat von Shidima (Beitrag 1257304)
ich frage mich warum er dabei meckert.

Was ist das für ein Typ, und vorallem wie lautet die Fehlermeldung?

Siehst'e, schon hast du dein Warum.



Delphi-Quellcode:
var
  S: string;
  i: Integer;

S := S + i;
Warum wird hier gemeckert und was macht mann dagegen?

Jonas Shinaniganz 28. Apr 2014 23:12

AW: Farbe des Label abrufen und in ein Memo speichern.
 
Hallo,

vielleicht ist es an dieser Stelle sinnvoll, dem Anwender die Farbe als Name zu präsentieren. Wie auch in der normalen Sprache.
Das könntest du so erzielen:

Delphi-Quellcode:
ShowMessage(ColorToString(Form1.Color));
Falls deine Farbe nicht zu den im Objektinspektor aufgelisteten Farben zählt, ist folgendes denkbar:

Delphi-Quellcode:
ColorToIdent(Form1.Color, mycolorstr);
Diese Funktion gibt dir zurück, ob die Farbe gefunden wurde. Hiermit könntest du auf Farbwerte reagieren, die nicht aufgelöst werden können und diese selbst auflösen.
Falls jedoch absolut freie Werte für die Farben möglich sind, bleibt dir wohl nur eine Repräsentation als Integer-Wert.

Alternativ könnte man ein kleines Rechteck an die Stelle zeichnen, das der Farbe entspricht. Hier sieht der Anwender dann genau um was für eine Farbe es sich handelt. Farben sind ja schließlich bunt und nicht Wörter oder Zahlen :]


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 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