![]() |
Datei auf LPT1: Drucken
Hallo,
ich habe vor eine Datei(TXT) zu drucken. Wenn möglich sollte das wie im Dos funktionieren (evtl Dos im Hintergrund ausführen.) z.B. "Copy Datei.txt LPT1" hat jemand eine Idee ? Hintergrund ist das ich ESC-Sequencen in TXT Dateinen haben und diese mit einem Menü zum Drucker kopieren möchte. |
Re: Datei auf LPT1: Drucken
Kann mit esc sequenzen nichts anfangen. Also wenn du einfach auf den Druckerport schreiben willst kann du das so machen:
Unit "Printers" einbinden
Code:
Oder du benutzt printer.**** und konfigurierst Layout/Schriftart etc. damit, ist ganz einfach.
procedure TForm1.Button1Click(Sender: TObject);
var f:textfile; begin assignprn(f); rewrite(f); writeln(f,'Druck das'); end; Mfg |
Re: Datei auf LPT1: Drucken
hier drucker er ja das Wort ' Druck das'
aber wie bekomme ich das er die Datei z.B. C:\test.pcl zum Drucker schickt ? |
Re: Datei auf LPT1: Drucken
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var f,t : textfile; s : string; begin assignprn(f); rewrite(f); assignfile(t, 'C:\test.pcl'); Reset(t); while not eof(t) do begin readln(t, s); writeln(f, s); end; CloseFile(t); end; |
Re: Datei auf LPT1: Drucken
das ganze geht über den Windows Druckertreiber , wird also formatiert und der Drucker druckt es aus..
Ich suche ein möglchkeit das txt file direckt zum drucker zu senden. Hier mal der Inhalt der TXT datei " %-12345X@PJL LBEEP%-12345X " wobei =Chr27 (ESC) ist. Diese soll den Drucker ein Beep entlocken. gibt es keine funktion wo man cmd aufruft um eine datei auf LPT1 kopieren kann ? Habe eine Lösung gefunden
Delphi-Quellcode:
funzt ....
ShellExecute(application.Handle,'open','cmd.exe',('/c copy test.txt lpt1'),nil ,sw_minimize);
nur möchte ich jetzt noch eine ausgabe Capturen und dafür Edit1.text und Edit2.text verwenden.
Delphi-Quellcode:
im DOS sieht das dann so aus " net use LPT1 \\Rechnername\Freigabename" nur funzt da so natürlich nicht, hat jemand ne idee ???
ShellExecute(application.Handle,'open','cmd.exe',('/c net use LPT1 \\(edit1.text) \(Edit2.Text)'),nil ,sw_minimize);
|
Re: Datei auf LPT1: Drucken
Es gäbe natürlich auch die Möglichkeit das Ganze über eine FileStream zum LPTx zu schicken.
Code:
Diese Funktion solltest du dann ebenfalls verwenden
var
Stream: TFileStream; //HIER CREATEST DU DEN STREAM Stream := TFileStream.Create('LPT1', fmOpenWrite); //HIER SCHICKST DUS DANN ZUM DRUCKER sendtoprinter(Stream, [DATEI|STRING|...]);
Code:
LG
Procedure SendtoPrinter(var Stream: TFileStream; var PrintStr: String);
begin CharToOEM(@Printstr[1], @Printstr[1]); Stream.write(PrintStr[1], length(Printstr)+1); end; LS |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz