Zitat:
Wenn Du in eine Datei schreiben willst hast Du doch den Buffer sowieso, denn woraus willst Du sonst schreiben?
Weil er entweder alle Ausgaben parallel auf dem Display und Datei ausgeben will, oder weil er die Ausfagen an die "Console" virtuell in ein TRichEdit/TMemo umlenken will.
Gerade der letze Fall ist super gut. Ich selber habe dies dafür benutzt um alle mit WriteLn(), Write() und ReadLn() gemachten Ein/Asugaben in ein Richtedit auf einem TForm ein/auszugeben. Statt also ein Consolen Programm mit Delphi zu coden, das auf der beschissenen Windosconsole aufsetzt, programmiert man ein einzigstes mal einen solchen Device Handler und redirigiert dann die Ausgaben ins RichtEdit um. Nun wird jede Consolenanwendung in eine normale Windowsanwendung umgeschrieben einfach indem man dieses Form als Hauptform einbindet.
Im Anhang habe ich mal ein solches Programm das solche Devicehandler auf RichtEdits umlenkt reingestellt.
Alle Ausgaben in dieses RichtEdit erfolgen z.B. mit
Delphi-Quellcode:
begin
WriteLn('Test: ', FloatingPoint:10:2, Boolean:5, Integer:6);
end;
Man hat also die enormen Vorteile von der offenen WriteLn() Formatierungen und kann sowas immer gebrauchen um mal schnell einen kleinen PASCAL Code zu testen/optimieren.
Gruß Hagen