Hallo,
ich bin seit gestern am verzweifeln (gibts eigentlich einen
DP-Psychiater?)
Ich habe ein RichEdit in dem ein Text geladen wird.
Die RichEdit hat im
OI voreingestellt bei Font.Color = clBlack.
Mittels folgender Procedure suche ich nach bestimmten Vorraussetzungen in den
einzelnen RichEdit-Zeilen und mache dann diese Teil des Textes farbig.
Soweit so gut - das funktioniert alles bestens.
Wenn ich nun einen neuen Text in das RichEdit lade, so hat der komplette Text
nicht mehr die Textfarbe schwarz sondern die die in der Procedure zuvor genutzt wurde.
Delphi-Quellcode:
procedure TMainForm.RunAndColor(RichEdit: TRichEdit; Farbe: TColor);
var
i : Integer;
Pos_Such : Integer;
RichEdit_Zeile: Integer;
S_RichEdit : String;
S_Kommentar : String;
begin
with RichEdit do
begin
for i := 0 to Pred(lines.Count) do
begin
//Line-Text auslesen
S_RichEdit := lines.Strings[i];
//Position des Semikolons rausfinden
Pos_Such := Pos(const_Semikolon, S_RichEdit);
//wenn kein Semikolon vorhanden ist, dann neuer Schleifendurchgang
If Pos_Such = 0 then
continue;
//RichEdit-Zeile auslesen
RichEdit_Zeile := Perform(EM_LINEINDEX , i, 0);
//Kommentar-Text aus Zeile rauskopieren
S_Kommentar := Copy(S_RichEdit, Pred(Pos_Such), length(S_RichEdit));
//Zeile + Position = Markierungsstart
SelStart := RichEdit_Zeile + Pred(Pos_Such);
//Markierungslänge
SelLength := Length(S_Kommentar);
//Farbe setzen
SelAttributes.Color := Farbe;
SelLength := 0;
end;
end;
end;
Ich hab folgendes schon versucht, davor und danach zu definieren, aber ohne Erfolg.
Delphi-Quellcode:
RichEdit_SPL.Font.Color := clBlack;
RichEdit_SPL.SelAttributes.Color := clBlack;
Weiss jemand was mein Problem sein könnte?