AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datei auf LPT1: Drucken

Ein Thema von PiT123 · begonnen am 22. Jan 2004 · letzter Beitrag vom 22. Jan 2004
Antwort Antwort
PiT123

Registriert seit: 17. Jan 2004
25 Beiträge
 
#1

Datei auf LPT1: Drucken

  Alt 22. Jan 2004, 11:03
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.
  Mit Zitat antworten Zitat
WtF

Registriert seit: 24. Nov 2003
Ort: Nähe München
72 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Datei auf LPT1: Drucken

  Alt 22. Jan 2004, 11:13
Kann mit esc sequenzen nichts anfangen. Also wenn du einfach auf den Druckerport schreiben willst kann du das so machen:

Unit "Printers" einbinden

Code:
procedure TForm1.Button1Click(Sender: TObject);
var f:textfile;
begin
assignprn(f);
rewrite(f);
writeln(f,'Druck das');
end;
Oder du benutzt printer.**** und konfigurierst Layout/Schriftart etc. damit, ist ganz einfach.

Mfg
Steffen
  Mit Zitat antworten Zitat
PiT123

Registriert seit: 17. Jan 2004
25 Beiträge
 
#3

Re: Datei auf LPT1: Drucken

  Alt 22. Jan 2004, 11:52
hier drucker er ja das Wort ' Druck das'

aber wie bekomme ich das er die Datei z.B. C:\test.pcl zum Drucker schickt ?
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#4

Re: Datei auf LPT1: Drucken

  Alt 22. Jan 2004, 11:58
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;
  Mit Zitat antworten Zitat
PiT123

Registriert seit: 17. Jan 2004
25 Beiträge
 
#5

Re: Datei auf LPT1: Drucken

  Alt 22. Jan 2004, 12:13
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

ShellExecute(application.Handle,'open','cmd.exe',('/c copy test.txt lpt1'),nil ,sw_minimize); funzt ....

nur möchte ich jetzt noch eine ausgabe Capturen und dafür Edit1.text und Edit2.text verwenden.

ShellExecute(application.Handle,'open','cmd.exe',('/c net use LPT1 \\(edit1.text) \(Edit2.Text)'),nil ,sw_minimize); im DOS sieht das dann so aus " net use LPT1 \\Rechnername\Freigabename" nur funzt da so natürlich nicht, hat jemand ne idee ???
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Datei auf LPT1: Drucken

  Alt 22. Jan 2004, 15:19
Es gäbe natürlich auch die Möglichkeit das Ganze über eine FileStream zum LPTx zu schicken.

Code:
var
  Stream: TFileStream;

  //HIER CREATEST DU DEN STREAM
  Stream := TFileStream.Create('LPT1', fmOpenWrite);

  //HIER SCHICKST DUS DANN ZUM DRUCKER
  sendtoprinter(Stream, [DATEI|STRING|...]);
Diese Funktion solltest du dann ebenfalls verwenden

Code:
Procedure SendtoPrinter(var Stream: TFileStream; var PrintStr: String);
begin
  CharToOEM(@Printstr[1], @Printstr[1]);
  Stream.write(PrintStr[1], length(Printstr)+1);
end;
LG
LS
Alex
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz