Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit Matrixdrucker (https://www.delphipraxis.net/86113-problem-mit-matrixdrucker.html)

Rolf.Blessing 10. Feb 2007 13:17

Re: Problem mit Matrixdrucker
 
Erst einmal vielen Dank für eure Mühe und Antworten.

Ein Title Band habe ich nicht eingebaut. Wäre schön gewesen wenn mir dieses unterlaufen wäre.

Textausgaben (Vorschlag von marabu) mit und ohne Steuerzeichen werden völlig korrekt vom NEC P2Q abgearbeitet.
Lediglich unter meinem ZReport werden zu Beginn eines Druckauftrages diese 2 Zeilen eingezogen.

Leider steht der Nadeldrucker nicht bei mir sondern in einer Firma. Sie sind sehr hilfsbereit, aber ich muss eine Version mailen, die Firma testet und dann bekomme ich ein Echo.
Daher kann ich auf einige eurer Vorschläge nicht direkt reagieren.

marabu 11. Feb 2007 08:39

Re: Problem mit Matrixdrucker
 
Hallo Rolf,

dass du explizit kein TitleBand eingebaut hast, das glaube ich dir gerne. Ein TitleBand wird aber auch implizit verbaut, wenn die Eigenschaft HasTitle den Wert True hat. Ob wirklich zwei Leerzeilen zum ungewollten Vorschub führen oder der Druckertreiber spinnt, das könntest du analysieren indem du die Ausgabe in eine Datei umleiten lässt (beim Kunden) oder deren Druckertreiber auch bei dir installierst - dann brauchst du den Kunden nicht zu belästigen.

Schönes Wochenende

Rolf.Blessing 11. Feb 2007 10:19

Re: Problem mit Matrixdrucker
 
Hallo Achim vielen Dank für deine Antwort.

ZReport verfügt über kein HasTitle, dafür hat es HasHeader (=False), HasPageHeader (=True).

Das Verrückte ist ja: Schaltet man den Drucker aus und wieder an so wird der erste Druckauftrag korrekt ausgegeben. Erst ab dem 2.Auftrag kommen die beiden Vorschub Zeilen zum tragen.

Die Idee mit der Druckumlenkung habe ich dankend aufgenommen. Dadurch konnte ich folgende Steuerzeichen ausmachen:

1. Seite:
□@□P□
□P□

Folgende Seite:
□P□
(wohl Seitenvorschub da unterschiedliche DIN Blattgrössen verwendet werden)


Gruss Rolf

Jürgen Thomas 11. Feb 2007 10:47

Re: Problem mit Matrixdrucker
 
Hallo,

mir ist jetzt ein Gedanke gekommen: Könnte es sein, dass nach dem Druckende Zeichen (vermutlich Steuerzeichen) im Drucker verbleiben und beim nächsten Druck zu dem Zeilenvorschub führen?

Prüfe doch (bzw. lasse beim Kunden prüfen), ob beim Druckstart eine Drucker-Initialisierung ausgeführt wird:
  • Drucker auswählen
  • Druckereigenschaften
  • Druckerbefehle
  • <1B>@
Das ist jedenfalls der übliche Befehl für Drucker-Reset bei Text-Only-Druckern.

Gruß Jürgen

Rolf.Blessing 11. Feb 2007 11:00

Re: Problem mit Matrixdrucker
 
Hallo Jürgen,

vielen Dank für den Tip.
Den Reset (ESC @) haut er ja - wie oben eingefügt - auf der ersten Seite raus,
allerdings ohne den Puffer zu löschen.
Ein popeliger Seitenvorschub löscht diese 2 Zeilen Vorschub.

Unter XP
* Drucker auswählen
* Druckereigenschaften
finde ich keine Möglichkeit Druckerbefehle abzusetzen.

Könntest du mir da evtl. auf die Sprünge helfen ?

Gruss Rolf

Jürgen Thomas 11. Feb 2007 14:47

Re: Problem mit Matrixdrucker
 
Hallo Rolf,

sorry, dass ich mich nicht schneller melde, obwohl ich dauerhaft online war. Ich hatte nicht erwartet, dass ich nochmals helfen könnte, und deshalb die Benachrichtigung ausgeschaltet.
Zitat:

Zitat von Rolf.Blessing
Den Reset (ESC @) haut er ja - wie oben eingefügt - auf der ersten Seite raus,
allerdings ohne den Puffer zu löschen.

Der Reset müsste doch den Puffer löschen; das ist doch ein Zweck davon.
Zitat:

Ein popeliger Seitenvorschub löscht diese 2 Zeilen Vorschub.
Naja, ich verstehe es so, dass der Seitenvorschub den Zeilenvorschub nicht löscht; aber wenn eine neue Seite anfängt, ist es schließlich "egal", ob auf der vorigen Seite zwei Leerzeilen gedruckt werden oder nicht. Dein Ziel ist es aber, das CR/LF (oder was immer übrig geblieben ist, vielleicht ein Vertikaler Tab) wirklich zu löschen - und dazu ist das Reset da.
Zitat:

Unter XP ... finde ich keine Möglichkeit Druckerbefehle abzusetzen.
Ich setze voraus, dass für den Matrixdrucker ein Text-Only-Druckertreiber (andere Bezeichnung "Generic - Text only") ausgewählt ist; ein anderer Druckertreiber macht ja wohl keinen Sinn. Bei mir geht es über:
  • Drucker und Faxgeräte
  • den betreffenden Drucker auswählen
  • "Druckereigenschaften festlegen" aktivieren
  • auf der Tab-Seite "Erweitert" steht der Treiber
  • dann müsste es eine Tab-Seite "Druckerbefehle" geben
  • in der ersten Zeile "Druckauftrag starten" kommt die Drucker-Initialisierung
Die dort einzutragenden Codierungen sehen z.T. etwas seltsam aus, entsprechen aber denen aus DOS-Zeiten, z.B.:
Code:
<1B>@<1B>M<121B>l<031B>x<001B>C<0006>
//  entspricht:
1B 40 1B 4D 12 1B 6C 03 1B 78 00 1B 43 00 06
Hilft das? Jürgen

Rolf.Blessing 11. Feb 2007 15:08

Re: Problem mit Matrixdrucker
 
Herzlichen Dank Jürgen,

so langsam dämmern mir nun die Zusammenhänge.
Ich muss sehen, dass ich einen Nadeldrucker mit nach Hause nehmen kann.

Jetzt finde ich auch die Tabs für Steuerzeichen ... DANKE.
Ich hatte bisher den NECP2Q-Treiber installiert und bin nicht über Generic gegangen.


Danke Rolf

Jürgen Thomas 11. Feb 2007 15:28

Re: Problem mit Matrixdrucker
 
Hallo Rolf,

wenn es einen speziellen Druckertreiber gibt, wäre zu untersuchen, wie dort das Reset geregelt ist und welcher Treiber bei der betreffenden Firma installiert ist. Jürgen

Rolf.Blessing 11. Feb 2007 15:33

Re: Problem mit Matrixdrucker
 
Danke Jürgen,

werde mich Anfang der Woche darum kümmern.
Jedenfalls habe ich jetzt endlich mal Anhaltspunkte.

War die letzten Tage fürchterlicher Frust. Programm lief rund, Druck lief rund
und dann dieser Fehleinzug der Folgeblätter.


Danke und schönen Restsonntag
Rolf

Jürgen Thomas 11. Feb 2007 15:42

Re: Problem mit Matrixdrucker
 
Zitat:

Zitat von Rolf.Blessing
Danke Jürgen,

werde mich Anfang der Woche darum kümmern.
Jedenfalls habe ich jetzt endlich mal Anhaltspunkte.

Danke und schönen Restsonntag
Rolf

Noch ein Gedanke: Schicke einen kompletten Druckauftrag im Hex-Dump-Modus zum Drucker; der kann ja aus drei Zeilen "Zeile 1" ff. bestehen, damit er nicht zu lang ist. Was kommt nach dem letzten Seitenvorschub 0C (hex)? Dann könntest Du suchen, woher das kommt.

Ebenso schönen Restsonntag! Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr.
Seite 2 von 2     12   

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