Hier is im Grunde die ganze Proz, den Befehl-Auswerten-Teil hab ich mal als externe Proz nur reingeschrieben, der funktioniert problemlos.
Delphi-Quellcode:
var ganzertext: Ansistring;
i: integer;
tbefehl: String; // ließt erstmal generell den Befehl aus
tgroesse: integer;
tschrift: string;
tstyle: tfontstyles;
tstyle2: string;
tfarbe: tcolor;
tAlign: TAlignment;
Prozedure Entschluesseln;
begin
GanzerText := Memo1.Text;
for i := 1 to Length(GanzerText) do
begin
if Befehl = true then
Befehl auswerten
else
begin
TextFeld.Text := TextFeld.Text + Copy(GanzerText,1,1);
Textfeld.SelStart := Length(Textfeld.Text);
Textfeld.SelLength := -1;
with TextFeld.SelAttributes do
begin
Name := tSchrift;
Color := tFarbe;
Size := tGroesse;
Style := tStyle;
end;
Delete(GanzerText, 1, 1); // löscht letztes bearbeitetes Zeichen
end; // end if kein Befehl, Text formatieren
if Length(GanzerText) = 0 then Exit;
end; // Schleife
end;