Nice.

I used the code I found to help populate a combo which allowed the user to 
select a tray via a VFP form.

rk

-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of Tracy Pearson
Sent: Tuesday, August 24, 2010 9:36 AM
To: [email protected]
Subject: RE: Current Printer setting for the default paper tray

Richard Kaye wrote on 2010-08-23: 
> http://www.tech-
> archive.net/Archive/Fox/microsoft.public.fox.vfp.reports.printing/2006 -
> 08/msg00012.html
> 
> rk
> 

Richard,

>From what I am seeing in that code it is getting the list of paper bins. I
am not seeing which is currently set as the default.

With VFP 9, what I'm looking for is acquired easily enough. I use Crystal
Reports for most of our products. So the number that is put into the Expr
field is the number I need to pass to CR.

I put together a class to pull the SYS(1037,2) information into a
collection. 

*-- Test    
LOCAL oPrintSettings    
ACTIVATE SCREEN     
CLEAR     
SET PRINTER TO NAME GETPRINTER()    
oPrinterSettings = CREATEOBJECT("PrinterSettings")    
IF oPrinterSettings.Settings.Count < 1    
        ?"No printer information could be acquired."    
        RETURN     
ENDIF     
?"** Current VFP Printer **"    
FOR SettingsLoop = 1 TO oPrinterSettings.Settings.Count    
        ?oPrinterSettings.Settings.GetKey(SettingsLoop),"="    
        ?oPrinterSettings.Settings(SettingsLoop)    
NEXT    
SET PRINTER TO NAME SET("PRINTER", 2)    
oPrinterSettings.GetInfo()    
?""    
?"** Windows default printer **"    
FOR SettingsLoop = 1 TO oPrinterSettings.Settings.Count    
        ?oPrinterSettings.Settings.GetKey(SettingsLoop),"= "    
        ?oPrinterSettings.Settings(SettingsLoop)    
NEXT    
?""    
    
* Tracy Pearson 8/23/2010    
* This class will fill a SETTINGS collection of the current FoxPro printer

* To get the default Windows printer use the following:    
* SET PRINTER TO NAME SET("PRINTER", 2)    
    
    
DEFINE CLASS PrinterSettings as Session    
SETTINGS = .NULL.    
PROCEDURE Init    
        THIS.GetInfo()    
ENDPROC    
PROCEDURE Destroy    
        THIS.SETTINGS = .NULL.    
ENDPROC    
PROCEDURE GetInfo    
        LOCAL ExprLoop, CurrentLine, SettingName, SettingValue    
        THIS.GetTable()    
        SYS(1037, 2)    
        THIS.SETTINGS = .NULL.    
        THIS.SETTINGS = CREATEOBJECT("Collection")    
        FOR ExprLoop = 1 TO MEMLINES(Expr)    
                CurrentLine = MLINE(Expr, ExprLoop)    
                IF NOT EMPTY(CurrentLine)    
                        SettingName = GETWORDNUM(CurrentLine, 1, "=")    
                        SettingValue = SUBSTR(CurrentLine, LEN(SettingName)
+ 2)    
                        THIS.SETTINGS.Add(SettingValue, SettingName)    
                ENDIF     
        NEXT     
ENDPROC    
PROCEDURE GetTable()    
        *-- VFP 9 Help File     
        *-- SET BLOCKSIZE is scoped to the current data session.    
        SET BLOCKSIZE TO 33    
        CREATE CURSOR PrinterInfo ;    
                ( "PLATFORM" C(8);    
                , "UNIQUEID" C(10);    
                , "TIMESTAMP" N(10);    
                , "OBJTYPE" N(2);    
                , "OBJCODE" N(3);    
                , "NAME" M;    
                , "EXPR" M;    
                , "VPOS" N(9,3);    
                , "HPOS" N(9,3);    
                , "HEIGHT" N(9,3);    
                , "WIDTH" N(9,3);    
                , "STYLE" M;    
                , "PICTURE" M;    
                , "ORDER" M NOCPTRANS;    
                , "UNIQUE" L;    
                , "COMMENT" M;    
                , "ENVIRON" L;    
                , "BOXCHAR" C(1);    
                , "FILLCHAR" C(1);    
                , "TAG" M;    
                , "TAG2" M NOCPTRANS;    
                , "PENRED" N(5);    
                , "PENGREEN" N(5);    
                , "PENBLUE" N(5);    
                , "FILLRED" N(5);    
                , "FILLGREEN" N(5);    
                , "FILLBLUE" N(5);    
                , "PENSIZE" N(5);    
                , "PENPAT" N(5);    
                , "FILLPAT" N(5);    
                , "FONTFACE" M;    
                , "FONTSTYLE" N(3);    
                , "FONTSIZE" N(3);    
                , "MODE" N(3);    
                , "RULER" N(1);    
                , "RULERLINES" N(1);    
                , "GRID" L;    
                , "GRIDV" N(2);    
                , "GRIDH" N(2);    
                , "FLOAT" L;    
                , "STRETCH" L;    
                , "STRETCHTOP" L;    
                , "TOP" L;    
                , "BOTTOM" L;    
                , "SUPTYPE" N(1);    
                , "SUPREST" N(1);    
                , "NOREPEAT" L;    
                , "RESETRPT" N(2);    
                , "PAGEBREAK" L;    
                , "COLBREAK" L;    
                , "RESETPAGE" L;    
                , "GENERAL" N(3);    
                , "SPACING" N(3);    
                , "DOUBLE" L;    
                , "SWAPHEADER" L;    
                , "SWAPFOOTER" L;    
                , "EJECTBEFOR" L;    
                , "EJECTAFTER" L;    
                , "PLAIN" L;    
                , "SUMMARY" L;    
                , "ADDALIAS" L;    
                , "OFFSET" N(3);    
                , "TOPMARGIN" N(3);    
                , "BOTMARGIN" N(3);    
                , "TOTALTYPE" N(2);    
                , "RESETTOTAL" N(2);    
                , "RESOID" N(3);    
                , "CURPOS" L;    
                , "SUPALWAYS" L;    
                , "SUPOVFLOW" L;    
                , "SUPRPCOL" N(1);    
                , "SUPGROUP" N(2);    
                , "SUPVALCHNG" L;    
                , "SUPEXPR" M;    
                , "USER" M)    
        *-- SYS(1037, 2) will error without one row of data.    
        APPEND BLANK     
ENDPROC     
ENDDEFINE    


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/df1eef11e586a64fb54a97f22a8bd0441900310...@ackbwddqh1.artfact.local
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to