![]() |
Problem mit Matrixdrucker
Ich habe unter Delphi 5 einen Report mit ZREPORT geschrieben ... die Ausgabe erfolgt auf einem NEC P2Q.
Bei Überträgen (Neue Seite) funktioniert alles richtig. Sobald aber ein neuer Druckauftrag (neuer Report) abgesetzt wird zieht er das erste Blatt um exakt 2 Zeilen vorab ein. Ich habe alle auswählbaren Escape Sequenzen geleert und im ZREPORT Quellcode habe ich noch keine Zeile entdeckt, die dieses Phanömen beinflusst. Gebe ich zu Beginn eines neuen Druckauftrages ein FormFeed so ist alles korrekt, ausser daß jedesmal ein Leerblatt mit ausgegeben wird. Gibt es eine Möglichkeit den Nadeldrucker bzw. seinen Puffer komplett zu leeren ? Ich sitze jetzt schon seit Wochen an diesem Problem und bedanke mich für jeden Hinweis im voraus. |
Re: Problem mit Matrixdrucker
Teste das mal mit Endlospapier. Drucke einen Quelltext oder sonstwas mit mind. 3 Seiten aus. Am besten mit Print, ohne irgendein Textprogramm im Hintergrund. Interessant wäre es, zu wissen, ob permanent durchgedruckt wird, oder in Abständen von ca. einer Seite Leerzeilen auftauchen. Ist letzteres der Fall, dann sind druckerseitig Seitenränder eingestellt. Rutschen diese Leerzeilen immer weiter nach oben oder unten, dann stimmt auch die Papierlänge nicht.
Wird ohne Lücken gedruckt, dann liegt es am Report oder dem Programm. Wie gesagt : keine Einzelblätter verwenden ! Da kommt nämlich der Papierende Sensor ins Spiel und verhagelt die genaue Fehlersuche. Und immer schön erst Papier richtig einlegen, Drucker aus und einschalten und dann erst drucken. Dann ist nämlich definitiv nichts im Druckerspeicher. Natürlich auch die Druckerwarteschlange leeren. |
Re: Problem mit Matrixdrucker
Erst einmal vielen Dank für die Antwort.
Das Phänomen ist konstant und tritt lediglich auf dem ersten Blatt eines Druckauftrages auf. Die Idee mit dem Papierende Sensor werde ich aufgreifen. Wie lösche ich denn den kompletten Druckerspeicher (softwaremässig) ? |
Re: Problem mit Matrixdrucker
Zitat:
|
Re: Problem mit Matrixdrucker
Die alten Nadeldrucker haben teilweise auch noch DIP-Schalter für die Konfiguration. Check das parallel mit ab. (Besser nach dem du Hansas Vorschlag abgearbeitet hast :stupid: )
Gruß oki |
Re: Problem mit Matrixdrucker
Hallo Rolf,
ich glaube nicht, dass der paper sensor des P2Q das Problem verursacht. Ich vermute auch, dass dein Drucker außerhalb deines Reports ein normales Verhalten zeigt.
Delphi-Quellcode:
ZReport ist ja ein Banded Report Generator und besitzt als solcher ein TitleBand. Hast du eventuell ein solches Band über HasTitle eingebunden, ohne es zu wollen? Das würde nach meiner Vorstellung genau die zwei Zeilen nur auf der ersten Seite produzieren.
uses
Printers; var prn: TextFile; begin AssignPrn(prn); Rewrite(prn); WriteLn(prn, 'first line of page'); CloseFile(prn); end; Grüße vom marabu |
Re: Problem mit Matrixdrucker
Oki liefert einen Kommentar zu NEC-Druckern ab. Echt lustig. :lol: Er hat mich aber schon verstanden. Das nächste Stichwort wäre nämlich "DIP-Schalter" gewesen. Und Handbuch. :mrgreen: Vorher macht es nämlich keinen Sinn, Fehler im Programm zu suchen, die durch falsche Hardwareeinstellungen eines Druckers verursacht werden.
|
Re: Problem mit Matrixdrucker
Hi Hansa, was hab ich verpaßt? Was war so lustig?
Gruß oki |
Re: Problem mit Matrixdrucker
Als Oki müsste man doch zumindest so was kennen :
![]() Ebay ist Google-Zufall. So ein Oki steht hier in der Nähe. :mrgreen: |
Re: Problem mit Matrixdrucker
Moin Hansa,
Das hab ich nun davon, ich mach mich über den_Unwissenden lustig Zitat: "Hallo Unwissender" und bekomme selber nichts mit!! :mrgreen: So kann's eine gehen. Güße vom ausgeschlafenen oki PS Groschen sind selten geworden, wie soll der auch noch schnell fallen :) |
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. |
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 |
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 |
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:
Gruß Jürgen |
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 |
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:
Zitat:
Code:
Hilft das? Jürgen
<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 |
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 |
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 |
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 |
Re: Problem mit Matrixdrucker
Zitat:
Ebenso schönen Restsonntag! Jürgen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 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