>I have a question related to the printing on dot matrix printers in
text
>mode.
>Most of my reports are created and printed by ReportBuilder and it
works
>fine.
>But on dot matrix printers printing in graphics mode is too slow.
I have
some
>simple but long reports which in DOS application are printed very
fast in
>text mode (with no graphic inside).
>How to do this in Delphi ?
----------
I write the data to a file and then print it with this function:
procedure PrintFile( Src: String);
var
SrcHandle, BytesRead: Integer;
PrnFile: TextFile;
Buffer: array [0..128] of char;
begin
SrcHandle := FileOpen( Src, fmOpenRead or fmShareDenyNone);
if SrcHandle <= 0 then
exit;
AssignFile( PrnFile, 'LPT1');
Rewrite( PrnFile);
repeat
BytesRead := FileRead( SrcHandle, Buffer,
128);
Buffer[ BytesRead] := #0;
Write( PrnFile, StrPas( Buffer));
until BytesRead < 128;
FileClose( SrcHandle);
CloseFile( PrnFile);
end;
----------
You should install the "Generic / Text Only" printer driver, connect
it to
your printer, and print to that driver. It does just what you
want: prints
only text, without graphics, very quickly. You can even modify
the driver
to correctly handle bold, underline and so on for your printer.