Also ich hab' mal diesen Code geschrieben, der ein Log in ein Richedit schreibt und abhängig von EventType färbt ...
(ist aus meinem SmallFTP Programm)
Delphi-Quellcode:
procedure TForm1.AddToLog (Sender: TObject; EventText: String; EventType: TEventType);
var
SelStart: Cardinal;
Str: String;
begin
if EventType = etError then MessageBeep(MB_ICONERROR);
if (EventType = etCommand) and (copy (EventText, 1, 4) = 'PASS') then
EventText := 'PASS ' + StringOfChar ('*', length (EventText) - 5);
SelStart := length (Log.Text);
Str := LogPrefix[EventType] + ' ' + EventText + ' ' + LogSuffix[EventType];
Log.Lines.Add(Str);
if (EventType <> etCommand) or (copy (EventText, 1, 4) <> 'PASS') then LogText := LogText + Str + #13#10;
Log.SelStart := SelStart;
Log.SelLength := Length (Str);
Log.SelAttributes.Color := LogColors[EventType];
Log.SelStart := SelStart;
Log.SelLength := Length (LogPrefix[EventType]);
Log.SelAttributes.Style := [fsBold];
Log.SelStart := (length (Log.Text) - 2) - length (LogSuffix[EventType]);
Log.SelLength := Length (LogSuffix[EventType]);
Log.SelAttributes.Style := [fsBold];
Log.Perform(WM_VSCROLL, SB_BOTTOM,0);
end;
Zeile 8/9 ist ... nur, damit ich nicht alle Passwörter bekomme, wenn mir das Log zugeschickt wird (man ist ja nett
)
Wichtig sind für dich soweit isch das jetzt gesehen hab', Zeilen 18-20:
Du merkst dir die länge des Texts im Richedit, fügst deinen Text hinzu und kannst dann den hinzugrfügten Text färben.