i did this so you did not have too.
that is what this section of the forum is all about now isn't it.
a program to test the actions of using the XPRINT SET DUPLEX function on windows printers and/or a windows printer driver assigned to the printer.
this program should be self instructive and if not if anybody wants to reword, add or delete from it, please do because my english is the pitts.
The printer tested should support duplexing, that is what this program is about.
You should set the duplexing mode to OFF in the windows printer driver before running this program and if in your printer's duplex settings, actually on the physical printer, is set to ON, you should change the printer's duplex setting to OFF as well.
i am also going to highjack a thread already written about concerning duplex problems.
see
i do not think there will be much discussion of this code below, if you want ot change it, go ahead and make my day, or even gui it, but please post your code if you do.
code is written in PB compiler PBCC 5.02
that is what this section of the forum is all about now isn't it.
a program to test the actions of using the XPRINT SET DUPLEX function on windows printers and/or a windows printer driver assigned to the printer.
this program should be self instructive and if not if anybody wants to reword, add or delete from it, please do because my english is the pitts.
The printer tested should support duplexing, that is what this program is about.
You should set the duplexing mode to OFF in the windows printer driver before running this program and if in your printer's duplex settings, actually on the physical printer, is set to ON, you should change the printer's duplex setting to OFF as well.
i am also going to highjack a thread already written about concerning duplex problems.
see
i do not think there will be much discussion of this code below, if you want ot change it, go ahead and make my day, or even gui it, but please post your code if you do.
code is written in PB compiler PBCC 5.02
Code:
#COMPILE EXE #DIM ALL #INCLUDE "win32api.inc" FUNCTION PBMAIN () AS LONG LOCAL sdatetime AS STRING LOCAL nduplex AS LONG LOCAL sprintername AS STRING LOCAL sprinterdriver AS STRING LOCAL regpath AS STRING LOCAL shost AS STRING LOCAL suser AS STRING LOCAL sdomain AS STRING LOCAL objshell AS DISPATCH LOCAL vRes AS VARIANT LOCAL vVar AS VARIANT SET objshell = NEW DISPATCH IN "WScript.Shell" shost = ENVIRON$("COMPUTERNAME") suser = ENVIRON$("USERNAME") sdomain = EXTRACT$(ENVIRON$("USERDOMAIN"), ".") sdatetime=DATE$+" "+TIME$ STDOUT "This program test a Powerbasic compiler function XPRINT SET DUPLEX" STDOUT "To see if the function is able to change the duplex printing" STDOUT " characteristics of a printer with duplex capablilites." STDOUT "You need to choose a printer that has duplex printing capablilities." STDOUT "Four pages should print, Page A, Page B, Page C, and Page D" STDOUT "If this function works correctly with the printer," STDOUT " only 3 sheets of papaer will print. Page B should be on the STDOUT " back of sheet of paper for Page A, and Page C and Page D" STDOUT " should be printed on one sheet of paper each." STDOUT "" STDOUT "To do a thorough test, before running this program or now." STDOUT " From the printer properties window using the windows operating system." STDOUT " Find where you can change the duplex printing mode." STDOUT " Note your setting before making any changes for this program," STDOUT " so that you can change back to your original setting." STDOUT " Set the duplex mode to OFF. Then run this program." STDOUT " Then changed the setting to ON. Then run this program." STDOUT " Change your duplex mode back to the original settings. STDOUT "" STDOUT "press any key to choose a printer and print the test pages." WAITKEY$ REM ' choose a printer XPRINT ATTACH CHOOSE , "Testing PB XPRINT Duplex function" sprintername=XPRINT$ IF TRIM$(sprintername)="" THEN XPRINT CANCEL:XPRINT CLOSE:EXIT FUNCTION regPath = "HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\" & sprintername vVar = regPath & "\Printer Driver" vRes = "" : OBJECT CALL objShell.RegRead(vVar) TO vRes sprinterdriver = VARIANT$(vRes) sHost = ENVIRON$("COMPUTERNAME") sDomain = EXTRACT$(ENVIRON$("USERDOMAIN"), ".") REM ' print the test pages XPRINT SET DUPLEX 2 XPRINT "Page A" XPRINT "" XPRINT "Testing Pb compiler function XPRINT SET DUPLEX with this printer" XPRINT "This should be side 1 (front) sheet paper 1 of 3" XPRINT "The function processed was XPRINT SET DUPLEX 2 just before printing page A" XPRINT "" XPRINT "" XPRINT "Windows info:" XPRINT " date and time = "+sdatetime XPRINT " computer name = "+shost XPRINT " user name = "+suser XPRINT " computer domain = "+sdomain XPRINT " printer name = "+sprintername XPRINT " printer driver = "+sprinterdriver XPRINT "" XPRINT "" XPRINT "This program was designed to test the printing actions of duplex printers." XPRINT "This program will print 4 pages; Page A, Page B, Page C, and Page D." XPRINT "Page A and Page B should be on one single sheet of paper, with Page B being" XPRINT " on the back of the sheet, then Page C and Page D being printed on a single XPRINT " sheet of paper each. So you should get 4 pages on 3 sheets of paper." XPRINT "" XPRINT "Some printers or windows printer drivers do not work properly while" XPRINT " printing in duplex mode." XPRINT "" XPRINT "It is custom for a program to be able to change the duplex printing mode" XPRINT " of a printer thru the windows printer driver used for a printer if that" XPRINT " printer supports duplex printing." XPRINT "" XPRINT "If you did not get the desired results of printing you wanted." XPRINT "Most likely it is because your printer does not support duplex printing or" XPRINT " your printer driver does support duplex printing and the windows printer driver" XPRINT " you are using with this printer is defective or the printer driver may" XPRINT " be for another printer and not this printer." XPRINT "The word defective refers to when the windows printer driver will not allow" XPRINT " software to make changes to the printer thru the windows printer driver." XPRINT "" XPRINT "If you are using the correct windows driver, you may want to find a newer" XPRINT " windows printer driver for the specific printer or an older one if it" XPRINT " works for you, or even search for a compatible windows printer driver for the" XPRINT " specific printer you are using." XPRINT "" XPRINT "Probably all other programs you print with will perform in the same manner that" XPRINT " this program is doing. Meaning not letting software make the proper duplex" XPRINT " setting." XPRINT "" XPRINT "Your only option left to correct the way in which your printer is handling" XPRINT " duplex printing, if you do not like the way it is now, is to make" XPRINT " changes to the setting your windows printer driver for duplex printing" XPRINT " an hope that solves your problems manually. Good luck with it." XPRINT FORMFEED XPRINT "Page B" XPRINT "" XPRINT "Testing Pb compiler function XPRINT SET DUPLEX with this printer" XPRINT "This should be side 2 (back) sheet paper page 1 of 3" XPRINT "The function processed was XPRINT SET DUPLEX 2 just before printing page A" XPRINT "" XPRINT "" XPRINT "Windows info:" XPRINT " date and time = "+sdatetime XPRINT " computer name = "+shost XPRINT " user name = "+suser XPRINT " computer domain = "+sdomain XPRINT " printer name = "+sprintername XPRINT " printer driver = "+sprinterdriver XPRINT FORMFEED XPRINT SET DUPLEX 1 XPRINT "Page C" XPRINT "" XPRINT "Testing Pb compiler function XPRINT SET DUPLEX with this printer" XPRINT "This should be side 1 (front) sheet paper 2 of 3" XPRINT "The function processed was XPRINT SET DUPLEX 1 just before printing page C" XPRINT "" XPRINT "" XPRINT "Windows info:" XPRINT " date and time = "+sdatetime XPRINT " computer name = "+shost XPRINT " user name = "+suser XPRINT " computer domain = "+sdomain XPRINT " printer name = "+sprintername XPRINT " printer driver = "+sprinterdriver XPRINT FORMFEED XPRINT "Page D" XPRINT "" XPRINT "Testing Pb compiler function XPRINT SET DUPLEX with this printer" XPRINT "This should be side 1 (front) sheet paper 3 of 3" XPRINT "The function processed was XPRINT SET DUPLEX 1 just before printing page D" XPRINT "" XPRINT "" XPRINT "Windows info:" XPRINT " date and time = "+sdatetime XPRINT " computer name = "+shost XPRINT " user name = "+suser XPRINT " computer domain = "+sdomain XPRINT " printer name = "+sprintername XPRINT " printer driver = "+sprinterdriver XPRINT FORMFEED XPRINT CLOSE END FUNCTION
Comment