Duplex Druck an- ausschalten
Moderator: Moderatoren
Duplex Druck an- ausschalten
Hallo an alle,
ist es eigentlich möglich, den DUPLEX DRUCK an einem Drucker während eines Druckjobs an- bzw. umzuschalten?
Ich benötige dies zum Bedrucken der 1. Rechnungsseite mit den Liefer- und Zahlungsbedingungen.
Wenn nein, hat jemand eine Idee, wie man das machen kann?
Vielen Dank für Eure Hilfe.
Günter Früholz
ist es eigentlich möglich, den DUPLEX DRUCK an einem Drucker während eines Druckjobs an- bzw. umzuschalten?
Ich benötige dies zum Bedrucken der 1. Rechnungsseite mit den Liefer- und Zahlungsbedingungen.
Wenn nein, hat jemand eine Idee, wie man das machen kann?
Vielen Dank für Eure Hilfe.
Günter Früholz
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Günter,
ich meine, ja.
Allerdings musst Du dann jeweils eigene Druckjobs machen - also einseitig, beidseitig, einseitig.
Viele Grüße,
Martin
ich meine, ja.
Allerdings musst Du dann jeweils eigene Druckjobs machen - also einseitig, beidseitig, einseitig.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Günter,
ja - so meine ich das in der Newsgroup damals gelesen zu haben.
Man kann wohl nur beim Erzeugen eines Druckjobs die Orientation angeben.
Ich selber nutze das jedoch nicht und kann Dir da nicht wirklich weiterhelfen, fürchte ich.
Ich habe solch einen Wechsel bei mir nur beim Erzeugen von RTF-Dateien, da geht das problemlos.
Viele Grüße,
Martin
ja - so meine ich das in der Newsgroup damals gelesen zu haben.
Man kann wohl nur beim Erzeugen eines Druckjobs die Orientation angeben.
Ich selber nutze das jedoch nicht und kann Dir da nicht wirklich weiterhelfen, fürchte ich.
Ich habe solch einen Wechsel bei mir nur beim Erzeugen von RTF-Dateien, da geht das problemlos.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Günter,
hast Du Dir mal :setOrientation() angeschaut? Damit kann man (laut aktueller Onlinehilfe) nach einem :endPage() (und natürlich vor dem nächsten :startPage()) die Ausrichtung ändern.
Schau mal in der Hilfe unter :endPage()
Viele Grüße,
Martin
hast Du Dir mal :setOrientation() angeschaut? Damit kann man (laut aktueller Onlinehilfe) nach einem :endPage() (und natürlich vor dem nächsten :startPage()) die Ausrichtung ändern.
Schau mal in der Hilfe unter :endPage()
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jan,
hatte ich ja bereits geschrieben.
Meine Aussage beruht auf einer bereits etwas älteren Version...
Die Doku wurde ja auch vor kurzem überarbeitet - darum ist die Überschrift dort blau.
Man muss halt nach dem Ändern der Ausrichtung unbedingt ein Configure auf den PresentationSpace ausführen, bevor man mit :StartPage() die nächste Seite beginnt!
Viele Grüße,
Martin
hatte ich ja bereits geschrieben.
Meine Aussage beruht auf einer bereits etwas älteren Version...
Die Doku wurde ja auch vor kurzem überarbeitet - darum ist die Überschrift dort blau.
Man muss halt nach dem Ändern der Ausrichtung unbedingt ein Configure auf den PresentationSpace ausführen, bevor man mit :StartPage() die nächste Seite beginnt!
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Martin,
meine Aussage war auch nur als Unterstützung zu Deinem Beitrag davor gemeint. Ich hatte den so verstanden daß Du meintest, daß das vielleicht die Lösung sein könnte und er sich das deswegen mal näher anschauen sollte. Ich wollte nur bestätigen, daß dem wirklich so ist.
Welche Doku hat Alaska da geändert? Die zu 331 oder zu 342?
Jan
meine Aussage war auch nur als Unterstützung zu Deinem Beitrag davor gemeint. Ich hatte den so verstanden daß Du meintest, daß das vielleicht die Lösung sein könnte und er sich das deswegen mal näher anschauen sollte. Ich wollte nur bestätigen, daß dem wirklich so ist.
Welche Doku hat Alaska da geändert? Die zu 331 oder zu 342?
Jan
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jan,
ich habe hier produktiv die .331 - da steht die Überschrift in blau.
Viele Grüße,
Martin
ich habe hier produktiv die .331 - da steht die Überschrift in blau.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo,
früher konnte man tatsächlich die Orientierung der Seite nur vor StartDoc() einstellen (über create() oder configure() ). Da gab es auch kein setOrientation() bzw. es durte nur außerhalb aufgerufen werden. Ich meine das wurde ab 1.90 geändert, seit da gibt es auf jeden Fall startPage() und EndPage() innerhalb einer Druckausgabe ...
Allerdings geht das alles an der Frage vorbei ! Dort geht es um DUBLEX Druck. Ich denke nicht, dass man :setDublexMode() während des Druckens aufrufen kann, aber probier es doch mal aus. Wenn überhaupt müsste es so gehen:
eventuell sind noch Parameter nötig ... probieren geht über studieren !
früher konnte man tatsächlich die Orientierung der Seite nur vor StartDoc() einstellen (über create() oder configure() ). Da gab es auch kein setOrientation() bzw. es durte nur außerhalb aufgerufen werden. Ich meine das wurde ab 1.90 geändert, seit da gibt es auf jeden Fall startPage() und EndPage() innerhalb einer Druckausgabe ...
Allerdings geht das alles an der Frage vorbei ! Dort geht es um DUBLEX Druck. Ich denke nicht, dass man :setDublexMode() während des Druckens aufrufen kann, aber probier es doch mal aus. Wenn überhaupt müsste es so gehen:
Code: Alles auswählen
oP:StartDoc()
...
oP:EndPage()
oP:setDuplexMod(nMode)
oP:StartPage()
...
oP:EndDoc()
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Hubert,
Obwohl ich es am Anfang zwar richtig gelesen habe, habe ich doch nur halb mitgedacht
Ist doch ganz einfach:
Grundsätzlich doppelseitig einstellen
Wenn dann eine Seite einseitig gedruckt werden soll, braucht man doch nur eine leere Seite ranhängen - schon ist die Rückseite unbedruckt
Viele Grüße,
Martin
oh Mann Ich habe doch viel zu wenig geschlafen letzte Nacht!brandelh hat geschrieben:Allerdings geht das alles an der Frage vorbei ! Dort geht es um DUBLEX Druck.
Obwohl ich es am Anfang zwar richtig gelesen habe, habe ich doch nur halb mitgedacht
Ist doch ganz einfach:
Grundsätzlich doppelseitig einstellen
Wenn dann eine Seite einseitig gedruckt werden soll, braucht man doch nur eine leere Seite ranhängen - schon ist die Rückseite unbedruckt
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
1. Preis für die einfachste LösungMartin Altmann hat geschrieben: Wenn dann eine Seite einseitig gedruckt werden soll, braucht man doch nur eine leere Seite ranhängen - schon ist die Rückseite unbedruckt
Aber es wäre schon schön wenn er probieren würde ob die Änderung auch vom Programm her geht ... doppelt einziehen dauert ja auch etwas.
Gruß
Hubert
Hubert
Hallo Hubert,
hallo Martin,
Denn die benötigt neben der Zeit, auch noch unnötig Tinte!!
Deshalb will mein Kunde bei mehrseitigen Rechnungen, immer nur auf der 1. Seite die Konditionen auf der Rückseite.
Der Gedanke mit "startpage" ist eigentlich ok. Leider habe ich in der Doku in diesem Zusammenhang nichts gefunden. Offensichtlich können nur Orientation, Farbe, Druckerschacht gewechselt werden.
Zum experimentieren fehlt fehlt mir leider der passende Drucker mit Duplex-Einheit.
Günter Früholz
hallo Martin,
Das kann keine Lösung für einen Schwaben sein!!!Wenn dann eine Seite einseitig gedruckt werden soll, braucht man doch nur eine leere Seite ranhängen - schon ist die Rückseite unbedruckt Wink
Denn die benötigt neben der Zeit, auch noch unnötig Tinte!!
Deshalb will mein Kunde bei mehrseitigen Rechnungen, immer nur auf der 1. Seite die Konditionen auf der Rückseite.
Der Gedanke mit "startpage" ist eigentlich ok. Leider habe ich in der Doku in diesem Zusammenhang nichts gefunden. Offensichtlich können nur Orientation, Farbe, Druckerschacht gewechselt werden.
Zum experimentieren fehlt fehlt mir leider der passende Drucker mit Duplex-Einheit.
Günter Früholz
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Günter,
lt. Onlinehilfe sollte das aber gehen. Du musst die erste Seite mit :setDuplexmode(XBPPRN_DUPLEXMODE_BOOK) drucken, nach dem :newpage() ein :setDuplexMode(XBPPRN_DUPLEXMODE_OFF) und ein oPS:configure() einbauen.
Mit :setOrientation() funktioniert das jedenfalls. Und lt. Onlinehilfe soll das gleich laufen mit den beiden. Also sollte das kein Problem darstellen.
Jan
lt. Onlinehilfe sollte das aber gehen. Du musst die erste Seite mit :setDuplexmode(XBPPRN_DUPLEXMODE_BOOK) drucken, nach dem :newpage() ein :setDuplexMode(XBPPRN_DUPLEXMODE_OFF) und ein oPS:configure() einbauen.
Mit :setOrientation() funktioniert das jedenfalls. Und lt. Onlinehilfe soll das gleich laufen mit den beiden. Also sollte das kein Problem darstellen.
Jan
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Günter,
eine leere, unbedruckte Rückseite braucht doch keine Tinte :?:
Ein Wenig Zeit, um die Seite (unnötig) zu wenden, ok - aber sonst?
Viele Grüße,
Martin
eine leere, unbedruckte Rückseite braucht doch keine Tinte :?:
Ein Wenig Zeit, um die Seite (unnötig) zu wenden, ok - aber sonst?
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hi Günter,
du schreibst Programme für Duplex-Drucker und hast keinen
ich werde mal sehen ob ich morgen etwas dazwischen schieben kann, wir haben so einen. Der war übrigens nicht mal teuer Samsung CLP-550N (Netzwerk, Farbe, Duplex ... gibt es allerdings jetzt nicht mehr. Die kleineren 500 haben kein Duplex - soweit ich weiß).
du schreibst Programme für Duplex-Drucker und hast keinen
ich werde mal sehen ob ich morgen etwas dazwischen schieben kann, wir haben so einen. Der war übrigens nicht mal teuer Samsung CLP-550N (Netzwerk, Farbe, Duplex ... gibt es allerdings jetzt nicht mehr. Die kleineren 500 haben kein Duplex - soweit ich weiß).
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12910
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
... ich hatte mal ein ähnliches Problem mit "Druckschacht" den ich aber
nicht hatte ... wie soll man ohne die Hardware das sonst machen ?
dann sag ihm das doch und er soll dir einen zur Verfügung stellen.gf210957 hat geschrieben: Deshalb will mein Kunde ...
Zum experimentieren fehlt fehlt mir leider der passende Drucker mit Duplex-Einheit.
... ich hatte mal ein ähnliches Problem mit "Druckschacht" den ich aber
nicht hatte ... wie soll man ohne die Hardware das sonst machen ?
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo,
wenn man die Dokumentation liest, geht daraus klar hervor, dass setDuplexMode() außerhalb von StartDoc() und Enddoc() aufgerufen werden muss und zusätzlich noch ein oPS:configure(...) nötig ist.
Dieses Beispielprogramm zeigt wie es geht, und was nicht geht,
wobei zumindest auf meinem Samsung CLP-550N und unserem Lexmark C750 die Vorgaben von MEMO und BOOK vertauscht sind.
Nur wenn ich XBPPRN_DUPLEXMODE_MEMO nehme, sieht das Ergebnis aus wie ein Buch (blättern über linke lange Kante ...):
wenn man die Dokumentation liest, geht daraus klar hervor, dass setDuplexMode() außerhalb von StartDoc() und Enddoc() aufgerufen werden muss und zusätzlich noch ein oPS:configure(...) nötig ist.
Dieses Beispielprogramm zeigt wie es geht, und was nicht geht,
wobei zumindest auf meinem Samsung CLP-550N und unserem Lexmark C750 die Vorgaben von MEMO und BOOK vertauscht sind.
Nur wenn ich XBPPRN_DUPLEXMODE_MEMO nehme, sieht das Ergebnis aus wie ein Buch (blättern über linke lange Kante ...):
Code: Alles auswählen
#define LASER_VORGABE
#define KEIN_DUPLEX // ### XPP ERRROR -> ohne diesen Define geht es ????
#define ANZ_EINFACHE_SEITEN (2)
#include "Gra.ch"
#include "Xbp.ch"
#include "XBPDEV.CH"
#include "Font.ch"
#pragma Library( "XppUI2.lib" )
PROCEDURE Main
LOCAL oPrinter, oPS, oDlg, aSize, nAltMode, oFont
SET DATE TO GERMAN
SET CHARSET TO ANSI
/*
oFont := XbpFont():new()
oFont:familyName := "Arial"
oFont:height := 0
oFont:width := 0
oFont:nominalPointSize := 10
oFont:create()*/
cls
#IF LASER_VORGABE // ich versuche erst meinen Laser direkt zuzuordnen
?
? "'Samsung CLP-550N' Drucker vorgeben !"
?
oPrinter := XbpPrinter():new():create("Samsung CLP-550N")
#ELSE
oDlg := XbpPrintDialog():new()
oDlg:create()
// Konfiguriertes Drucker Objekt erzeugen
oPrinter := oDlg:display()
oDlg:destroy()
#ENDIF
IF oPrinter <> NIL
? "Drucker: ",oPrinter:devName
// Neuen Presentation-Space erzeugen
nAltMode := oPrinter:setDuplexMode( XBPPRN_DUPLEXMODE_OFF )
? "Duplexmode: ",nAltMode, DuplexModeName(nAltMode)
oPS := XbpPresSpace():new()
// Bedruckbarer Bereich auf dem Papier
aSize := oPrinter:paperSize()
aSize := { aSize[5] - aSize[3], ;
aSize[6] - aSize[4] }
oPS:create( oPrinter, aSize, GRA_PU_LOMETRIC )
oFont := XbpFont():new(oPS):create("12.Verdana")
? oFont:familyName, " : ", oFont:nominalPointSize
oPS:setFont(oFont)
#IF KEIN_DUPLEX // ##### .t. würde gehen
? "Testdruck einfach"
oPrinter:startDoc("Testdruck EINFACH")
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist nur eine Seite" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
for x := 2 to ANZ_EINFACHE_SEITEN
oPrinter:newPage()
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die zweite Seite" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
next
oPrinter:endDoc()
#ELSE
/* ERGEBNISSE : Testdruck DUPLEX
so geht es nicht, es passiert einfach nichts !!!
oPrinter:endPage()
oPrinter:setDuplexMode( XBPPRN_DUPLEXMODE_BOOK )
oPrinter:startPage()
und auch so geht es nicht. In beiden Fällen gibt setDuplexMode(...) den
erwarteten Wert zurück, aber es wird nichts gedruckt.
oPrinter:endPage()
? "Set Duplex BOOK",oPrinter:setDuplexMode( XBPPRN_DUPLEXMODE_BOOK )
oPS:configure()
oPrinter:startPage()
und so auch nicht ...
oPrinter:endPage()
? "Set Duplex BOOK",oPrinter:setDuplexMode( XBPPRN_DUPLEXMODE_BOOK )
oPS:configure( oPrinter, aSize, GRA_PU_LOMETRIC )
oPrinter:startPage()
dann bleibt nur die radikale Lösung ...
*/
? "Testdruck DUPLEX"
oPrinter:startDoc("Testdruck DUPLEX 1")
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die erste Seite VORN (keine Rückseite)" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
oPrinter:endDoc()
oPrinter:setDuplexMode( XBPPRN_DUPLEXMODE_BOOK )
oPS:configure( oPrinter, aSize, GRA_PU_LOMETRIC ) // oPS:configure() reicht nicht !!!
oPS:setFont(oFont)
oPrinter:startDoc("Testdruck DUPLEX 2")
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die zweite Seite VORN (mit Rückseite)" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
oPrinter:newPage()
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die zweite Seite HINTEN (auf Rückseite)" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
oPrinter:endDoc()
oPrinter:setDuplexMode( XBPPRN_DUPLEXMODE_MEMO )
oPS:configure( oPrinter, aSize, GRA_PU_LOMETRIC )
oPS:setFont(oFont)
oPrinter:startDoc("Testdruck DUPLEX 3")
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die dritte Seite VORN (mit Rückseite)" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
oPrinter:newPage()
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die dritte Seite HINTEN (auf Rückseite)" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
oPrinter:endDoc()
oPrinter:setDuplexMode( XBPPRN_DUPLEXMODE_OFF )
oPS:configure( oPrinter, aSize, GRA_PU_LOMETRIC )
oPS:setFont(oFont)
oPrinter:startDoc("Testdruck DUPLEX 4")
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die vierte Seite VORN (keine Rückseite)" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
oPrinter:newPage()
GraStringAt( oPS, { 100, aSize[2]-200 }, "Das ist die fünfte Seite HINTEN (keine Rückseite)" )
GraStringAt( oPS, { 100, aSize[2]-400 }, "Drucker: "+alltrim(oPrinter:devName))
GraStringAt( oPS, { 100, aSize[2]-600 }, "Duplex Mode:"+DuplexModeName(oPrinter:setDuplexMode()))
oPrinter:endDoc()
oPrinter:setDuplexMode( nAltMode )
oPS:configure( oPrinter, aSize, GRA_PU_LOMETRIC )
oPS:setFont(oFont)
#ENDIF
// Aufräumen
oPrinter:destroy()
oFont:destroy()
oPS:destroy()
? "alles gedruckt"
ENDIF
inkey(20)
RETURN
function DuplexModeName(nMode)
local cReturn
do case
case nMode == NIL
cReturn := " -> wird nicht unterstützt"
case nMode == XBPPRN_DUPLEXMODE_OFF
cReturn := " -> DUPLEX aus"
case nMode == XBPPRN_DUPLEXMODE_BOOK
cReturn := " -> DUPLEX BOOK"
case nMode == XBPPRN_DUPLEXMODE_MEMO
cReturn := " -> DUPLEX MEMO"
otherwise
cReturn := " -> DUPLEX UNBEKANNT"
endcase
return cReturn
Gruß
Hubert
Hubert
Hallo Hubert,
vielen Dank für Dein ausführliches Beispiel. Damit hast Du mir wirklich sehr geholfen. Da sieht man, dass Du wirklich der Druckerspezialist bist. Normalerweise setze ich ja die Druckfunktionen von Roger Donnays eXpress++ ein und bin daher nicht so der "Printer Profi" ausschließlich mit plain xBase++.
Aber mit Deiner super ausführlichen Beschreibung habe ich das Ganze nun wirklich verstanden.
Nochmals vielen Dank für Deine Bemühungen.
Übrigens ist es für mich einfacher, online eine Datei nach Köln zum Kunden zu schicken, als den Drucker durch halb Deutschland zu fahren.
Wenn der Kunde zufrieden ist, und seine Rechnung bezahlt hat, kann ich mir vielleicht auch einen neuen Drucker mit Duplex-Einheit leisten.
Das wäre für einen "Schwaben" sicherlich eine sinnvolle Anschaffung. (Man denke nur an die Papierersparnis)
Nochmals vielen Dank
Gruß aus dem Schabenland
Günter Früholz
vielen Dank für Dein ausführliches Beispiel. Damit hast Du mir wirklich sehr geholfen. Da sieht man, dass Du wirklich der Druckerspezialist bist. Normalerweise setze ich ja die Druckfunktionen von Roger Donnays eXpress++ ein und bin daher nicht so der "Printer Profi" ausschließlich mit plain xBase++.
Aber mit Deiner super ausführlichen Beschreibung habe ich das Ganze nun wirklich verstanden.
Nochmals vielen Dank für Deine Bemühungen.
Übrigens ist es für mich einfacher, online eine Datei nach Köln zum Kunden zu schicken, als den Drucker durch halb Deutschland zu fahren.
Wenn der Kunde zufrieden ist, und seine Rechnung bezahlt hat, kann ich mir vielleicht auch einen neuen Drucker mit Duplex-Einheit leisten.
Das wäre für einen "Schwaben" sicherlich eine sinnvolle Anschaffung. (Man denke nur an die Papierersparnis)
Nochmals vielen Dank
Gruß aus dem Schabenland
Günter Früholz
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hi,
das mit dem fehlerhaften _MEMO / _BOOK Einträgen wurde jetzt genauso wie das #IF Problem als PDRs 6053 sowie 6054 bestätigt.
Man sollte also bei den nächsten Releases überprüfen ob _MEMO / _BOOK verbessert wurden ... und seinen eigenen Code dann anpassen
Immerhin besser, als bei Excel das Jahr 1900 als Schaltjahr zu führen, da dies auch Multiplan und 123 so falsch gemacht haben
das mit dem fehlerhaften _MEMO / _BOOK Einträgen wurde jetzt genauso wie das #IF Problem als PDRs 6053 sowie 6054 bestätigt.
Man sollte also bei den nächsten Releases überprüfen ob _MEMO / _BOOK verbessert wurden ... und seinen eigenen Code dann anpassen
Immerhin besser, als bei Excel das Jahr 1900 als Schaltjahr zu führen, da dies auch Multiplan und 123 so falsch gemacht haben
Gruß
Hubert
Hubert