Du kannst deinen neuen Text einfach mit einer Schleife durchsuchen und dann sobald ein ^ auftritt die nachfolgende Zahl herausfinden und dann den Rest des Textes bis zu einem ^ mit der vordefinierten Farbe färben. Achtung: Soviel ich weiß, wird die Schriftfarbe in einem Label oder Editfeld immer für das gesamte Feld gesetzt, du kannst also nicht zwei verschiedene Farben dort drin haben. Bei einem Memo geht das glaube ich auch nicht und bei einem RichEditFeld?
Bisschen Code zur Anregung:
Delphi-Quellcode:
var Farbe: TColor;
begin
Farbe := clBlack; //Standartfarbe
for I := 0 to Length(Edit1) do
if Edit1.Text[I] = '^' then begin
if Edit1.Text [I+1] = '1' then begin
Farbe := clBack;
if Edit1.Text [I+1] = '2' then
Farbe := clRed;
end
else
Edit1.Text[I].Color := Farbe;
end;
So in etwa könnte man das machen. Natürlich muss dann noch in den Quelltext rein, dass das Hochzeichen und die darauf folgende Zahl gelöscht wird. Und du musst mit irgendeiner Komponente arbeiten, in der man verschiedenfarbigen Text darstellen kann. Obiger Code ist natürlich nur ein Beispiel, du musst in noch auf die Komponente anpassen.