Hallo
um es auf den Punkt zu bringen ...
Es gibt verbotene Zeichen in Dateinamen, (wie z.b ":") welche die TimeToStr Funktion in deinem Fall automatisch verwendet. Steuere die Formatierung selbst mit Hilfe von "FormatDateTime";
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
FileName : String;
begin
FileName := FormatDateTime('HH-NN-SS',Now)+'-Chatlog.txt';
// mit datum z.b.: FormatDateTime('YYYY-MM-DD-HH-NN-SS',Now);
Memo1.Lines.SaveToFile(FileName);
end;