************************************************** *-- Class: viewform (c:\profiler\progs\viewform.vcx) *-- ParentClass: form *-- BaseClass: form *-- Time Stamp: 02/13/03 10:22:05 AM * DEFINE CLASS viewform AS form DataSession = 1 Height = 249 Width = 591 ShowWindow = 0 DoCreate = .T. AutoCenter = .T. Caption = "View Filter Settings" ControlBox = .F. Closable = .F. MaxButton = .F. MinButton = .F. Movable = .F. WindowType = 1 lnfilter = 0 Name = "CN_PRNT32VIEW" ADD OBJECT shape1 AS shape WITH ; Top = 24, ; Left = 0, ; Height = 84, ; Width = 457, ; BackStyle = 1, ; SpecialEffect = 0, ; Name = "Shape1" ADD OBJECT lbl1 AS label WITH ; AutoSize = .T., ; FontBold = .T., ; FontName = "MS Sans Serif", ; FontSize = 10, ; WordWrap = .F., ; BackStyle = 0, ; Caption = ("Windows Printer"), ; Height = 18, ; Left = 17, ; Top = 32, ; ReleaseErase = .F., ; TabIndex = 9, ; ColorSource = 3, ; Name = "lbl1" ADD OBJECT lbl4 AS label WITH ; AutoSize = .T., ; FontBold = .T., ; FontName = "MS Sans Serif", ; FontSize = 10, ; WordWrap = .F., ; BackStyle = 0, ; Caption = ("Printer Type"), ; Height = 18, ; Left = 43, ; Top = 59, ; ReleaseErase = .F., ; TabIndex = 12, ; ColorSource = 3, ; Name = "lbl4" ADD OBJECT text1 AS textbox WITH ; FontBold = .F., ; FontName = "MS Sans Serif", ; FontSize = 9, ; BorderStyle = 1, ; Value = (""), ; ControlSource = "m.acn_port", ; Enabled = .T., ; Height = 20, ; Left = 147, ; Margin = 0, ; SelectOnEntry = .T., ; SpecialEffect = 0, ; StatusBarText = "Press CTRL+0 (zero) or deleted key to clear contents and leave blank.", ; TabIndex = 1, ; ToolTipText = "Press F1 to select from all available printers.", ; Top = 31, ; Width = 285, ; ReleaseErase = .F., ; Name = "text1" ADD OBJECT cmdclose AS commandbutton WITH ; Top = 60, ; Left = 492, ; Height = 48, ; Width = 84, ; FontBold = .T., ; FontName = "MS Sans Serif", ; FontSize = 11, ; Caption = "Close", ; TabIndex = 8, ; ToolTipText = "Clicking on this button will close and exit this form.", ; TerminateRead = .T., ; SpecialEffect = 0, ; Name = "cmdClose" ADD OBJECT text5 AS textbox WITH ; FontBold = .F., ; FontName = "MS Sans Serif", ; FontSize = 9, ; BorderStyle = 1, ; Value = (""), ; ControlSource = "m.acn_name", ; Enabled = .T., ; Height = 20, ; Left = 147, ; Margin = 0, ; ReadOnly = .F., ; SpecialEffect = 0, ; TabIndex = 5, ; TabStop = .T., ; Top = 82, ; Width = 285, ; ReleaseErase = .F., ; Name = "text5" ADD OBJECT lbl5 AS label WITH ; FontBold = .T., ; FontName = "MS Sans Serif", ; FontSize = 10, ; Alignment = 1, ; Caption = "Form", ; Height = 17, ; Left = 51, ; Top = 84, ; Width = 80, ; TabIndex = 13, ; Name = "lbl5" ADD OBJECT text4 AS combobox WITH ; RowSourceType = 6, ; RowSource = "prntcode.p_name", ; Value = (""), ; ControlSource = "m.acn_printer", ; Height = 24, ; Left = 147, ; SelectOnEntry = .T., ; StatusBarText = "Press CTRL+0 (zero) to clear contents and leave blank.", ; Style = 2, ; TabIndex = 4, ; ToolTipText = "Press F1 to select from all available printer type.", ; Top = 54, ; Width = 285, ; Name = "text4" ADD OBJECT cmdcancel AS commandbutton WITH ; Top = 0, ; Left = 12, ; Height = 27, ; Width = 84, ; Cancel = .T., ; Caption = "Cancel", ; Enabled = .F., ; TabIndex = 14, ; TabStop = .F., ; TerminateRead = .T., ; Visible = .F., ; Name = "cmdcancel" ADD OBJECT command1 AS commandbutton WITH ; Top = 12, ; Left = 492, ; Height = 48, ; Width = 84, ; FontBold = .T., ; FontName = "MS Sans Serif", ; FontSize = 11, ; Caption = "Set Filter", ; TabIndex = 7, ; ToolTipText = "Clicking on this button will close and exit this form.", ; TerminateRead = .T., ; SpecialEffect = 0, ; ForeColor = RGB(255,0,0), ; Name = "Command1" ADD OBJECT label1 AS label WITH ; AutoSize = .T., ; FontBold = .T., ; FontSize = 10, ; Caption = ("="), ; Height = 18, ; Left = 133, ; Top = 32, ; Width = 10, ; TabIndex = 15, ; Name = "Label1" ADD OBJECT label4 AS label WITH ; AutoSize = .T., ; FontBold = .T., ; FontSize = 10, ; Caption = ("="), ; Height = 18, ; Left = 133, ; Top = 60, ; Width = 10, ; TabIndex = 18, ; Name = "Label4" ADD OBJECT label5 AS label WITH ; AutoSize = .T., ; FontBold = .T., ; FontSize = 10, ; Caption = ("="), ; Height = 18, ; Left = 133, ; Top = 85, ; Width = 10, ; TabIndex = 19, ; Name = "Label5" ADD OBJECT label12 AS label WITH ; AutoSize = .T., ; FontBold = .T., ; FontSize = 11, ; Caption = "Custom Filter Options:", ; Height = 20, ; Left = 12, ; Top = 6, ; Width = 161, ; TabIndex = 20, ; Name = "Label12" ADD OBJECT opgview AS optiongroup WITH ; AutoSize = .F., ; ButtonCount = 12, ; Value = 1, ; Height = 107, ; Left = 0, ; Top = 138, ; Width = 561, ; TabIndex = 6, ; Name = "OpgView", ; Option1.FontSize = 9, ; Option1.Caption = "View All Forms", ; Option1.Value = 1, ; Option1.Height = 17, ; Option1.Left = 4, ; Option1.TabStop = .F., ; Option1.ToolTipText = "Select to view all conrol records.", ; Option1.Top = 5, ; Option1.Width = 139, ; Option1.AutoSize = .F., ; Option1.Name = "Option1", ; Option2.FontSize = 9, ; Option2.Caption = "View Condensed Only", ; Option2.Height = 17, ; Option2.Left = 4, ; Option2.TabStop = .F., ; Option2.ToolTipText = "Select to view all control records for condensed forms only.", ; Option2.Top = 21, ; Option2.Width = 187, ; Option2.AutoSize = .F., ; Option2.Name = "Option3", ; Option3.FontSize = 9, ; Option3.Caption = "View All Forms With No Printer Selected", ; Option3.Height = 17, ; Option3.Left = 247, ; Option3.TabStop = .F., ; Option3.ToolTipText = "Select to view all control records that have NO printer settings.", ; Option3.Top = 5, ; Option3.Width = 237, ; Option3.AutoSize = .F., ; Option3.Name = "Option2", ; Option4.FontSize = 9, ; Option4.Caption = "View Only Condensed Forms With NO Settings", ; Option4.Height = 17, ; Option4.Left = 247, ; Option4.TabStop = .F., ; Option4.ToolTipText = "Select to view only control records for condensed forms that have NO printer settings.", ; Option4.Top = 37, ; Option4.Width = 293, ; Option4.AutoSize = .F., ; Option4.Name = "Option4", ; Option5.FontSize = 9, ; Option5.Caption = "View Forms on LPT1 Only", ; Option5.Height = 17, ; Option5.Left = 4, ; Option5.TabStop = .F., ; Option5.Top = 37, ; Option5.Width = 161, ; Option5.Name = "Option5", ; Option6.FontSize = 9, ; Option6.Caption = "View Forms on LPT2 Only", ; Option6.Height = 17, ; Option6.Left = 4, ; Option6.TabStop = .F., ; Option6.Top = 53, ; Option6.Width = 164, ; Option6.Name = "Option7", ; Option7.FontSize = 9, ; Option7.Caption = "View Forms on LPT3 Only", ; Option7.Height = 17, ; Option7.Left = 4, ; Option7.TabStop = .F., ; Option7.Top = 69, ; Option7.Width = 212, ; Option7.Name = "Option8", ; Option8.FontSize = 9, ; Option8.Caption = "View All Forms that match this record's printer", ; Option8.Height = 17, ; Option8.Left = 247, ; Option8.TabStop = .F., ; Option8.Top = 53, ; Option8.Width = 293, ; Option8.Name = "Option9", ; Option9.FontSize = 9, ; Option9.Caption = "View Forms on LPT4 Only", ; Option9.Height = 17, ; Option9.Left = 4, ; Option9.TabStop = .F., ; Option9.Top = 85, ; Option9.Width = 212, ; Option9.Name = "Option10", ; Option10.FontSize = 9, ; Option10.Caption = "View Forms on COM1 Only", ; Option10.Height = 17, ; Option10.Left = 247, ; Option10.TabStop = .F., ; Option10.Top = 69, ; Option10.Width = 240, ; Option10.Name = "Option11", ; Option11.FontSize = 9, ; Option11.Caption = "View Forms on COM2 Only", ; Option11.Height = 17, ; Option11.Left = 247, ; Option11.TabStop = .F., ; Option11.Top = 85, ; Option11.Width = 228, ; Option11.Name = "Option12", ; Option12.FontSize = 9, ; Option12.Caption = "View All Forms With No Printer TYPE Selected", ; Option12.Height = 17, ; Option12.Left = 247, ; Option12.TabStop = .F., ; Option12.Top = 21, ; Option12.Width = 293, ; Option12.Name = "Option13" ADD OBJECT lblviewfilters AS label WITH ; AutoSize = .T., ; FontBold = .T., ; FontSize = 11, ; Caption = "PreSet View Filters:", ; Height = 20, ; Left = 13, ; Top = 119, ; Width = 141, ; TabIndex = 21, ; Name = "lblviewfilters" PROCEDURE Init set STEP on *--To see datasession window, unremark the next two lines: *set step on *activate window view *UPDATES *03/06/2002 TCHolzer Modified to add user forms to ctrlset table PRIVATE m.acondensed,; m.amultcopies,; m.acn_name,; m.acn_printer,; m.acn_port m.condensed=.F. m.multcopies=.F. m.acn_name="" m.acn_printer="" m.acn_port="" DODEFAULT() ENDPROC PROCEDURE Load DODEFAULT() ENDPROC PROCEDURE text1.GotFocus ON KEY LABEL F1 m.acn_port=GETPRINTER() ON KEY LABEL SPACEBAR m.acn_port=GETPRINTER() DODEFAULT() ENDPROC PROCEDURE text1.LostFocus ON KEY LABEL F1 ON KEY LABEL SPACEBAR ON KEY LABEL CTRL+0 m.acn_port=thisform.text1.value IF !EMPTY(m.acn_port); .and.!EMPTY(m.acn_printer); .and.!EMPTY(m.acn_name) THISFORM.opgview.enabled=.T. ELSE thisform.lnfilter=0 THISFORM.opgview.option1.value=0 THISFORM.opgview.enabled=.f. ENDIF DODEFAULT() ENDPROC PROCEDURE cmdclose.Click *Remove any filters in place *!* SELECT LCONTROL *!* SET FILTER TO *!* SELECT CTRLSET *!* SET FILTER TO *!* SELECT CONTROL *!* SET FILTER TO *!* GO TOP *Release form thisform.Release() ENDPROC PROCEDURE text5.LostFocus IF !EMPTY(m.acn_port); .and.!EMPTY(m.acn_printer); .and.!EMPTY(m.acn_name) THISFORM.opgview.enabled=.T. ELSE thisform.lnfilter=0 THISFORM.opgview.option1.value=0 THISFORM.opgview.enabled=.f. ENDIF DODEFAULT() ENDPROC PROCEDURE text4.GotFocus ON KEY LABEL SPACEBAR ON KEY LABEL F1 KEYBOARD '{SPACEBAR}' DODEFAULT() ENDPROC PROCEDURE text4.LostFocus ON KEY LABEL F1 m.acn_printer=thisform.text4.value IF !EMPTY(m.acn_port); .and.!EMPTY(m.acn_printer); .and.!EMPTY(m.acn_name) THISFORM.opgview.enabled=.T. ELSE thisform.lnfilter=0 THISFORM.opgview.option1.value=0 THISFORM.opgview.enabled=.f. ENDIF DODEFAULT() ENDPROC PROCEDURE cmdcancel.Click PRIVATE lnAns lnAns=7 lnAns=MESSAGEBOX("Are you sure you want to exit?",4+4096,50000) IF lnAns=7 RETURN ENDIF thisform.release() ENDPROC PROCEDURE command1.Click DO CASE && 0 = custom filter CASE thisform.lnfilter=1 && no filter, view all records SELECT LCONTROL SET FILTER TO SELECT CTRLSET SET FILTER TO PRINTFORM = .T. SELECT CONTROL SET FILTER TO SET FILTER TO FOUND('CTRLSET') GO TOP CASE Thisform.lnfilter=2 && condensed only SELECT LCONTROL SET FILTER TO SELECT CTRLSET SET FILTER TO CONDENSED=.t. .AND. PRINTFORM = .t. SELECT CONTROL SET FILTER TO SET FILTER TO FOUND('CTRLSET') GO top CASE Thisform.lnfilter=3 && lpt1 only SELECT LCONTROL SET FILTER TO UPPER(ALLTRIM(lcontrol.cn_port))="LPT1" SELECT CTRLSET SET FILTER TO PRINTFORM = .t. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE Thisform.lnfilter=4 && lpt2 only SELECT LCONTROL SET FILTER TO UPPER(ALLTRIM(lcontrol.cn_port))="LPT2" SELECT CTRLSET SET FILTER TO PRINTFORM = .t. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE Thisform.lnfilter=5 && lpt3 only SELECT LCONTROL SET FILTER TO UPPER(ALLTRIM(lcontrol.cn_port))="LPT3" SELECT CTRLSET SET FILTER TO PRINTFORM = .t. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE Thisform.lnfilter=6 && lpt4 only SELECT LCONTROL SET FILTER TO UPPER(ALLTRIM(lcontrol.cn_port))="LPT4" SELECT CTRLSET SET FILTER TO PRINTFORM = .t. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE Thisform.lnfilter=7 && no printer selected SELECT LCONTROL SET FILTER TO LEN(ALLTRIM(lcontrol.cn_port))=0 SELECT CTRLSET SET FILTER TO PRINTFORM = .T. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE Thisform.lnfilter=8 && no printer type selected SELECT LCONTROL SET FILTER TO LEN(ALLTRIM(lcontrol.cn_printer))=0 SELECT CTRLSET SET FILTER TO PRINTFORM = .T. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE Thisform.lnfilter=9 && Condensed with no settings SELECT LCONTROL SET FILTER TO LEN(ALLTRIM(lcontrol.cn_port))=0 AND LEN(ALLTRIM(lcontrol.cn_printer))=0 SELECT CTRLSET SET FILTER TO condensed = .T. .and. PRINTFORM = .T. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE THISFORm.lnfilter=10 && match current record lmyprinter=ALLTRIM(cn_prnt32.text1.value) SELECT LCONTROL SET FILTER TO ALLTRIM(lcontrol.cn_port)= lmyprinter SELECT CTRLSET SET FILTER TO PRINTFORM = .T. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE THISFORm.lnfilter=11 && com1 SELECT LCONTROL SET FILTER TO UPPER(ALLTRIM(lcontrol.cn_port))="COM1" SELECT CTRLSET SET FILTER TO PRINTFORM = .t. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top CASE THISFORm.lnfilter=12 && com2 SELECT LCONTROL SET FILTER TO UPPER(ALLTRIM(lcontrol.cn_port))="COM2" SELECT CTRLSET SET FILTER TO PRINTFORM = .t. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO top OTHERWISE LOCAL lcsetfilterto, lnfilters,lcset,lcfilter lcsetfilterto="" lnfilters=0 lcset="" lcfilter="" IF !EMPTY(m.acn_port).and.LEN(ALLTRIM(m.acn_port))>0 lnfilters=lnfilters+1 lcset="'"+ALLTRIM(m.acn_port)+"'" lcfilter="ALLTRIM(UPPER(cn_port))=" lcset=UPPER(lcset) IF lnfilters=1 lcsetfilterto=lcsetfilterto+lcfilter+lcset ELSE lcsetfilterto=lcsetfilterto+" .AND. "+lcfilter+lcset ENDIF ENDIF IF !EMPTY(m.acn_printer).and.LEN(ALLTRIM(m.acn_printer))>0 lnfilters=lnfilters+1 lcset="'"+ALLTRIM(m.acn_printer)+"'" lcfilter="ALLTRIM(UPPER(cn_printer))=" lcset=UPPER(lcset) IF lnfilters=1 lcsetfilterto=lcsetfilterto+lcfilter+lcset ELSE lcsetfilterto=lcsetfilterto+" .AND. "+lcfilter+lcset ENDIF ENDIF IF !EMPTY(m.acn_name).and.LEN(ALLTRIM(m.acn_name))>0 lnfilters=lnfilters+1 i=LEN(ALLTRIM(m.acn_name)) lcset="'"+LEFT(ALLTRIM(m.acn_name),i)+"'" lcfilter="LEFT(ALLTRIM(UPPER(cn_name)),"+ALLTRIM(STR(i))+")=" lcset=UPPER(lcset) IF lnfilters=1 lcsetfilterto=lcsetfilterto+lcfilter+lcset ELSE lcsetfilterto=lcsetfilterto+" .AND. "+lcfilter+lcset ENDIF ENDIF IF !EMPTY(lcsetfilterto) SELECT LCONTROL SET FILTER TO &lcsetfilterto SELECT CTRLSET SET FILTER TO PRINTFORM = .T. SELECT CONTROL SET FILTER TO FOUND('LCONTROL') .and. FOUND('CTRLSET') GO TOP ENDIF ENDCASE cn_prnt32.activate() cn_prnt32view.cmdclose.click ENDPROC PROCEDURE opgview.Option1.Click thisform.lnfilter=1 ENDPROC PROCEDURE opgview.Option3.Click thisform.lnfilter=2 ENDPROC PROCEDURE opgview.Option2.Click thisform.lnfilter=7 ENDPROC PROCEDURE opgview.Option4.Click thisform.lnfilter=9 ENDPROC PROCEDURE opgview.Option5.Click THisform.lnfilter=3 ENDPROC PROCEDURE opgview.Option7.Click thisform.lnfilter=4 ENDPROC PROCEDURE opgview.Option8.Click thisform.lnfilter=5 ENDPROC PROCEDURE opgview.Option9.Click thisform.lnfilter=10 ENDPROC PROCEDURE opgview.Option10.Click thisform.lnfilter=6 ENDPROC PROCEDURE opgview.Option11.Click thisform.lnfilter=11 ENDPROC PROCEDURE opgview.Option12.Click thisform.lnfilter=12 ENDPROC PROCEDURE opgview.Option13.Click thisform.lnfilter=8 ENDPROC ENDDEFINE * *-- EndDefine: viewform **************************************************