Biar tidak terjadi kesalahpahaman, direct printing yang saya maksud adalah, suatu proses cetak/print secara langsung(direct) ke LPT (Port Printer), khususnya Teks yang di print menggunakan Printer Dotmatrix
Tujuannya adalah untuk kecepatan proses print, yang seringnya diimplementasikan untuk cetak struk/nota, maupun laporan(Text Base Reporting).
Lebih jelasnya, lihat gambar berikut:
'
Diatas merupakan contoh direct printing melalui Command Prompt Windows System.
Bagaimana jika dilakukan melalui pemrograman Delphi?
Ya, Command diatas disimpan dalam batch file ( .cmd / .bat ),
terus batch file tersebut dijalankan di Delphi perintah ShellExecute(), bisa kan.
Dengan cara itu bisa dilakukan, tapi disini kita akan coba implementasikan secara internal(tidak melalui perantara batch-file)
Perhatikan prosedure kode ini:
procedure TextPrint(lst:TStringList); var F: TextFile; begin AssignFile(F,'LPT1'); Rewrite(F); Write(F,lst.Gettext); CloseFile(F); end;
dan pemanggilannya dengan cara:
procedure TForm1.btn3Click(Sender: TObject); var infoNota : TStringlist; begin infoNota := TStringList.Create; try infoNota.Add('isinya teks, asumsi nota'); infoNota.Add('isinya baris kedua'); infoNota.Add('isinya baris ketiga, dst...'); TextPrint(infoNota); finally infoNota.Free; end; end;
Contoh diatas diatas akan mencetak semua teks(string) yang ada di dalam variabel infoNota(TStringlist).