Import initial din SVN ROAAUTO/Trunk @HEAD
This commit is contained in:
BIN
COMUN/utile/hpdf/ReportOutput/_frxcursor.VCT
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/_frxcursor.VCT
Normal file
Binary file not shown.
BIN
COMUN/utile/hpdf/ReportOutput/_frxcursor.VCX
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/_frxcursor.VCX
Normal file
Binary file not shown.
81
COMUN/utile/hpdf/ReportOutput/_frxcursor.h
Normal file
81
COMUN/utile/hpdf/ReportOutput/_frxcursor.h
Normal file
@@ -0,0 +1,81 @@
|
||||
*=======================================================
|
||||
* frxCursor.vcx compile constants
|
||||
*=======================================================
|
||||
|
||||
#include foxpro_reporting.h
|
||||
|
||||
*-------------------------------------------------------
|
||||
* Magic numbers
|
||||
*-------------------------------------------------------
|
||||
|
||||
*-- Report Layout object dimensions
|
||||
*--
|
||||
#define BAND_SEPARATOR_HEIGHT_FRUS 2083.333
|
||||
#define BAND_SEPARATOR_HEIGHT_PIXELS 20
|
||||
|
||||
*-- Object Cursor filter modes:
|
||||
*--
|
||||
#define OBJCSR_ALL_OBJECTS_IGNORE_GROUPS 0
|
||||
#define OBJCSR_FILTER_ON_SELECTED 1
|
||||
#define OBJCSR_SHOW_ALL_OBJECTS 2
|
||||
#define OBJCSR_FILTER_GROUP 3
|
||||
|
||||
#define OBJCSR_SORTORDER_TYPE 1
|
||||
#define OBJCSR_SORTORDER_BAND 2
|
||||
|
||||
#define FRX_OBJTYPE_MULTISELECT 99
|
||||
|
||||
*-------------------------------------------------------
|
||||
* Localization strings
|
||||
*-------------------------------------------------------
|
||||
|
||||
*-- FRX object targets:
|
||||
*--
|
||||
#define TARGET_MULTISELECT_LOC "Multiple Selection"
|
||||
#define TARGET_REPORT_COMMENT_LOC "Comment"
|
||||
#define TARGET_REPORT_GLOBAL_LOC "Report/Global"
|
||||
#define TARGET_WORKAREA_LOC "Workarea"
|
||||
#define TARGET_INDEX_LOC "Index"
|
||||
#define TARGET_RELATION_LOC "Relation"
|
||||
#define TARGET_TEXT_LABEL_LOC "Label"
|
||||
#define TARGET_LINE_LOC "Line"
|
||||
#define TARGET_BOX_LOC "Rectangle"
|
||||
#define TARGET_FIELD_LOC "Field"
|
||||
#define TARGET_TITLE_LOC "Title"
|
||||
#define TARGET_PAGE_HEADER_LOC "Page Header"
|
||||
#define TARGET_COL_HEADER_LOC "Column Header"
|
||||
#define TARGET_GROUP_HEADER_LOC "Group Header"
|
||||
#define TARGET_DETAIL_LOC "Detail"
|
||||
#define TARGET_GROUP_FOOTER_LOC "Group Footer"
|
||||
#define TARGET_COL_FOOTER_LOC "Column Footer"
|
||||
#define TARGET_PAGE_FOOTER_LOC "Page Footer"
|
||||
#define TARGET_SUMMARY_LOC "Summary"
|
||||
#define TARGET_DETAIL_HEADER_LOC "Detail Header"
|
||||
#define TARGET_DETAIL_FOOTER_LOC "Detail Footer"
|
||||
#define TARGET_UNKNOWN_BAND_LOC "Unknown band type"
|
||||
#define TARGET_GROUPED_LOC "Grouped Objects"
|
||||
#define TARGET_PICTURE_LOC "Picture/OLE Bound"
|
||||
#define TARGET_VARIABLE_LOC "Variable"
|
||||
#define TARGET_PDRIVER_LOC "Printer Driver Setup"
|
||||
#define TARGET_FONTRESO_LOC "Font Resource"
|
||||
#define TARGET_DATAENV_LOC "Data Environment"
|
||||
#define TARGET_CURSOR_LOC "Cursor"
|
||||
#define TARGET_UNKNOWN_LOC "Unknown Target type"
|
||||
|
||||
#define TARGET_FORCED_PAGEHEADER_LOC "Resolved as Page Header"
|
||||
#define TARGET_UNPREDICTABLE_LOC "Indeterminate behavior"
|
||||
|
||||
*-- Calculation "Reset On" combo list
|
||||
*--
|
||||
#define ENDOFREPORT_LOC "Report"
|
||||
#define ENDOFPAGE_LOC "Page"
|
||||
#define ENDOFCOLUMN_LOC "Column"
|
||||
#define GROUP_BY_LOC "Group: "
|
||||
#define DETAIL_LOC "Detail "
|
||||
#define NEW_LOC "new"
|
||||
|
||||
|
||||
*-- Messagebox error messages:
|
||||
*--
|
||||
#define METADATA_DOM_ERROR_LOC "Exception occurred in frxCursor::getMetadataDomDoc()"
|
||||
#define CREATE_IC_FAILURE_LOC "Unable to create device context. CreateIC() returned 0."
|
||||
BIN
COMUN/utile/hpdf/ReportOutput/_reportoutputconfig.cdx
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/_reportoutputconfig.cdx
Normal file
Binary file not shown.
BIN
COMUN/utile/hpdf/ReportOutput/_reportoutputconfig.dbf
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/_reportoutputconfig.dbf
Normal file
Binary file not shown.
BIN
COMUN/utile/hpdf/ReportOutput/_reportoutputconfig.fpt
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/_reportoutputconfig.fpt
Normal file
Binary file not shown.
565
COMUN/utile/hpdf/ReportOutput/ctl32.h
Normal file
565
COMUN/utile/hpdf/ReportOutput/ctl32.h
Normal file
@@ -0,0 +1,565 @@
|
||||
|
||||
**************************************************************************************
|
||||
*-- Custom
|
||||
**************************************************************************************
|
||||
#Define TRUE .T.
|
||||
#Define FALSE .F.
|
||||
|
||||
#Define CR CHR(13)
|
||||
#Define LF CHR(10)
|
||||
#Define CRLF CR+LF
|
||||
|
||||
#Define BORDERSTYLE_NONE 0
|
||||
#Define BORDERSTYLE_FIXEDSINGLE 1
|
||||
#Define BORDERSTYLE_FIXEDDIALOG 2
|
||||
#Define BORDERSTYLE_SIZABLE 3
|
||||
|
||||
#Define SHOWWINDOW_INSCREEN 0
|
||||
#Define SHOWWINDOW_INTOPLEVELFORM 1
|
||||
#Define SHOWWINDOW_ASTOPLEVELFORM 2
|
||||
|
||||
#Define VERSION2_RUNTIME 0
|
||||
|
||||
*-- ObjToClient parameters
|
||||
#Define OTC_TOP 1
|
||||
#Define OTC_LEFT 2
|
||||
#Define OTC_WIDTH 3
|
||||
#Define OTC_HEIGHT 4
|
||||
|
||||
#Define CTL32_FORMTYPE_DEFAULT 0
|
||||
#Define CTL32_FORMTYPE_TOPLEVEL 1
|
||||
#Define CTL32_FORMTYPE_SCREEN 2
|
||||
|
||||
#Define CTL32_SBBORDER_HORIZONTAL 1
|
||||
#Define CTL32_SBBORDER_VERTICAL 2
|
||||
#Define CTL32_SBBORDER_SEPARATOR 3
|
||||
|
||||
**************************************************************************************
|
||||
*-- API
|
||||
**************************************************************************************
|
||||
#Define CCM_FIRST 0x2000
|
||||
#Define CCM_GETUNICODEFORMAT 0x2006 && (CCM_FIRST + 6)
|
||||
#Define CCM_SETBKCOLOR 0x2001 && (CCM_FIRST + 1)
|
||||
#Define CCM_SETUNICODEFORMAT 0x2005 && (CCM_FIRST + 5)
|
||||
|
||||
#Define CCS_ADJUSTABLE 0x20
|
||||
#Define CCS_BOTTOM 0x3
|
||||
#Define CCS_LEFT 0x81 && Bitor(CCS_VERT, CCS_TOP)
|
||||
#Define CCS_NODIVIDER 0x40
|
||||
#Define CCS_NOMOVEX 0x82 && Bitor(CCS_VERT, CCS_NOMOVEY)
|
||||
#Define CCS_NOMOVEY 0x2
|
||||
#Define CCS_NOPARENTALIGN 0x8
|
||||
#Define CCS_NORESIZE 0x4
|
||||
#Define CCS_RIGHT 0x83 && Bitor(CCS_VERT, CCS_BOTTOM)
|
||||
#Define CCS_TOP 0x1
|
||||
#Define CCS_VERT 0x80
|
||||
|
||||
|
||||
#Define CLR_DEFAULT 0xFF000000
|
||||
#Define COLOR_BTNFACE 15
|
||||
#Define COLOR_BTNFACE 15
|
||||
#Define COLOR_HIGHLIGHT 13
|
||||
#Define COLOR_WINDOW 5
|
||||
|
||||
#DEFINE CW_USEDEFAULT 0x80000000
|
||||
|
||||
#Define DATE_LONGDATE 0x2
|
||||
#Define DATE_SHORTDATE 0x1
|
||||
|
||||
#Define GW_CHILD 5
|
||||
|
||||
#Define GWL_EXSTYLE -20
|
||||
#Define GWL_HINSTANCE -6
|
||||
#Define GWL_STYLE -16
|
||||
#Define GWL_WNDPROC -4
|
||||
|
||||
#Define HWND_TOP 0
|
||||
#Define LOCALE_SISO639LANGNAME 0x59
|
||||
#Define LOCALE_SYSTEM_DEFAULT 0x800
|
||||
#Define LOCALE_USER_DEFAULT 0x400
|
||||
#Define LOCALE_NOUSEROVERRIDE 0x80000000
|
||||
|
||||
#DEFINE CCM_GETUNICODEFORMAT (CCM_FIRST + 6)
|
||||
#DEFINE CCM_SETUNICODEFORMAT (CCM_FIRST + 5)
|
||||
|
||||
#DEFINE MAXLONG 0x7FFFFFFF
|
||||
|
||||
#DEFINE MCM_FIRST 0x1000
|
||||
#DEFINE MCM_GETCOLOR 0x1011 && (MCM_FIRST + 11)
|
||||
#DEFINE MCM_GETCURSEL 0x1001 && (MCM_FIRST + 1)
|
||||
#DEFINE MCM_GETFIRSTDAYOFWEEK 0x1016 && (MCM_FIRST + 16)
|
||||
#DEFINE MCM_GETMAXSELCOUNT 0x1003 && (MCM_FIRST + 3)
|
||||
#DEFINE MCM_GETMAXTODAYWIDTH 0x1021 && (MCM_FIRST + 21)
|
||||
#DEFINE MCM_GETMINREQRECT 0x1009 && (MCM_FIRST + 9)
|
||||
#DEFINE MCM_GETMONTHDELTA 0x1019 && (MCM_FIRST + 19)
|
||||
#DEFINE MCM_GETMONTHRANGE 0x1007 && (MCM_FIRST + 7)
|
||||
#DEFINE MCM_GETRANGE (MCM_FIRST + 17)
|
||||
#DEFINE MCM_GETSELRANGE (MCM_FIRST + 5)
|
||||
#DEFINE MCM_GETTODAY (MCM_FIRST + 13)
|
||||
#DEFINE MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
|
||||
#DEFINE MCM_HITTEST (MCM_FIRST + 14)
|
||||
#DEFINE MCM_SETCOLOR (MCM_FIRST + 10)
|
||||
#DEFINE MCM_SETCURSEL (MCM_FIRST + 2)
|
||||
#DEFINE MCM_SETDAYSTATE (MCM_FIRST + 8)
|
||||
#DEFINE MCM_SETFIRSTDAYOFWEEK (MCM_FIRST + 15)
|
||||
#DEFINE MCM_SETMAXSELCOUNT (MCM_FIRST + 4)
|
||||
#DEFINE MCM_SETMONTHDELTA (MCM_FIRST + 20)
|
||||
#DEFINE MCM_SETRANGE (MCM_FIRST + 18)
|
||||
#DEFINE MCM_SETSELRANGE (MCM_FIRST + 6)
|
||||
#DEFINE MCM_SETTODAY (MCM_FIRST + 12)
|
||||
#DEFINE MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
|
||||
|
||||
#DEFINE MCS_DAYSTATE 0x1
|
||||
#DEFINE MCS_MULTISELECT 0x2
|
||||
#DEFINE MCS_NOTODAY 0x10
|
||||
#DEFINE MCS_NOTODAYCIRCLE 0x8
|
||||
#DEFINE MCS_WEEKNUMBERS 0x4
|
||||
|
||||
#DEFINE MCSC_BACKGROUND 0
|
||||
#DEFINE MCSC_MONTHBK 4
|
||||
#DEFINE MCSC_TEXT 1
|
||||
#DEFINE MCSC_TITLEBK 2
|
||||
#DEFINE MCSC_TITLETEXT 3
|
||||
#DEFINE MCSC_TRAILINGTEXT 5
|
||||
|
||||
#Define MF_APPEND 0x100
|
||||
#Define MF_BITMAP 0x4
|
||||
#Define MF_BYCOMMAND 0x0
|
||||
#Define MF_BYPOSITION 0x400
|
||||
#Define MF_CALLBACKS 0x8000000
|
||||
#Define MF_CHANGE 0x80
|
||||
#Define MF_CHECKED 0x8
|
||||
#Define MF_CONV 0x40000000
|
||||
#Define MF_DEFAULT 0x1000
|
||||
#Define MF_DELETE 0x200
|
||||
#Define MF_DISABLED 0x2
|
||||
#Define MF_DLL_NAME "Microsoft Picture Converter"
|
||||
#Define MF_ENABLED 0x0
|
||||
#Define MF_END 0x80
|
||||
#Define MF_ERRORS 0x10000000
|
||||
#Define MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED 0x8
|
||||
#Define MF_FLAGS_EVEN_IF_NO_RESOURCE 0x1
|
||||
#Define MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE 0x4
|
||||
#Define MF_FLAGS_NO_CREATE_IF_NO_RESOURCE 0x2
|
||||
#Define MF_FPCR_FUNC 0x25
|
||||
#Define MF_FPCR_FUNC_STR "mf_fpcr"
|
||||
#Define MF_GRAYED 0x1
|
||||
#Define MF_HELP 0x4000
|
||||
#Define MF_HILITE 0x80
|
||||
#Define MF_HSZ_INFO 0x1000000
|
||||
#Define MF_INSERT 0x0
|
||||
#Define MF_LINKS 0x20000000
|
||||
#Define MF_MASK 0xFF000000
|
||||
#Define MF_MENUBARBREAK 0x20
|
||||
#Define MF_MENUBREAK 0x40
|
||||
#Define MF_MOUSESELECT 0x8000
|
||||
#Define MF_OWNERDRAW 0x100
|
||||
#Define MF_POPUP 0x10
|
||||
#Define MF_POSTMSGS 0x4000000
|
||||
#Define MF_REMOVE 0x1000
|
||||
#Define MF_RIGHTJUSTIFY 0x4000
|
||||
#Define MF_SENDMSGS 0x2000000
|
||||
#Define MF_SEPARATOR 0x800
|
||||
#Define MF_STRING 0x0
|
||||
#Define MF_SYSMENU 0x2000
|
||||
#Define MF_UNCHECKED 0x0
|
||||
#Define MF_UNHILITE 0x0
|
||||
#Define MF_USECHECKBITMAPS 0x200
|
||||
|
||||
#Define PBM_DELTAPOS 0x403 && (WM_USER+3)
|
||||
#Define PBM_GETPOS 0x408 && (WM_USER+8)
|
||||
#Define PBM_GETRANGE 0x407 && (WM_USER+7)
|
||||
#Define PBM_SETBARCOLOR 0x409 && (WM_USER + 9)
|
||||
#Define PBM_SETBKCOLOR 0x2001 && CCM_SETBKCOLOR
|
||||
#Define PBM_SETMARQUEE 0x40A && (WM_USER+10)
|
||||
#Define PBM_SETPOS 0x402 && (WM_USER+2)
|
||||
#Define PBM_SETRANGE 0x401 && (WM_USER+1)
|
||||
#Define PBM_SETRANGE32 0x406 && (WM_USER + 6)
|
||||
#Define PBM_SETSTEP 0x404 && (WM_USER + 4)
|
||||
#Define PBM_STEPIT 0x405 && (WM_USER+5)
|
||||
|
||||
#Define PBS_MARQUEE 0x8 && Comctl32.dll version 6
|
||||
#Define PBS_SMOOTH 0x1 && Comctl32.dll Version 4.7 or later
|
||||
#Define PBS_VERTICAL 0x4 && Comctl32.dll Version 4.7 or later
|
||||
|
||||
#Define PS_SOLID 0
|
||||
|
||||
#DEFINE RBS_AUTOSIZE 0x2000
|
||||
#DEFINE RBS_BANDBORDERS 0x400
|
||||
#DEFINE RBS_DBLCLKTOGGLE 0x8000
|
||||
#DEFINE RBS_FIXEDORDER 0x800
|
||||
#DEFINE RBS_REGISTERDROP 0x1000
|
||||
#DEFINE RBS_TOOLTIPS 0x100
|
||||
#DEFINE RBS_VARHEIGHT 0x200
|
||||
#DEFINE RBS_VERTICALGRIPPER 0x4000
|
||||
#DEFINE RBSTR_CHANGERECT 0x2
|
||||
#DEFINE RBSTR_PREFERNOLINEBREAK 0x1
|
||||
|
||||
#DEFINE SB_BOTH 3
|
||||
#DEFINE SB_CTL 2
|
||||
|
||||
#Define SB_GETBORDERS 0x407 && (WM_USER + 7)
|
||||
#Define SB_GETICON 0x414 && (WM_USER + 20)
|
||||
#Define SB_GETPARTS 0x406 && (WM_USER + 6)
|
||||
#Define SB_GETRECT 0x40A && (WM_USER + 10)
|
||||
#Define SB_GETTEXTA 0x402 && (WM_USER + 2)
|
||||
#Define SB_GETTEXTLENGTHA 0x403 && (WM_USER + 3)
|
||||
#Define SB_GETTEXTLENGTHW 0x40C && (WM_USER + 12)
|
||||
#Define SB_GETTEXTW 0x40D && (WM_USER + 13)
|
||||
#Define SB_GETTIPTEXTA 0x412 && (WM_USER + 18)
|
||||
#Define SB_GETTIPTEXTW 0x413 && (WM_USER + 19)
|
||||
#Define SB_GETUNICODEFORMAT 0x2006 && CCM_GETUNICODEFORMAT
|
||||
#DEFINE SB_HORZ 0
|
||||
#Define SB_ISSIMPLE 0x40E && (WM_USER + 14)
|
||||
#Define SB_SETBKCOLOR 0x2001 && CCM_SETBKCOLOR
|
||||
#Define SB_SETICON 0x40F && (WM_USER + 15)
|
||||
#Define SB_SETMINHEIGHT 0x408 && (WM_USER + 8)
|
||||
#Define SB_SETPARTS 0x404 && (WM_USER + 4)
|
||||
#Define SB_SETTEXTA 0x401 && (WM_USER + 1)
|
||||
#Define SB_SETTEXTW 0x40B && (WM_USER + 11)
|
||||
#Define SB_SETTIPTEXTA 0x410 && (WM_USER + 16)
|
||||
#Define SB_SETTIPTEXTW 0x411 && (WM_USER + 17)
|
||||
#Define SB_SETUNICODEFORMAT 0X2005 && CCM_SETUNICODEFORMAT
|
||||
#Define SB_SIMPLE 0x409 && (WM_USER + 9)
|
||||
#DEFINE SB_VERT 1
|
||||
|
||||
#DEFINE SB_LINELEFT 0
|
||||
#DEFINE SB_LINERIGHT 1
|
||||
#DEFINE SB_PAGELEFT 2
|
||||
#DEFINE SB_PAGERIGHT 3
|
||||
#DEFINE SB_THUMBPOSITION 4
|
||||
#DEFINE SB_THUMBTRACK 5
|
||||
#DEFINE SB_LEFT 6
|
||||
#DEFINE SB_RIGHT 7
|
||||
#DEFINE SB_ENDSCROLL 8
|
||||
|
||||
#DEFINE SB_LINEUP 0
|
||||
#DEFINE SB_LINEDOWN 1
|
||||
#DEFINE SB_PAGEUP 2
|
||||
#DEFINE SB_PAGEDOWN 3
|
||||
#DEFINE SB_TOP 6
|
||||
#DEFINE SB_BOTTOM 7
|
||||
|
||||
#Define SBARS_SIZEGRIP 0x100
|
||||
#Define SBARS_TOOLTIPS 0x800
|
||||
|
||||
#DEFINE SBM_ENABLE_ARROWS 0xE4
|
||||
#DEFINE SBM_GETPOS 0xE1
|
||||
#DEFINE SBM_GETRANGE 0xE3
|
||||
#DEFINE SBM_GETSCROLLBARINFO 0xEB
|
||||
#DEFINE SBM_GETSCROLLINFO 0xEA
|
||||
#DEFINE SBM_SETPOS 0xE0
|
||||
#DEFINE SBM_SETRANGE 0xE2
|
||||
#DEFINE SBM_SETRANGEREDRAW 0xE6
|
||||
#DEFINE SBM_SETSCROLLINFO 0xE9
|
||||
|
||||
#DEFINE SBS_BOTTOMALIGN 0x4
|
||||
#DEFINE SBS_HORZ 0x0
|
||||
#DEFINE SBS_LEFTALIGN 0x2
|
||||
#DEFINE SBS_RIGHTALIGN 0x4
|
||||
#DEFINE SBS_SIZEBOX 0x8
|
||||
#DEFINE SBS_SIZEBOXBOTTOMRIGHTALIGN 0x4
|
||||
#DEFINE SBS_SIZEBOXTOPLEFTALIGN 0x2
|
||||
#DEFINE SBS_SIZEGRIP 0x10
|
||||
#DEFINE SBS_TOPALIGN 0x2
|
||||
#DEFINE SBS_VERT 0x1
|
||||
|
||||
#Define SBT_NOBORDERS 0x100
|
||||
#Define SBT_NOTABPARSING 0x800
|
||||
#Define SBT_OWNERDRAW 0x1000
|
||||
#Define SBT_POPOUT 0x200
|
||||
#Define SBT_RTLREADING 0x400
|
||||
#Define SBT_TOOLTIPS 0x800
|
||||
|
||||
#Define SC_CLOSE 0xF060
|
||||
#Define SC_MAXIMIZE 0xF030
|
||||
#Define SC_MINIMIZE 0xF020
|
||||
#Define SC_MOVE 0xF010
|
||||
#Define SC_RESTORE 0xF120
|
||||
#Define SC_SEPARATOR 0xF00F
|
||||
#Define SC_SIZE 0xF000
|
||||
|
||||
#DEFINE SIF_ALL 0x17 && Bitor(SIF_RANGE, SIF_PAGE, SIF_POS, SIF_TRACKPOS)
|
||||
#DEFINE SIF_DISABLENOSCROLL 0x8
|
||||
#DEFINE SIF_PAGE 0x2
|
||||
#DEFINE SIF_POS 0x4
|
||||
#DEFINE SIF_RANGE 0x1
|
||||
#DEFINE SIF_TRACKPOS 0x10
|
||||
|
||||
#DEFINE SS_BITMAP 0xE
|
||||
#DEFINE SS_BLACKFRAME 0x7
|
||||
#DEFINE SS_BLACKRECT 0x4
|
||||
#DEFINE SS_CENTER 0x1
|
||||
#DEFINE SS_CENTERIMAGE 0x200
|
||||
#DEFINE SS_ELLIPSISMASK 0xC000
|
||||
#DEFINE SS_ENDELLIPSIS 0x4000
|
||||
#DEFINE SS_ENHMETAFILE 0xF
|
||||
#DEFINE SS_ETCHEDFRAME 0x12
|
||||
#DEFINE SS_ETCHEDHORZ 0x10
|
||||
#DEFINE SS_ETCHEDVERT 0x11
|
||||
#DEFINE SS_GRAYFRAME 0x8
|
||||
#DEFINE SS_GRAYRECT 0x5
|
||||
#DEFINE SS_ICON 0x3
|
||||
#DEFINE SS_LEFT 0x0
|
||||
#DEFINE SS_LEFTNOWORDWRAP 0xC
|
||||
#DEFINE SS_LEVEL_VERSION 0
|
||||
#DEFINE SS_MAJOR_VERSION 7
|
||||
#DEFINE SS_MINIMUM_VERSION "7.00.00.0000"
|
||||
#DEFINE SS_MINOR_VERSION 0
|
||||
#DEFINE SS_NOPREFIX 0x80
|
||||
#DEFINE SS_NOTIFY 0x100
|
||||
#DEFINE SS_OWNERDRAW 0xD
|
||||
#DEFINE SS_PATHELLIPSIS 0x8000
|
||||
#DEFINE SS_REALSIZECONTROL 0x40
|
||||
#DEFINE SS_REALSIZEIMAGE 0x800
|
||||
#DEFINE SS_RIGHT 0x2
|
||||
#DEFINE SS_RIGHTJUST 0x400
|
||||
#DEFINE SS_SIMPLE 0xB
|
||||
#DEFINE SS_SUNKEN 0x1000
|
||||
#DEFINE SS_TYPEMASK 0x1F
|
||||
#DEFINE SS_USERITEM 0xA
|
||||
#DEFINE SS_WHITEFRAME 0x9
|
||||
#DEFINE SS_WHITERECT 0x6
|
||||
#DEFINE SS_WORDELLIPSIS 0xC000
|
||||
|
||||
|
||||
|
||||
#Define SW_AUTOPROF_LOAD_MASK 0x1
|
||||
#Define SW_AUTOPROF_SAVE_MASK 0x2
|
||||
#Define SW_ERASE 0x4
|
||||
#Define SW_FORCEMINIMIZE 11
|
||||
#Define SW_HIDE 0
|
||||
#Define SW_INVALIDATE 0x2
|
||||
#Define SW_MAX 10
|
||||
#Define SW_MAXIMIZE 3
|
||||
#Define SW_MINIMIZE 6
|
||||
#Define SW_NORMAL 1
|
||||
#Define SW_OTHERUNZOOM 4
|
||||
#Define SW_OTHERZOOM 2
|
||||
#Define SW_PARENTCLOSING 1
|
||||
#Define SW_PARENTOPENING 3
|
||||
#Define SW_RESTORE 9
|
||||
#Define SW_SCROLLCHILDREN 0x1
|
||||
#Define SW_SHOW 5
|
||||
#Define SW_SHOWDEFAULT 10
|
||||
#Define SW_SHOWMAXIMIZED 3
|
||||
#Define SW_SHOWMINIMIZED 2
|
||||
#Define SW_SHOWMINNOACTIVE 7
|
||||
#Define SW_SHOWNA 8
|
||||
#Define SW_SHOWNOACTIVATE 4
|
||||
#Define SW_SHOWNORMAL 1
|
||||
|
||||
#Define SWP_FRAMECHANGED 0x20
|
||||
#Define SWP_NOMOVE 0x2
|
||||
#Define SWP_NOSIZE 0x1
|
||||
#Define SWP_NOZORDER 0x4
|
||||
|
||||
#Define TIME_NOSECONDS 0x2
|
||||
|
||||
#Define WM_ACTIVATE 0x0006
|
||||
#Define WM_ACTIVATEAPP 0x001C
|
||||
#Define WM_GETFONT 0x0031
|
||||
#DEFINE WM_HSCROLL 0x0114
|
||||
#Define WM_NCPAINT 0x0085
|
||||
#Define WM_NOTIFY 0x004E
|
||||
#Define WM_PAINT 0x000F
|
||||
#Define WM_SIZE 0x0005
|
||||
#Define WM_SYSCOLORCHANGE 0x0015
|
||||
#Define WM_THEMECHANGED 0x031A
|
||||
#Define WM_USER 0x0400
|
||||
#DEFINE WM_VSCROLL 0x0115
|
||||
|
||||
#DEFINE WS_ACTIVECAPTION 0x1
|
||||
#DEFINE WS_BORDER 0x800000
|
||||
#DEFINE WS_BORDER_BIT 23
|
||||
#DEFINE WS_CAPTION 0xC00000
|
||||
#Define WS_CHILD 0x40000000
|
||||
#DEFINE WS_CHILDWINDOW 0x40000000
|
||||
#Define WS_CLIPCHILDREN 0x2000000
|
||||
#Define WS_CLIPSIBLINGS 0x4000000
|
||||
#DEFINE WS_DISABLED 0x8000000
|
||||
#DEFINE WS_DLGFRAME 0x400000
|
||||
#Define WS_VISIBLE 0x10000000
|
||||
|
||||
#Define WS_EX_LAYOUTRTL 0x400000
|
||||
#Define WS_EX_LAYOUTRTL_BIT 22
|
||||
#Define WS_EX_LEFT 0x0
|
||||
#Define WS_EX_LTRREADING 0x0
|
||||
#Define WS_EX_NOPARENTNOTIFY 0x4
|
||||
#Define WS_EX_RIGHTSCROLLBAR 0x0
|
||||
#Define WS_EX_STATICEDGE 0x20000
|
||||
#Define WS_EX_STATICEDGE_BIT 17
|
||||
#Define WS_EX_TOPMOST 0x8
|
||||
|
||||
|
||||
#DEFINE WS_EX_ACCEPTFILES 0x10
|
||||
#DEFINE WS_EX_APPWINDOW 0x40000
|
||||
#DEFINE WS_EX_CLIENTEDGE 0x200
|
||||
#DEFINE WS_EX_CONTEXTHELP 0x400
|
||||
#DEFINE WS_EX_CONTROLPARENT 0x10000
|
||||
#DEFINE WS_EX_DLGMODALFRAME 0x1
|
||||
#DEFINE WS_EX_LAYERED 0x80000
|
||||
#DEFINE WS_EX_LEFTSCROLLBAR 0x4000
|
||||
#DEFINE WS_EX_MDICHILD 0x40
|
||||
#DEFINE WS_EX_NOACTIVATE 0x8000000
|
||||
#DEFINE WS_EX_NOINHERITLAYOUT 0x100000
|
||||
#DEFINE WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE Or WS_EX_CLIENTEDGE)
|
||||
#DEFINE WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE Or WS_EX_TOOLWINDOW Or WS_EX_TOPMOST)
|
||||
#DEFINE WS_EX_RIGHT 0x1000
|
||||
#DEFINE WS_EX_RTLREADING 0x2000
|
||||
#DEFINE WS_EX_TOOLWINDOW 0x80
|
||||
#DEFINE WS_EX_TOPMOST 0x8
|
||||
#DEFINE WS_EX_TRANSPARENT 0x20
|
||||
#DEFINE WS_EX_WINDOWEDGE 0x100
|
||||
|
||||
|
||||
|
||||
|
||||
**************************************************************************************
|
||||
* From foxpro.h
|
||||
**************************************************************************************
|
||||
|
||||
*-- Sysmetric() parameter values
|
||||
#Define SYSMETRIC_SCREENWIDTH 1 && Screen width
|
||||
#Define SYSMETRIC_SCREENHEIGHT 2 && Screen width
|
||||
#Define SYSMETRIC_SIZINGBORDERWIDTH 3 && Width of the sizing border around a resizable window
|
||||
#Define SYSMETRIC_SIZINGBORDERHEIGHT 4 && Height of the sizing border around a resizable window
|
||||
#Define SYSMETRIC_VSCROLLBARWIDTH 5 && Width of a vertical scroll bar
|
||||
#Define SYSMETRIC_VSCROLLBARHEIGHT 6 && Height of the arrow bitmap on a vertical scroll bar
|
||||
#Define SYSMETRIC_HSCROLLBARWIDTH 7 && Width of the arrow bitmap on a horizontal scroll bar
|
||||
#Define SYSMETRIC_HSCROLLBARHEIGHT 8 && Height of a horizontal scroll bar
|
||||
#Define SYSMETRIC_WINDOWTITLEHEIGHT 9 && Height of window title (caption) area
|
||||
#Define SYSMETRIC_WINDOWBORDERWIDTH 10 && Width of a window border
|
||||
#Define SYSMETRIC_WINDOWBORDERHEIGHT 11 && Height of a window border
|
||||
#Define SYSMETRIC_WINDOWFRAMEWIDTH 12 && Width of the frame around the perimeter of a window that has a caption but is not sizable
|
||||
#Define SYSMETRIC_WINDOWFRAMEHEIGHT 13 && Height of the frame around the perimeter of a window that has a caption but is not sizable
|
||||
#Define SYSMETRIC_THUMBBOXWIDTH 14 && Width of the thumb box in a horizontal scroll bar
|
||||
#Define SYSMETRIC_THUMBBOXHEIGHT 15 && Height of the thumb box in a vertical scroll bar
|
||||
#Define SYSMETRIC_ICONWIDTH 16 && Width of an icon
|
||||
#Define SYSMETRIC_ICONHEIGHT 17 && Height of an icon
|
||||
#Define SYSMETRIC_CURSORWIDTH 18 && Width of a cursor
|
||||
#Define SYSMETRIC_CURSORHEIGHT 19 && Height of a cursor
|
||||
#Define SYSMETRIC_MENUBAR 20 && Height of a single-line menu bar
|
||||
#Define SYSMETRIC_CLIENTWIDTH 21 && Width of the client area for a full-screen window
|
||||
#Define SYSMETRIC_CLIENTHEIGHT 22 && Height of the client area for a full-screen window
|
||||
#Define SYSMETRIC_KANJIWINHEIGHT 23 && Height of the Kanji window at the bottom of the screen in DBCS versions
|
||||
#Define SYSMETRIC_MINDRAGWIDTH 24 && Minimum tracking width of a window. (The user cannot drag the window frame to a size smaller than this)
|
||||
#Define SYSMETRIC_MINDRAGHEIGHT 25 && Minimum tracking height of a window. (The user cannot drag the window frame to a size smaller than this)
|
||||
#Define SYSMETRIC_MINWINDOWWIDTH 26 && Minimum width of a window
|
||||
#Define SYSMETRIC_MINWINDOWHEIGHT 27 && Minimum height of a window
|
||||
#Define SYSMETRIC_TITLEBARBUTTONWIDTH 28 && Width of a title bar button
|
||||
#Define SYSMETRIC_TITLEBARBUTTONHEIGHT 29 && Height of a title bar button
|
||||
#Define SYSMETRIC_MOUSEPRESENT 30 && Is mouse present? 1 => mouse is installed, 0 => no mouse is installed
|
||||
#Define SYSMETRIC_DEBUGVERSION 31 && Is this a debug version? 1 => debug version, 0 => retail version
|
||||
#Define SYSMETRIC_MOUSEBUTTONSWAP 32 && Are mouse buttons swapped? 1 => Yes, 0 => No
|
||||
#Define SYSMETRIC_HALFHEIGHTBUTTONWIDTH 33 && Width of a button in a half-height title bar
|
||||
#Define SYSMETRIC_HALFHEIGHTBUTTONHEIGHT 34 && Height of a button in a half-height title bar
|
||||
|
||||
*-- Window Borders
|
||||
#Define BORDER_NONE 0
|
||||
#Define BORDER_SINGLE 1
|
||||
#Define BORDER_DOUBLE 2
|
||||
#Define BORDER_SYSTEM 3
|
||||
|
||||
*-- WindowState
|
||||
#Define WINDOWSTATE_NORMAL 0 && Normal
|
||||
#Define WINDOWSTATE_MINIMIZED 1 && Minimized
|
||||
#Define WINDOWSTATE_MAXIMIZED 2 && Maximized
|
||||
|
||||
*-- Toolbar and Form Docking Positions
|
||||
#Define TOOL_NOTDOCKED -1
|
||||
#Define TOOL_TOP 0
|
||||
#Define TOOL_LEFT 1
|
||||
#Define TOOL_RIGHT 2
|
||||
#Define TOOL_BOTTOM 3
|
||||
#Define TOOL_TAB 4
|
||||
#Define TOOL_LINK 5
|
||||
|
||||
*-- TYPE() tags
|
||||
#Define T_CHARACTER "C"
|
||||
#Define T_NUMERIC "N"
|
||||
#Define T_DOUBLE "B"
|
||||
#Define T_DATE "D"
|
||||
#Define T_DATETIME "T"
|
||||
#Define T_MEMO "M"
|
||||
#Define T_GENERAL "G"
|
||||
#Define T_OBJECT "O"
|
||||
#Define T_SCREEN "S"
|
||||
#Define T_LOGICAL "L"
|
||||
#Define T_CURRENCY "Y"
|
||||
#Define T_UNDEFINED "U"
|
||||
#Define T_INTEGER "N"
|
||||
#Define T_VARCHAR "C"
|
||||
#Define T_VARBINARY "Q"
|
||||
#Define T_BLOB "W"
|
||||
|
||||
*-- Button parameter masks
|
||||
#Define BUTTON_LEFT 1
|
||||
#Define BUTTON_RIGHT 2
|
||||
#Define BUTTON_MIDDLE 4
|
||||
|
||||
*-- Function Parameters
|
||||
*-- MessageBox parameters
|
||||
#Define MB_OK 0 && OK button only
|
||||
#Define MB_OKCANCEL 1 && OK and Cancel buttons
|
||||
#Define MB_ABORTRETRYIGNORE 2 && Abort, Retry, and Ignore buttons
|
||||
#Define MB_YESNOCANCEL 3 && Yes, No, and Cancel buttons
|
||||
#Define MB_YESNO 4 && Yes and No buttons
|
||||
#Define MB_RETRYCANCEL 5 && Retry and Cancel buttons
|
||||
|
||||
#Define MB_ICONSTOP 16 && Critical message
|
||||
#Define MB_ICONQUESTION 32 && Warning query
|
||||
#Define MB_ICONEXCLAMATION 48 && Warning message
|
||||
#Define MB_ICONINFORMATION 64 && Information message
|
||||
|
||||
#Define MB_APPLMODAL 0 && Application modal message box
|
||||
#Define MB_DEFBUTTON1 0 && First button is default
|
||||
#Define MB_DEFBUTTON2 256 && Second button is default
|
||||
#Define MB_DEFBUTTON3 512 && Third button is default
|
||||
#Define MB_SYSTEMMODAL 4096 && System Modal
|
||||
|
||||
#Define LANG_NEUTRAL 0x00
|
||||
|
||||
#Define LANG_AFRIKAANS 0x36
|
||||
#Define LANG_ALBANIAN 0x1c
|
||||
#Define LANG_ARABIC 0x01
|
||||
#Define LANG_BASQUE 0x2d
|
||||
#Define LANG_BELARUSIAN 0x23
|
||||
#Define LANG_BULGARIAN 0x02
|
||||
#Define LANG_CATALAN 0x03
|
||||
#Define LANG_CHINESE 0x04
|
||||
#Define LANG_CROATIAN 0x1a
|
||||
#Define LANG_CZECH 0x05
|
||||
#Define LANG_DANISH 0x06
|
||||
#Define LANG_DUTCH 0x13
|
||||
#Define LANG_ENGLISH 0x09
|
||||
#Define LANG_ESTONIAN 0x25
|
||||
#Define LANG_FAEROESE 0x38
|
||||
#Define LANG_FARSI 0x29
|
||||
#Define LANG_FINNISH 0x0b
|
||||
#Define LANG_FRENCH 0x0c
|
||||
#Define LANG_GERMAN 0x07
|
||||
#Define LANG_GREEK 0x08
|
||||
#Define LANG_HEBREW 0x0d
|
||||
#Define LANG_HUNGARIAN 0x0e
|
||||
#Define LANG_ICELANDIC 0x0f
|
||||
#Define LANG_INDONESIAN 0x21
|
||||
#Define LANG_ITALIAN 0x10
|
||||
#Define LANG_JAPANESE 0x11
|
||||
#Define LANG_KOREAN 0x12
|
||||
#Define LANG_LATVIAN 0x26
|
||||
#Define LANG_LITHUANIAN 0x27
|
||||
#Define LANG_NORWEGIAN 0x14
|
||||
#Define LANG_POLISH 0x15
|
||||
#Define LANG_PORTUGUESE 0x16
|
||||
#Define LANG_ROMANIAN 0x18
|
||||
#Define LANG_RUSSIAN 0x19
|
||||
#Define LANG_SERBIAN 0x1a
|
||||
#Define LANG_SLOVAK 0x1b
|
||||
#Define LANG_SLOVENIAN 0x24
|
||||
#Define LANG_SPANISH 0x0a
|
||||
#Define LANG_SWEDISH 0x1d
|
||||
#Define LANG_THAI 0x1e
|
||||
#Define LANG_TURKISH 0x1f
|
||||
#Define LANG_UKRAINIAN 0x22
|
||||
#Define LANG_VIETNAMESE 0x2a
|
||||
BIN
COMUN/utile/hpdf/ReportOutput/ctl32_progressbar_old.vct
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/ctl32_progressbar_old.vct
Normal file
Binary file not shown.
BIN
COMUN/utile/hpdf/ReportOutput/ctl32_progressbar_old.vcx
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/ctl32_progressbar_old.vcx
Normal file
Binary file not shown.
416
COMUN/utile/hpdf/ReportOutput/foxpro_reporting.h
Normal file
416
COMUN/utile/hpdf/ReportOutput/foxpro_reporting.h
Normal file
@@ -0,0 +1,416 @@
|
||||
** Visual FoxPro Named Constant File **
|
||||
|
||||
* revisions/additions to FOXPRO.H specific to reporting
|
||||
|
||||
* SYS(2040) values
|
||||
#DEFINE REPORTENGINE_STATUS_INACTIVE 0
|
||||
#DEFINE REPORTENGINE_STATUS_PREVIEW 1
|
||||
#DEFINE REPORTENGINE_STATUS_RUNNING 2
|
||||
|
||||
* STRCONV() values -- there are others,
|
||||
* these are the ones of significance
|
||||
* in object-assisted reporting
|
||||
#DEFINE STRCONV_DBCS_UNICODE 5
|
||||
#DEFINE STRCONV_UNICODE_DBCS 6
|
||||
#DEFINE STRCONV_DBCS_UTF8 9
|
||||
#DEFINE STRCONV_UNICODE_UTF8 10
|
||||
|
||||
#DEFINE STRCONV_REGIONTYPE_LOCALE 0
|
||||
#DEFINE STRCONV_REGIONTYPE_CODEPAGE 1
|
||||
#DEFINE STRCONV_REGIONTYPE_FONTCHARSET 2
|
||||
|
||||
*-- FRX report builder constants
|
||||
*-- FRX Report Builder return flags
|
||||
#define FRX_REPBLDR_IGNORE_EVENT 0
|
||||
#define FRX_REPBLDR_HANDLE_EVENT 1
|
||||
#define FRX_REPBLDR_DISCARD_CHANGES 0
|
||||
#define FRX_REPBLDR_RELOAD_CHANGES 2
|
||||
|
||||
*-- FRX Report Builder event types
|
||||
#define FRX_BLDR_EVENT_PROPERTIES 1
|
||||
#define FRX_BLDR_EVENT_OBJECTCREATE 2
|
||||
#define FRX_BLDR_EVENT_OBJECTREMOVE 4
|
||||
#define FRX_BLDR_EVENT_OBJECTPASTE 5
|
||||
#define FRX_BLDR_EVENT_REPORTSAVE 6
|
||||
#define FRX_BLDR_EVENT_REPORTOPEN 7
|
||||
#define FRX_BLDR_EVENT_REPORTCLOSE 8
|
||||
#define FRX_BLDR_EVENT_DATAENV 9
|
||||
#define FRX_BLDR_EVENT_PREVIEWMODE 10
|
||||
#define FRX_BLDR_EVENT_OPTIONALBANDS 11
|
||||
#define FRX_BLDR_EVENT_DATAGROUPING 12
|
||||
#define FRX_BLDR_EVENT_VARIABLES 13
|
||||
#define FRX_BLDR_EVENT_EDITINPLACE 14
|
||||
#define FRX_BLDR_EVENT_SETGRIDSCALE 15
|
||||
#define FRX_BLDR_EVENT_OBJECTDROP 16
|
||||
#define FRX_BLDR_EVENT_IMPORTDE 17
|
||||
#define FRX_BLDR_EVENT_PRINT 18
|
||||
#define FRX_BLDR_EVENT_QUICKREPORT 19
|
||||
|
||||
*-- FRX object Protection flags.
|
||||
*-- These are bit numbers or powers of 2.
|
||||
*-- not numeric values. They are stored
|
||||
*-- in the ORDER column as a character
|
||||
*-- representation of the sum of their
|
||||
*-- binary equivalent values.)
|
||||
#define FRX_PROTECT_OBJECT_LOCK 0
|
||||
#define FRX_PROTECT_OBJECT_HIDE 1
|
||||
#define FRX_PROTECT_OBJECT_NO_DELETE 2
|
||||
#define FRX_PROTECT_OBJECT_NO_EDIT 3
|
||||
#define FRX_PROTECT_OBJECT_NO_SELECT 6
|
||||
#define FRX_PROTECT_BAND_NO_EDIT 4
|
||||
#define FRX_PROTECT_BAND_NO_RESIZE 14
|
||||
#define FRX_PROTECT_REPORT_NO_PREVIEW 7
|
||||
#define FRX_PROTECT_REPORT_NO_OPTBAND 8
|
||||
#define FRX_PROTECT_REPORT_NO_GROUP 9
|
||||
#define FRX_PROTECT_REPORT_NO_VARIABLES 10
|
||||
#define FRX_PROTECT_REPORT_NO_PAGESETUP 11
|
||||
#define FRX_PROTECT_REPORT_NO_MULTISELECT 12
|
||||
#define FRX_PROTECT_REPORT_NO_DATAENV 13
|
||||
#define FRX_PROTECT_REPORT_NO_PRINT 15
|
||||
#define FRX_PROTECT_REPORT_NO_QUICKREPORT 16
|
||||
|
||||
*-- FRX report structure constants
|
||||
*-- FRX PLATFORM column values
|
||||
#define FRX_PLATFORM_WINDOWS "WINDOWS"
|
||||
|
||||
*-- FRX OBJTYPE column values
|
||||
#define FRX_OBJTYP_COMMENT 0
|
||||
#define FRX_OBJTYP_REPORTHEADER 1
|
||||
#define FRX_OBJTYP_WORKAREA 2
|
||||
#define FRX_OBJTYP_INDEX 3
|
||||
#define FRX_OBJTYP_RELATION 4
|
||||
#define FRX_OBJTYP_LABEL 5
|
||||
#define FRX_OBJTYP_LINE 6
|
||||
#define FRX_OBJTYP_RECTANGLE 7
|
||||
#define FRX_OBJTYP_FIELD 8
|
||||
#define FRX_OBJTYP_BAND 9
|
||||
#define FRX_OBJTYP_GROUP 10
|
||||
#define FRX_OBJTYP_PICTURE 17
|
||||
#define FRX_OBJTYP_VARIABLE 18
|
||||
#define FRX_OBJTYP_PDRIVER 21
|
||||
#define FRX_OBJTYP_FONTRES 23
|
||||
#define FRX_OBJTYP_DATAENV 25
|
||||
#define FRX_OBJTYP_DATAOBJ 26
|
||||
|
||||
*-- FRX OBJCODE column values
|
||||
#define FRX_OBJCOD_TITLE 0
|
||||
#define FRX_OBJCOD_PAGEHEADER 1
|
||||
#define FRX_OBJCOD_COLHEADER 2
|
||||
#define FRX_OBJCOD_GROUPHEADER 3
|
||||
#define FRX_OBJCOD_DETAIL 4
|
||||
#define FRX_OBJCOD_GROUPFOOTER 5
|
||||
#define FRX_OBJCOD_COLFOOTER 6
|
||||
#define FRX_OBJCOD_PAGEFOOTER 7
|
||||
#define FRX_OBJCOD_SUMMARY 8
|
||||
#define FRX_OBJCOD_DETAILHEADER 9
|
||||
#define FRX_OBJCOD_DETAILFOOTER 10
|
||||
#define FRX_OBJCOD_RECTANGLE 4
|
||||
#define FRX_OBJCOD_REPORTHEADER 53
|
||||
#define FRX_OBJCOD_OTHER 0
|
||||
|
||||
*-- FRX PENSIZE column values
|
||||
#define FRX_PENSIZE_HAIRLINE 0
|
||||
#define FRX_PENSIZE_1POINTS 1
|
||||
#define FRX_PENSIZE_2POINTS 2
|
||||
#define FRX_PENSIZE_4POINTS 4
|
||||
#define FRX_PENSIZE_6POINTS 6
|
||||
|
||||
*-- FRX PENPAT column values
|
||||
#define FRX_PENPAT_NONE 0
|
||||
#define FRX_PENPAT_DOTTED 1
|
||||
#define FRX_PENPAT_DASHED 2
|
||||
#define FRX_PENPAT_DASHDOT 3
|
||||
#define FRX_PENPAT_DASHDOTDOT 4
|
||||
#define FRX_PENPAT_SOLID 8
|
||||
|
||||
*-- FRX FILLPAT column values
|
||||
#define FRX_FILLPAT_NONE 0
|
||||
#define FRX_FILLPAT_SOLID 1
|
||||
#define FRX_FILLPAT_HORIZONTAL 2
|
||||
#define FRX_FILLPAT_VERTICAL 3
|
||||
#define FRX_FILLPAT_LEFTDIAGONAL 4
|
||||
#define FRX_FILLPAT_RIGHTDIAGONAL 5
|
||||
#define FRX_FILLPAT_GRID 6
|
||||
#define FRX_FILLPAT_CROSSHATCH 7
|
||||
|
||||
*-- FRX FONTSTYLE column flags (sum to obtain value)
|
||||
#define FRX_FONTSTYLE_NORMAL 0
|
||||
#define FRX_FONTSTYLE_BOLD 1
|
||||
#define FRX_FONTSTYLE_ITALIC 2
|
||||
#define FRX_FONTSTYLE_UNDERLINED 4
|
||||
#define FRX_FONTSTYLE_STRIKETHROUGH 128
|
||||
|
||||
*-- FRX MODE column flags (sum to obtain value)
|
||||
#define FRX_MODE_OPAQUE 0
|
||||
#define FRX_MODE_TRANSPARENT 1
|
||||
#define FRX_MODE_LTR 0 && Left-to-Right
|
||||
#define FRX_MODE_RTL 2 && Right-to-Left
|
||||
#define FRX_MODE_CONTEXT 4
|
||||
|
||||
*-- FRX RULER column / measurement units
|
||||
#define FRX_RULER_OFF 0
|
||||
#define FRX_RULER_INCHES 1
|
||||
#define FRX_RULER_METRIC 2
|
||||
#define FRX_RULER_PIXELS 3
|
||||
#define FRX_RULER_CHARACTERS 4
|
||||
#define FRX_RULER_SYSDEFAULT 5
|
||||
|
||||
*-- FRX RULERLINES column values
|
||||
*-- (header record)
|
||||
#define FRX_RULERLINES_OFF 0
|
||||
#define FRX_RULERLINES_ON 1
|
||||
|
||||
*-- (String trimming for OBJTYPE=8 records)
|
||||
#define FRX_STRINGTRIM_DEFAULT 0
|
||||
#define FRX_STRINGTRIM_CHAR 1
|
||||
#define FRX_STRINGTRIM_WORD 2
|
||||
#define FRX_STRINGTRIM_ELLIPSIS_CHAR 3
|
||||
#define FRX_STRINGTRIM_ELLIPSIS_WORD 4
|
||||
#define FRX_STRINGTRIM_ELLIPSIS_PATH 5
|
||||
|
||||
*-- FRX GENERAL column values for RECTANGLE/SHAPEs
|
||||
#define FRX_PICTUREMODE_CLIP 0
|
||||
#define FRX_PICTUREMODE_SCALE_KEEP_SHAPE 1
|
||||
#define FRX_PICTUREMODE_SCALE_STRETCH 2
|
||||
|
||||
*-- FRX SPACING column, line spacing values for LABEL objects:
|
||||
#define FRX_SPACING_SINGLE 0
|
||||
#define FRX_SPACING_ONE_POINT_FIVE 1
|
||||
#define FRX_SPACING_DOUBLE 2
|
||||
|
||||
*-- FRX Field object justification (OFFSET column)
|
||||
#define FRX_JUSTIFICATION_LEFT 0
|
||||
#define FRX_JUSTIFICATION_RIGHT 1
|
||||
#define FRX_JUSTIFICATION_CENTER 2
|
||||
|
||||
*-- FRX Picture object source type (OFFSET column)
|
||||
#define FRX_PICTURE_SOURCE_FILENAME 0 && stored in PICTURE column
|
||||
#define FRX_PICTURE_SOURCE_GENERAL 1 && stored in NAME column
|
||||
#define FRX_PICTURE_SOURCE_EXPRESSION 2 && stored in NAME column
|
||||
|
||||
*-- FRX TOTALTYPE column calculation types
|
||||
#define FRX_TOTALTYPE_NONE 0
|
||||
#define FRX_TOTALTYPE_COUNT 1
|
||||
#define FRX_TOTALTYPE_SUM 2
|
||||
#define FRX_TOTALTYPE_AVERAGE 3
|
||||
#define FRX_TOTALTYPE_LOWEST 4
|
||||
#define FRX_TOTALTYPE_HIGHEST 5
|
||||
#define FRX_TOTALTYPE_STDDEV 6
|
||||
#define FRX_TOTALTYPE_VARIANCE 7
|
||||
|
||||
*-- FRX RESETTOTAL column values
|
||||
#define FRX_RESETTOTAL_ENDOFREPORT 1
|
||||
#define FRX_RESETTOTAL_ENDOFPAGE 2
|
||||
#define FRX_RESETTOTAL_ENDOFCOLUMN 3
|
||||
#define FRX_RESETTOTAL_GROUP_OFFSET 5 && add to group index
|
||||
#define FRX_RESETTOTAL_DETAIL_OFFSET 79 && add to detail band index
|
||||
|
||||
* ReportListener baseclass constants
|
||||
|
||||
#DEFINE LISTENER_TYPE_DEF -1
|
||||
#DEFINE LISTENER_TYPE_PRN 0
|
||||
#DEFINE LISTENER_TYPE_PRV 1
|
||||
#DEFINE LISTENER_TYPE_PAGED 2
|
||||
#DEFINE LISTENER_TYPE_ALLPGS 3
|
||||
|
||||
#DEFINE LISTENER_CONTINUATION_NONE 0
|
||||
#DEFINE LISTENER_CONTINUATION_START 1
|
||||
#DEFINE LISTENER_CONTINUATION_MIDDLE 2
|
||||
#DEFINE LISTENER_CONTINUATION_END 3
|
||||
|
||||
#DEFINE LISTENER_DEVICE_TYPE_NONE -1
|
||||
#DEFINE LISTENER_DEVICE_TYPE_HDC 0
|
||||
#DEFINE LISTENER_DEVICE_TYPE_GRF 1
|
||||
#DEFINE LISTENER_DEVICE_TYPE_CTL 2
|
||||
#DEFINE LISTENER_DEVICE_TYPE_EMF 100
|
||||
#DEFINE LISTENER_DEVICE_TYPE_TIF 101
|
||||
#DEFINE LISTENER_DEVICE_TYPE_JPG 102
|
||||
#DEFINE LISTENER_DEVICE_TYPE_GIF 103
|
||||
#DEFINE LISTENER_DEVICE_TYPE_PNG 104
|
||||
#DEFINE LISTENER_DEVICE_TYPE_BMP 105
|
||||
#DEFINE LISTENER_DEVICE_TYPE_MTIF 201
|
||||
|
||||
#DEFINE LISTENER_SEND_GDI_IMAGE_NONE 0
|
||||
#DEFINE LISTENER_SEND_GDI_IMAGE_HANDLE 1
|
||||
|
||||
#DEFINE LISTENER_PREPASS 0
|
||||
#DEFINE LISTENER_FULLPASS 1
|
||||
|
||||
* subset of existing FOXPRO.H used in reportoutput app and classes
|
||||
|
||||
*-- DrawMode
|
||||
#DEFINE DRAWMODE_BLACKNESS 1 && 1 - Blackness
|
||||
#DEFINE DRAWMODE_NOT_MERGE_PEN 2 && 2 - Not Merge Pen
|
||||
#DEFINE DRAWMODE_MASK_NOT_PEN 3 && 3 - Mask Not Pen
|
||||
#DEFINE DRAWMODE_NOT_COPY_PEN 4 && 4 - Not Copy Pen
|
||||
#DEFINE DRAWMODE_MASK_PEN_NOT 5 && 5 - Mask Pen Not
|
||||
#DEFINE DRAWMODE_INVERT 6 && 6 - Invert
|
||||
#DEFINE DRAWMODE_XOR_PEN 7 && 7 - Xor Pen
|
||||
#DEFINE DRAWMODE_NOT_MASK_PEN 8 && 8 - Not Mask Pen
|
||||
#DEFINE DRAWMODE_MASK_PEN 9 && 9 - Mask Pen
|
||||
#DEFINE DRAWMODE_NOT_XOR_PEN 10 && 10 - Not Xor Pen
|
||||
#DEFINE DRAWMODE_NOP 11 && 11 - Nop
|
||||
#DEFINE DRAWMODE_MERGE_NOT_PEN 12 && 12 - Merge Not Pen
|
||||
#DEFINE DRAWMODE_COPY_PEN 13 && 13 - Copy Pen
|
||||
#DEFINE DRAWMODE_MERGE_PEN_NOT 14 && 14 - Merge Pen Not
|
||||
#DEFINE DRAWMODE_MERGE_PEN 15 && 15 - Merge Pen
|
||||
#DEFINE DRAWMODE_WHITENESS 16 && 16 - Whiteness
|
||||
|
||||
*-- DrawStyle
|
||||
#DEFINE DRAWSTYLE_SOLID 0 && 0 - Solid
|
||||
#DEFINE DRAWSTYLE_DASH 1 && 1 - Dash
|
||||
#DEFINE DRAWSTYLE_DOT 2 && 2 - Dot
|
||||
#DEFINE DRAWSTYLE_DASH_DOT 3 && 3 - Dash-Dot
|
||||
#DEFINE DRAWSTYLE_DASH_DOT_DOT 4 && 4 - Dash-Dot-Dot
|
||||
#DEFINE DRAWSTYLE_INVISIBLE 5 && 5 - Invisible
|
||||
#DEFINE DRAWSTYLE_INSIDE_SOLID 6 && 6 - Inside Solid
|
||||
|
||||
*-- FillStyle
|
||||
#DEFINE FILLSTYLE_SOLID 0 && 0 - Solid
|
||||
#DEFINE FILLSTYLE_TRANSPARENT 1 && 1 - Transparent
|
||||
#DEFINE FILLSTYLE_HORIZONTAL_LINE 2 && 2 - Horizontal Line
|
||||
#DEFINE FILLSTYLE_VERTICAL_LINE 3 && 3 - Vertical Line
|
||||
#DEFINE FILLSTYLE_UPWARD_DIAGONAL 4 && 4 - Upward Diagonal
|
||||
#DEFINE FILLSTYLE_DOWNWARD_DIAGONAL 5 && 5 - Downward Diagonal
|
||||
#DEFINE FILLSTYLE_CROSS 6 && 6 - Cross
|
||||
#DEFINE FILLSTYLE_DIAGONAL_CROSS 7 && 7 - Diagonal Cross
|
||||
|
||||
*-- ScaleMode
|
||||
#DEFINE SCALEMODE_PIXELS 3 && 3 - Pixel
|
||||
#DEFINE SCALEMODE_FOXELS 0 && 0 - Foxels
|
||||
|
||||
*-- Window Borders
|
||||
#DEFINE BORDER_NONE 0
|
||||
#DEFINE BORDER_SINGLE 1
|
||||
#DEFINE BORDER_DOUBLE 2
|
||||
#DEFINE BORDER_SYSTEM 3
|
||||
|
||||
*-- Button parameter masks
|
||||
#DEFINE BUTTON_LEFT 1
|
||||
#DEFINE BUTTON_RIGHT 2
|
||||
#DEFINE BUTTON_MIDDLE 4
|
||||
|
||||
*-- Function Parameters
|
||||
*-- MessageBox parameters
|
||||
#DEFINE MB_OK 0 && OK button only
|
||||
#DEFINE MB_OKCANCEL 1 && OK and Cancel buttons
|
||||
#DEFINE MB_ABORTRETRYIGNORE 2 && Abort, Retry, and Ignore buttons
|
||||
#DEFINE MB_YESNOCANCEL 3 && Yes, No, and Cancel buttons
|
||||
#DEFINE MB_YESNO 4 && Yes and No buttons
|
||||
#DEFINE MB_RETRYCANCEL 5 && Retry and Cancel buttons
|
||||
|
||||
#DEFINE MB_ICONSTOP 16 && Critical message
|
||||
#DEFINE MB_ICONQUESTION 32 && Warning query
|
||||
#DEFINE MB_ICONEXCLAMATION 48 && Warning message
|
||||
#DEFINE MB_ICONINFORMATION 64 && Information message
|
||||
|
||||
#DEFINE MB_APPLMODAL 0 && Application modal message box
|
||||
#DEFINE MB_DEFBUTTON1 0 && First button is default
|
||||
#DEFINE MB_DEFBUTTON2 256 && Second button is default
|
||||
#DEFINE MB_DEFBUTTON3 512 && Third button is default
|
||||
#DEFINE MB_SYSTEMMODAL 4096 && System Modal
|
||||
|
||||
*-- MsgBox return values
|
||||
#DEFINE IDOK 1 && OK button pressed
|
||||
#DEFINE IDCANCEL 2 && Cancel button pressed
|
||||
#DEFINE IDABORT 3 && Abort button pressed
|
||||
#DEFINE IDRETRY 4 && Retry button pressed
|
||||
#DEFINE IDIGNORE 5 && Ignore button pressed
|
||||
#DEFINE IDYES 6 && Yes button pressed
|
||||
#DEFINE IDNO 7 && No button pressed
|
||||
|
||||
*-- Sysmetric() parameter values
|
||||
#DEFINE SYSMETRIC_SCREENWIDTH 1 && Screen width
|
||||
#DEFINE SYSMETRIC_SCREENHEIGHT 2 && Screen width
|
||||
|
||||
*-- PRTINFO() Constants
|
||||
*-- PRTINFO() Valid types to pass
|
||||
#DEFINE PRT_ORIENTATION 1
|
||||
#DEFINE PRT_PAPERSIZE 2
|
||||
#DEFINE PRT_PAPERLENGTH 3
|
||||
#DEFINE PRT_PAPERWIDTH 4
|
||||
#DEFINE PRT_SCALE 5
|
||||
#DEFINE PRT_COPIES 6
|
||||
#DEFINE PRT_DEFASOURCE 7
|
||||
#DEFINE PRT_PRINTQUAL 8
|
||||
#DEFINE PRT_COLOR 9
|
||||
#DEFINE PRT_DUPLEX 10
|
||||
#DEFINE PRT_YRESOLUTION 11
|
||||
#DEFINE PRT_TTOPTION 12
|
||||
#DEFINE PRT_COLLATE 13
|
||||
|
||||
*--PRTINFO() Return types
|
||||
*-- Paper sizes
|
||||
#DEFINE PRTPAPER_LETTER 1 && Letter 8 1/2 x 11 in
|
||||
#DEFINE PRTPAPER_LETTERSMALL 2 && Letter Small 8 1/2 x 11 in
|
||||
#DEFINE PRTPAPER_TABLOID 3 && Tabloid 11 x 17 in
|
||||
#DEFINE PRTPAPER_LEDGER 4 && Ledger 17 x 11 in
|
||||
#DEFINE PRTPAPER_LEGAL 5 && Legal 8 1/2 x 14 in
|
||||
#DEFINE PRTPAPER_STATEMENT 6 && Statement 5 1/2 x 8 1/2 in
|
||||
#DEFINE PRTPAPER_EXECUTIVE 7 && Executive 7 1/4 x 10 1/2 in
|
||||
#DEFINE PRTPAPER_A3 8 && A3 297 x 420 mm
|
||||
#DEFINE PRTPAPER_A4 9 && A4 210 x 297 mm
|
||||
#DEFINE PRTPAPER_A4SMALL 10 && A4 Small 210 x 297 mm
|
||||
#DEFINE PRTPAPER_A5 11 && A5 148 x 210 mm
|
||||
#DEFINE PRTPAPER_B4 12 && B4 250 x 354
|
||||
#DEFINE PRTPAPER_B5 13 && B5 182 x 257 mm
|
||||
#DEFINE PRTPAPER_FOLIO 14 && Folio 8 1/2 x 13 in
|
||||
#DEFINE PRTPAPER_QUARTO 15 && Quarto 215 x 275 mm
|
||||
#DEFINE PRTPAPER_10X14 16 && 10x14 in
|
||||
#DEFINE PRTPAPER_11X17 17 && 11x17 in
|
||||
#DEFINE PRTPAPER_NOTE 18 && Note 8 1/2 x 11 in
|
||||
#DEFINE PRTPAPER_ENV_9 19 && Envelope #9 3 7/8 x 8 7/8
|
||||
#DEFINE PRTPAPER_ENV_10 20 && Envelope #10 4 1/8 x 9 1/2
|
||||
#DEFINE PRTPAPER_ENV_11 21 && Envelope #11 4 1/2 x 10 3/8
|
||||
#DEFINE PRTPAPER_ENV_12 22 && Envelope #12 4 \276 x 11
|
||||
#DEFINE PRTPAPER_ENV_14 23 && Envelope #14 5 x 11 1/2
|
||||
#DEFINE PRTPAPER_CSHEET 24 && C size sheet
|
||||
#DEFINE PRTPAPER_DSHEET 25 && D size sheet
|
||||
#DEFINE PRTPAPER_ESHEET 26 && E size sheet
|
||||
#DEFINE PRTPAPER_ENV_DL 27 && Envelope DL 110 x 220mm
|
||||
#DEFINE PRTPAPER_ENV_C5 28 && Envelope C5 162 x 229 mm
|
||||
#DEFINE PRTPAPER_ENV_C3 29 && Envelope C3 324 x 458 mm
|
||||
#DEFINE PRTPAPER_ENV_C4 30 && Envelope C4 229 x 324 mm
|
||||
#DEFINE PRTPAPER_ENV_C6 31 && Envelope C6 114 x 162 mm
|
||||
#DEFINE PRTPAPER_ENV_C65 32 && Envelope C65 114 x 229 mm
|
||||
#DEFINE PRTPAPER_ENV_B4 33 && Envelope B4 250 x 353 mm
|
||||
#DEFINE PRTPAPER_ENV_B5 34 && Envelope B5 176 x 250 mm
|
||||
#DEFINE PRTPAPER_ENV_B6 35 && Envelope B6 176 x 125 mm
|
||||
#DEFINE PRTPAPER_ENV_ITALY 36 && Envelope 110 x 230 mm
|
||||
#DEFINE PRTPAPER_ENV_MONARCH 37 && Envelope Monarch 3.875 x 7.5 in
|
||||
#DEFINE PRTPAPER_ENV_PERSONAL 38 && 6 3/4 Envelope 3 5/8 x 6 1/2 in
|
||||
#DEFINE PRTPAPER_FANFOLD_US 39 && US Std Fanfold 14 7/8 x 11 in
|
||||
#DEFINE PRTPAPER_FANFOLD_STD_GERMAN 40 && German Std Fanfold 8 1/2 x 12 in
|
||||
#DEFINE PRTPAPER_FANFOLD_LGL_GERMAN 41 && German Legal Fanfold 8 1/2 x 13 in
|
||||
|
||||
*-- Paper bins
|
||||
#DEFINE PRTBIN_UPPER 1
|
||||
#DEFINE PRTBIN_ONLYONE 1
|
||||
#DEFINE PRTBIN_LOWER 2
|
||||
#DEFINE PRTBIN_MIDDLE 3
|
||||
#DEFINE PRTBIN_MANUAL 4
|
||||
#DEFINE PRTBIN_ENVELOPE 5
|
||||
#DEFINE PRTBIN_ENVMANUAL 6
|
||||
#DEFINE PRTBIN_AUTO 7
|
||||
#DEFINE PRTBIN_TRACTOR 8
|
||||
#DEFINE PRTBIN_SMALLFMT 9
|
||||
#DEFINE PRTBIN_LARGEFMT 10
|
||||
#DEFINE PRTBIN_LARGECAPACITY 11
|
||||
#DEFINE PRTBIN_CASSETTE 14
|
||||
#DEFINE PRTBIN_AUTOSELECT 15
|
||||
|
||||
*-- Print qualities
|
||||
#DEFINE PRTRES_DRAFT -1
|
||||
#DEFINE PRTRES_LOW -2
|
||||
#DEFINE PRTRES_MEDIUM -3
|
||||
#DEFINE PRTRES_HIGH -4
|
||||
|
||||
*-- Color printer
|
||||
#DEFINE PRTCOLOR_MONOCHROME 1
|
||||
#DEFINE PRTCOLOR_COLOR 2
|
||||
|
||||
*-- Duplexing
|
||||
#DEFINE PRTDUP_SIMPLEX 1
|
||||
#DEFINE PRTDUP_VERTICAL 2
|
||||
#DEFINE PRTDUP_HORIZONTAL 3
|
||||
|
||||
600
COMUN/utile/hpdf/ReportOutput/frxoutput.prg
Normal file
600
COMUN/utile/hpdf/ReportOutput/frxoutput.prg
Normal file
@@ -0,0 +1,600 @@
|
||||
* REPORTOUTPUT WRAPPER PRG
|
||||
|
||||
#INCLUDE REPORTOUTPUT.H
|
||||
|
||||
LPARAMETERS m.tvType, m.tvReference, m.tvUnload
|
||||
|
||||
EXTERNAL TABLE OUTPUTAPP_INTERNALDBF
|
||||
|
||||
LOCAL m.oTemp, m.iType, m.iIndex, m.cType, m.cConfigTable, ;
|
||||
m.lSuccess, m.lSetTalkBackOn, m.lSafety, m.cFilter, m.cClass, m.cLib, m.cModule, ;
|
||||
m.oConfig, m.oError, m.lStringVar, m.lObjectMember, m.iParams, ;
|
||||
m.iUnload, m.iSelect, m.iSession, m.lSetTalkBackOnDefaultSession, m.vReturn, ;
|
||||
m.oSH
|
||||
|
||||
IF (SET("TALK") = "ON")
|
||||
SET TALK OFF
|
||||
m.lSetTalkBackOn = .T.
|
||||
ENDIF
|
||||
|
||||
m.iParams = PARAMETERS()
|
||||
m.iSession = SET("DATASESSION")
|
||||
|
||||
m.oSH = CREATEOBJECT("SH")
|
||||
|
||||
m.oSH.Execute(VFP_DEFAULT_DATASESSION)
|
||||
|
||||
m.iSelect = SELECT()
|
||||
|
||||
IF (SET("TALK") = "ON")
|
||||
SET TALK OFF
|
||||
m.lSetTalkBackOnDefaultSession = .T.
|
||||
ENDIF
|
||||
|
||||
|
||||
* if it is not integer, convert
|
||||
* if it is lower than -1,
|
||||
* this is a value private to REPORTOUTPUT.APP,
|
||||
* potentially not even a ListenerType
|
||||
* if it is not numeric, just set up the
|
||||
* reference collection
|
||||
|
||||
DO CASE
|
||||
CASE VARTYPE(m.tvType) # "N"
|
||||
m.vReturn = ReportOutputConfig(OUTPUTAPP_CONFIGTOKEN_SETTABLE, .F., .F., m.oSH)
|
||||
DO ReportOutputCleanup WITH ;
|
||||
m.iSelect, m.lSetTalkBackOnDefaultSession, ;
|
||||
m.iSession, m.lSetTalkBackOn, m.oSH
|
||||
RETURN m.vReturn
|
||||
CASE ABS(m.tvType) # m.tvType AND m.tvType < LISTENER_TYPE_DEF
|
||||
m.vReturn = ReportOutputConfig(m.tvType, @m.tvReference, m.tvUnload, m.oSH)
|
||||
DO ReportOutputCleanup WITH ;
|
||||
m.iSelect, m.lSetTalkBackOnDefaultSession, ;
|
||||
m.iSession, m.lSetTalkBackOn, m.oSH
|
||||
RETURN m.vReturn
|
||||
OTHERWISE
|
||||
m.iType = INT(m.tvType)
|
||||
ENDCASE
|
||||
|
||||
IF m.iParams = 3
|
||||
m.iUnload = VAL(TRANSFORM(m.tvUnload))
|
||||
IF VARTYPE(m.tvUnload) = "L" AND m.tvUnload
|
||||
m.vReturn = UnloadListener(m.iType)
|
||||
DO ReportOutputCleanup WITH ;
|
||||
m.iSelect, m.lSetTalkBackOnDefaultSession, ;
|
||||
m.iSession, m.lSetTalkBackOn, m.oSH
|
||||
RETURN m.vReturn
|
||||
ELSE
|
||||
IF m.iUnload > 0
|
||||
IF m.iUnload = OUTPUTAPP_LOADTYPE_UNLOAD
|
||||
m.vReturn = UnloadListener(m.iType)
|
||||
DO ReportOutputCleanup WITH ;
|
||||
m.iSelect, m.lSetTalkBackOnDefaultSession, ;
|
||||
m.iSession, m.lSetTalkBackOn, m.oSH
|
||||
RETURN m.vReturn
|
||||
ELSE
|
||||
DO UnloadListener WITH m.iType
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
DO ReportOutputDeclareReference WITH ;
|
||||
m.iParams, m.tvReference, m.lObjectMember, m.lStringVar
|
||||
|
||||
|
||||
IF m.iType = LISTENER_TYPE_DEF
|
||||
* always provide the reference fresh,
|
||||
* do not use the collection
|
||||
m.oTemp = CREATEOBJECT("ReportListener")
|
||||
|
||||
ELSE
|
||||
|
||||
* check for public reference var (collection)
|
||||
* if it is not available create
|
||||
|
||||
|
||||
m.cType = TRANSFORM(m.iType)
|
||||
|
||||
m.iIndex = -1
|
||||
|
||||
|
||||
DO CheckPublicListenerCollection WITH m.cType, m.iIndex
|
||||
|
||||
IF m.iIndex > -1
|
||||
m.oTemp = OUTPUTAPP_REFVAR.ITEM[m.iIndex]
|
||||
ELSE
|
||||
* if they've passed in an existing object and
|
||||
* it's not in the collection yet, add
|
||||
* (SP1 change)
|
||||
IF TestListenerReference(m.tvReference)
|
||||
OUTPUTAPP_REFVAR.ADD(m.tvReference,m.cType)
|
||||
* synch this up, JIC:
|
||||
DO CheckPublicListenerCollection WITH m.cType, m.iIndex
|
||||
IF m.iIndex > -1
|
||||
m.oTemp = m.tvReference
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF NOT TestListenerReference(m.oTemp)
|
||||
|
||||
* if it is not available,
|
||||
* look for config file, choosing between built-in and
|
||||
* on-disk
|
||||
|
||||
m.oError = NULL
|
||||
STORE "" TO m.cClass, m.cLib, m.cModule
|
||||
|
||||
* try to open, error handle for
|
||||
* unavailability
|
||||
|
||||
DO GetConfigObject WITH m.oConfig
|
||||
|
||||
TRY
|
||||
SELECT 0
|
||||
|
||||
m.iIndex = -1
|
||||
DO CheckPublicListenerCollection WITH ;
|
||||
TRANSFORM(OUTPUTAPP_CONFIGTOKEN_SETTABLE), m.iIndex
|
||||
|
||||
IF m.iIndex > -1
|
||||
m.cConfigTable = OUTPUTAPP_REFVAR.ITEM[m.iIndex]
|
||||
ELSE
|
||||
m.cConfigTable = m.oConfig.GetConfigTable()
|
||||
* the collection will have been created by
|
||||
* CheckPublicListenerCollection
|
||||
OUTPUTAPP_REFVAR.ADD(m.cConfigTable,TRANSFORM(OUTPUTAPP_CONFIGTOKEN_SETTABLE))
|
||||
ENDIF
|
||||
|
||||
USE (m.cConfigTable ) ALIAS OutputConfig SHARED
|
||||
|
||||
IF m.oConfig.VerifyConfigTable("OutputConfig")
|
||||
|
||||
* look for filter records first:
|
||||
|
||||
* OBJTYPE 110 identifies a configuration record
|
||||
* OBJCODE 1 Configuration item type. 1= registry filter
|
||||
* OBJNAME not used
|
||||
* OBJVALUE not used
|
||||
* OBJINFO Filter expression
|
||||
|
||||
SELECT OutputConfig
|
||||
SET ORDER TO 0
|
||||
LOCATE && GO TOP
|
||||
LOCATE FOR ObjType = OUTPUTAPP_OBJTYPE_CONFIG AND ;
|
||||
ObjCode = OUTPUTAPP_OBJCODE_FILTER AND ;
|
||||
NOT (EMPTY(ObjInfo) OR DELETED())
|
||||
IF FOUND()
|
||||
m.cFilter = " AND (" + ALLTR(ObjInfo) + ")"
|
||||
ELSE
|
||||
m.cFilter = ""
|
||||
ENDIF
|
||||
|
||||
* check for type record for the passed type and
|
||||
* not deleted and in the filter
|
||||
|
||||
* OBJTYPE 100 identifies a Listener registry record
|
||||
* OBJCODE Listener Type values -1, 0, 1, and 2 supported by default
|
||||
* OBJNAME Class to instantiate may be ReportListener (base class)
|
||||
* OBJVALUE Class library or procedure file may be blank
|
||||
* OBJINFO Module/Application containing library may be blank
|
||||
|
||||
LOCATE && GO TOP
|
||||
|
||||
LOCATE FOR ObjType = OUTPUTAPP_OBJTYPE_LISTENER AND ;
|
||||
(ObjCode = m.iType) ;
|
||||
&cFilter. AND (NOT DELETED())
|
||||
IF FOUND()
|
||||
* get values
|
||||
m.cClass = ALLTRIM(ObjName)
|
||||
m.cLib = ALLTRIM(ObjValue)
|
||||
m.cModule = ALLTR(ObjInfo)
|
||||
|
||||
ELSE
|
||||
|
||||
DO GetSupportedListenerInfo WITH ;
|
||||
m.iType, m.cClass, m.cLib, m.cModule
|
||||
ENDIF
|
||||
|
||||
ELSE
|
||||
|
||||
IF ISNULL(m.oError) && should be
|
||||
m.oError = CREATEOBJECT("Exception")
|
||||
m.oError.Message = OUTPUTAPP_CONFIGTABLEWRONG_LOC
|
||||
ENDIF
|
||||
|
||||
IF OUTPUTAPP_DEFAULTCONFIG_AFTER_CONFIGTABLEFAILURE
|
||||
DO GetSupportedListenerInfo WITH ;
|
||||
m.iType, m.cClass, m.cLib, m.cModule
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
IF USED("OutputConfig")
|
||||
USE IN OutputConfig
|
||||
ENDIF
|
||||
|
||||
IF NOT EMPTY(m.cClass)
|
||||
IF NOT INLIST(UPPER(JUSTEXT(m.cModule)),"APP","EXE", "DLL")
|
||||
* frxoutput can be built into the current app or exe
|
||||
m.cModule = ""
|
||||
ENDIF
|
||||
m.oTemp = NEWOBJECT(m.cClass, m.cLib, m.cModule)
|
||||
ENDIF
|
||||
CATCH TO m.oError
|
||||
EXIT
|
||||
FINALLY
|
||||
* m.oSH.Execute(m.iSession)
|
||||
* SET DATASESSION TO (m.iSession)
|
||||
ENDTRY
|
||||
|
||||
IF NOT ISNULL(m.oError)
|
||||
DO ReportOutputCleanup WITH ;
|
||||
m.iSelect, m.lSetTalkBackOnDefaultSession, ;
|
||||
m.iSession, m.lSetTalkBackOn, m.oSH
|
||||
HandleError(m.oError)
|
||||
ELSE
|
||||
|
||||
IF TestListenerReference(m.oTemp) AND ;
|
||||
PEMSTATUS(m.oTemp,"ListenerType",5)
|
||||
* see notes below, we don't
|
||||
* prevent the assignment if not
|
||||
* a listener but we do not want it
|
||||
* in the collection nonetheless
|
||||
|
||||
#IF OUTPUTAPP_ASSIGN_TYPE
|
||||
IF UPPER(m.oTemp.BaseClass) == UPPER(m.oTemp.Class)
|
||||
m.oTemp.ListenerType = m.iType
|
||||
ENDIF
|
||||
#ENDIF
|
||||
OUTPUTAPP_REFVAR.ADD(m.oTemp,m.cType)
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
STORE NULL TO m.oConfig, m.oError
|
||||
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
|
||||
m.lSuccess = TestListenerReference(m.oTemp)
|
||||
|
||||
* we don't test for listener baseclass --
|
||||
* they could hide the property --
|
||||
* also we get a more consistent
|
||||
* error message letting the product
|
||||
* handle things if the object does
|
||||
* not descend from ReportListener
|
||||
* however, we have to assign type as needed,
|
||||
* and that will require a test.
|
||||
|
||||
|
||||
IF m.lSuccess
|
||||
|
||||
#IF OUTPUTAPP_ASSIGN_OUTPUTTYPE
|
||||
TRY
|
||||
m.oTemp.OutputType =m.iType
|
||||
CATCH WHEN .T.
|
||||
* in case they
|
||||
* hid or protected it,
|
||||
* or have an assign method that errored
|
||||
ENDTRY
|
||||
#ENDIF
|
||||
|
||||
DO CASE
|
||||
CASE m.iParams = 1
|
||||
* nothing to assign, just store in the collection
|
||||
CASE m.lStringVar OR m.lObjectMember
|
||||
IF m.lStringVar AND TYPE(m.tvReference) = "U"
|
||||
PUBLIC &tvReference.
|
||||
ENDIF
|
||||
STORE m.oTemp TO (m.tvReference)
|
||||
#IF OUTPUTAPP_ASSIGN_TYPE
|
||||
IF PEMSTATUS(&tvReference.,"ListenerType",5) AND ;
|
||||
UPPER(m.oTemp.BaseClass) == UPPER(m.oTemp.Class)
|
||||
&tvReference..ListenerType = m.iType
|
||||
ENDIF
|
||||
#ENDIF
|
||||
OTHERWISE
|
||||
m.tvReference = m.oTemp
|
||||
#IF OUTPUTAPP_ASSIGN_TYPE
|
||||
IF PEMSTATUS(m.tvReference,"ListenerType",5) AND ;
|
||||
UPPER(m.oTemp.BaseClass) == UPPER(m.oTemp.Class)
|
||||
m.tvReference.ListenerType = m.iType
|
||||
ENDIF
|
||||
#ENDIF
|
||||
ENDCASE
|
||||
ELSE
|
||||
DO CASE
|
||||
CASE m.iParams = 1
|
||||
* nothing to assign
|
||||
CASE m.lStringVar OR m.lObjectMember
|
||||
STORE NULL TO (m.tvReference)
|
||||
OTHERWISE
|
||||
m.tvReference = NULL
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
DO ReportOutputCleanup WITH ;
|
||||
m.iSelect, m.lSetTalkBackOnDefaultSession, ;
|
||||
m.iSession, m.lSetTalkBackOn,m.oSH
|
||||
|
||||
RETURN m.lSuccess && not used by the product but might be used by somebody
|
||||
|
||||
PROC ReportOutputCleanup( ;
|
||||
m.tiSelect, m.tlResetTalkDefaultSession, m.tiSession,m.tlResetTalk,m.toSH )
|
||||
m.toSH.Execute(VFP_DEFAULT_DATASESSION) && JIC
|
||||
SELECT (m.tiSelect)
|
||||
IF m.tlResetTalkDefaultSession
|
||||
SET TALK ON
|
||||
ENDIF
|
||||
toSH.Execute(m.tiSession)
|
||||
IF m.tlResetTalk
|
||||
SET TALK ON
|
||||
ENDIF
|
||||
m.toSH = NULL
|
||||
ENDPROC
|
||||
|
||||
PROC TestListenerReference(m.toRef)
|
||||
|
||||
RETURN (VARTYPE(m.toRef) = "O") && AND ;
|
||||
&& (UPPER(toRef.BASECLASS) == "REPORTLISTENER")
|
||||
|
||||
PROC GetSupportedListenerInfo(m.tiType, m.tcClass, m.tcLib, m.tcModule)
|
||||
DO CASE
|
||||
CASE OUTPUTAPP_XBASELISTENERS_FOR_BASETYPES AND ;
|
||||
m.tiType = LISTENER_TYPE_PRN
|
||||
m.tcClass = OUTPUTAPP_CLASS_PRINTLISTENER
|
||||
m.tcLib = OUTPUTAPP_BASELISTENER_CLASSLIB
|
||||
|
||||
CASE OUTPUTAPP_XBASELISTENERS_FOR_BASETYPES AND ;
|
||||
m.tiType= LISTENER_TYPE_PRV
|
||||
m.tcClass = OUTPUTAPP_CLASS_PREVIEWLISTENER
|
||||
m.tcLib = OUTPUTAPP_BASELISTENER_CLASSLIB
|
||||
|
||||
CASE INLIST(m.tiType,LISTENER_TYPE_PRN,;
|
||||
LISTENER_TYPE_PRV, ;
|
||||
LISTENER_TYPE_PAGED, ;
|
||||
LISTENER_TYPE_ALLPGS)
|
||||
m.tcClass = "ReportListener"
|
||||
CASE m.tiType = LISTENER_TYPE_HTML
|
||||
m.tcClass = OUTPUTAPP_CLASS_HTMLLISTENER
|
||||
m.tcLib = OUTPUTAPP_BASELISTENER_CLASSLIB
|
||||
CASE m.tiType = LISTENER_TYPE_XML
|
||||
m.tcClass = OUTPUTAPP_CLASS_XMLLISTENER
|
||||
m.tcLib = OUTPUTAPP_BASELISTENER_CLASSLIB
|
||||
CASE m.tiType = LISTENER_TYPE_DEBUG
|
||||
m.tcClass = OUTPUTAPP_CLASS_DEBUGLISTENER
|
||||
m.tcLib = OUTPUTAPP_BASELISTENER_CLASSLIB
|
||||
OTHERWISE
|
||||
* ERROR here?
|
||||
* No, let product handle it consistently.
|
||||
ENDCASE
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROC ReportOutputConfig(m.tnType, m.tvReference, m.tvUnload, m.toSH)
|
||||
* NB: early quit in case somebody
|
||||
* calls the thing improperly,
|
||||
* even from the command line with a SET PROC
|
||||
IF VARTYPE(m.tnType) # "N"
|
||||
RETURN .F.
|
||||
ENDIF
|
||||
* can support other things besides writing the
|
||||
* table here
|
||||
LOCAL m.iSession, oSession, m.oError, m.oConfig, m.cDBF, m.lSuccess, m.cType, m.iIndex
|
||||
m.oError = NULL
|
||||
m.oConfig = NULL
|
||||
m.iSession = SET("DATASESSION")
|
||||
m.lSuccess = .F.
|
||||
TRY
|
||||
DO CASE
|
||||
CASE m.tnType = OUTPUTAPP_CONFIGTOKEN_SETTABLE AND ;
|
||||
VARTYPE(m.tvReference) = "C" AND ;
|
||||
FILE(FULLPATH(FORCEEXT(TRANSFORM(m.tvReference),"DBF")))
|
||||
* use FILE() because it can be in the app
|
||||
|
||||
m.cDBF = FULLPATH(FORCEEXT(TRANSFORM(m.tvReference),"DBF"))
|
||||
m.iIndex = -1
|
||||
m.cType = TRANSFORM(OUTPUTAPP_CONFIGTOKEN_SETTABLE)
|
||||
DO CheckPublicListenerCollection WITH m.cType, m.iIndex
|
||||
IF m.iIndex # -1
|
||||
OUTPUTAPP_REFVAR.REMOVE[m.iIndex]
|
||||
ENDIF
|
||||
OUTPUTAPP_REFVAR.ADD(m.cDBF,m.cType)
|
||||
m.lSuccess = .T.
|
||||
CASE m.tnType = OUTPUTAPP_CONFIGTOKEN_WRITETABLE
|
||||
oSession = CREATEOBJECT("session")
|
||||
m.lSafety = SET("SAFETY") = "ON"
|
||||
m.toSH.Execute(oSession.DataSessionID)
|
||||
IF m.lSafety
|
||||
SET SAFETY ON
|
||||
ENDIF
|
||||
DO GetConfigObject WITH m.oConfig, .T.
|
||||
* use XML class, not config superclass,
|
||||
* to write both sets of records, base config outline
|
||||
* and base listener's nodenames
|
||||
m.cDBF = FORCEEXT(FORCEPATH(OUTPUTAPP_EXTERNALDBF, JUSTPATH(SYS(16,0))),"DBF")
|
||||
m.oConfig.CreateConfigTable(m.cDBF)
|
||||
IF NOT EMPTY(SYS(2000,m.cDBF))
|
||||
m.iIndex = -1
|
||||
m.cType = TRANSFORM(OUTPUTAPP_CONFIGTOKEN_SETTABLE)
|
||||
DO CheckPublicListenerCollection WITH m.cType, m.iIndex
|
||||
IF m.iIndex # -1
|
||||
OUTPUTAPP_REFVAR.REMOVE[m.iIndex]
|
||||
ENDIF
|
||||
OUTPUTAPP_REFVAR.ADD(m.cDBF,m.cType)
|
||||
USE (m.cDBF)
|
||||
LOCATE FOR ObjType = OUTPUTAPP_OBJTYPE_LISTENER AND ;
|
||||
ObjCode = LISTENER_TYPE_DEBUG AND ;
|
||||
UPPER(ALLTRIM(ObjName)) == 'DEBUGLISTENER' AND ;
|
||||
ObjValue = OUTPUTAPP_BASELISTENER_CLASSLIB AND ;
|
||||
DELETED()
|
||||
IF EOF()
|
||||
INSERT INTO (ALIAS()) VALUES ;
|
||||
(OUTPUTAPP_OBJTYPE_LISTENER ,LISTENER_TYPE_DEBUG,'DebugListener',OUTPUTAPP_BASELISTENER_CLASSLIB,SYS(16,0))
|
||||
DELETE NEXT 1
|
||||
ENDIF
|
||||
*!* SELECT ObjType, ObjCode, ObjName, ObjValue , ;
|
||||
*!* LEFT(ObjInfo,30) AS Info FROM (m.cDBF) ;
|
||||
*!* INTO CURSOR STRTRAN(OUTPUTAPP_CONFIGTABLEBROWSE_LOC," ","")
|
||||
*!* SELECT (STRTRAN(OUTPUTAPP_CONFIGTABLEBROWSE_LOC," ",""))
|
||||
*!* BROWSE TITLE OUTPUTAPP_CONFIGTABLEBROWSE_LOC FIELDS ;
|
||||
*!* ObjType, ObjCode, ObjName, ObjValue , Info = LEFT(ObjInfo,30), ObjInfo
|
||||
BROWSE TITLE OUTPUTAPP_CONFIGTABLEBROWSE_LOC
|
||||
USE
|
||||
m.lSuccess = .T.
|
||||
ELSE
|
||||
m.lSuccess = .F.
|
||||
ENDIF
|
||||
OTHERWISE
|
||||
m.iIndex = -1
|
||||
m.cType = TRANSFORM(OUTPUTAPP_CONFIGTOKEN_SETTABLE)
|
||||
DO CheckPublicListenerCollection WITH m.cType, m.iIndex
|
||||
IF m.iIndex = -1
|
||||
* don't disturb it if it's there
|
||||
DO GetConfigObject WITH m.oConfig
|
||||
m.cDBF = m.oConfig.GetConfigTable()
|
||||
OUTPUTAPP_REFVAR.ADD(m.cDBF,m.cType)
|
||||
m.tvReference = m.cDBF
|
||||
ELSE
|
||||
m.tvReference= OUTPUTAPP_REFVAR.ITEM[m.iIndex]
|
||||
ENDIF
|
||||
m.lSuccess = .T.
|
||||
ENDCASE
|
||||
CATCH WHEN WTITLE() = OUTPUTAPP_CONFIGTABLEBROWSE_LOC
|
||||
* MESSAGEBOX("here")
|
||||
* error 57 on the browse -- no table open ad nauseum
|
||||
CATCH TO m.oError
|
||||
m.lSuccess = .F.
|
||||
FINALLY
|
||||
m.toSH.Execute(m.iSession)
|
||||
ENDTRY
|
||||
|
||||
IF NOT ISNULL(m.oError)
|
||||
HandleError(m.oError)
|
||||
ENDIF
|
||||
|
||||
RETURN m.lSuccess
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE GetConfigObject(m.toCfg, m.tXML)
|
||||
LOCAL m.lcModule
|
||||
m.lcModule = _REPORTOUTPUT
|
||||
IF NOT INLIST(UPPER(JUSTEXT(m.lcModule)),"EXE","APP","DLL")
|
||||
m.lcModule = SYS(16,0)
|
||||
ENDIF
|
||||
IF NOT INLIST(UPPER(JUSTEXT(m.lcModule)), "EXE","APP","DLL")
|
||||
m.lcModule = ""
|
||||
ENDIF
|
||||
IF m.tXML
|
||||
m.toCfg = NEWOBJECT(OUTPUTAPP_CLASS_XMLLISTENER,OUTPUTAPP_BASELISTENER_CLASSLIB, m.lcModule)
|
||||
ELSE
|
||||
m.toCfg = NEWOBJECT(OUTPUTAPP_CLASS_UTILITYLISTENER,OUTPUTAPP_BASELISTENER_CLASSLIB, m.lcModule)
|
||||
ENDIF
|
||||
IF VARTYPE(toCfg) = "O"
|
||||
m.toCfg.QuietMode = .T.
|
||||
m.toCfg.AppName = OUTPUTAPP_APPNAME_LOC
|
||||
ENDIF
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE ReportOutputDeclareReference( ;
|
||||
m.tiParams, m.tvReference, m.tlObjectMember, m.tlStringVar)
|
||||
LOCAL m.iDotPos
|
||||
IF m.tiParams > 1 AND ;
|
||||
TYPE("m.tvReference") = "C"
|
||||
m.iDotPos = RAT(".",m.tvReference)
|
||||
IF m.iDotPos > 1 AND ;
|
||||
m.iDotPos < LEN(m.tvReference)
|
||||
IF TYPE(m.tvReference) = "U"
|
||||
IF TYPE(LEFT(m.tvReference,m.iDotPos-1)) = "O"
|
||||
AddProperty(EVAL(LEFT(m.tvReference,m.iDotPos-1)),SUBSTR(m.tvReference,m.iDotPos+1))
|
||||
m.tlObjectMember = .T.
|
||||
ENDIF
|
||||
ELSE
|
||||
m.tlObjectMember = .T.
|
||||
ENDIF
|
||||
ELSE
|
||||
m.tlStringVar = .T.
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE UnloadListener(m.tiType)
|
||||
LOCAL m.lUnload, m.cType
|
||||
|
||||
IF VARTYPE(OUTPUTAPP_REFVAR) # "O" OR ;
|
||||
NOT (UPPER(OUTPUTAPP_REFVAR.CLASS) == ;
|
||||
UPPER(OUTPUTAPP_REFVARCLASS))
|
||||
|
||||
* nothing to do
|
||||
|
||||
ELSE
|
||||
m.cType = TRANSFORM(m.tiType)
|
||||
* look for reference to a listener of the appropriate type
|
||||
FOR m.iIndex = 1 TO OUTPUTAPP_REFVAR.COUNT
|
||||
IF OUTPUTAPP_REFVAR.GETKEY(m.iIndex) == m.cType
|
||||
OUTPUTAPP_REFVAR.Remove(m.iIndex)
|
||||
m.lUnload = .T.
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN m.lUnload
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE HandleError(m.toE)
|
||||
DO CASE
|
||||
CASE NOT ISNULL(m.toE)
|
||||
IF EMPTY(toE.ErrorNo)
|
||||
ERROR toE.Message
|
||||
ELSE
|
||||
ERROR toE.ErrorNo, toE.Details
|
||||
ENDIF
|
||||
CASE NOT EMPTY(MESSAGE())
|
||||
ERROR MESSAGE()
|
||||
OTHERWISE
|
||||
ERROR OUTPUTAPP_UNKNOWN_ERROR_LOC
|
||||
ENDCASE
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE CheckPublicListenerCollection(m.tcType, m.tiIndex)
|
||||
|
||||
LOCAL m.iIndex
|
||||
|
||||
IF VARTYPE(OUTPUTAPP_REFVAR) # "O" OR ;
|
||||
NOT (UPPER(OUTPUTAPP_REFVAR.CLASS) == ;
|
||||
UPPER(OUTPUTAPP_REFVARCLASS))
|
||||
* could be a collection subclass
|
||||
* in which case look for
|
||||
* AINSTANCE(aTemp, <classname>)
|
||||
|
||||
PUBLIC OUTPUTAPP_REFVAR
|
||||
STORE CREATEOBJECT(OUTPUTAPP_REFVARCLASS) TO ([OUTPUTAPP_REFVAR])
|
||||
|
||||
ENDIF
|
||||
|
||||
IF NOT EMPTY(m.tcType)
|
||||
|
||||
FOR m.iIndex = 1 TO OUTPUTAPP_REFVAR.COUNT
|
||||
IF OUTPUTAPP_REFVAR.GETKEY(m.iIndex) == m.tcType
|
||||
m.tiIndex = m.iIndex
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
ENDIF
|
||||
|
||||
ENDPROC
|
||||
|
||||
DEFINE CLASS SH AS Custom
|
||||
PROCEDURE Execute(m.tiSession)
|
||||
SET DATASESSION TO (m.tiSession)
|
||||
ENDPROC
|
||||
ENDDEFINE
|
||||
19
COMUN/utile/hpdf/ReportOutput/license.txt
Normal file
19
COMUN/utile/hpdf/ReportOutput/license.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
Microsoft Permissive License (Ms-PL)
|
||||
|
||||
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
|
||||
|
||||
1. Definitions
|
||||
The terms "reproduce", "reproduction" and "distribution" have the same meaning here as under U.S. copyright law.
|
||||
"You" means the licensee of the software.
|
||||
"Licensed patents" means any Microsoft patent claims which read directly on the software as distributed by Microsoft under this license.
|
||||
|
||||
2. Grant of Rights
|
||||
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, Microsoft grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce the software, prepare derivative works of the software and distribute the software or any derivative works that you create.
|
||||
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, Microsoft grants you a non-exclusive, worldwide, royalty-free patent license under licensed patents to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the software or derivative works of the software.
|
||||
|
||||
3. Conditions and Limitations
|
||||
(A) No Trademark License- This license does not grant you any rights to use Microsoft<66>s name, logo, or trademarks.
|
||||
(B) If you begin patent litigation against Microsoft over patents that you think may apply to the software (including a cross-claim or counterclaim in a lawsuit), your license to the software ends automatically.
|
||||
(C) If you distribute copies of the software or derivative works, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
|
||||
(D) If you distribute the software or derivative works in source code form you may do so only under this license (i.e., you must include a complete copy of this license with your distribution), and if you distribute the software or derivative works in compiled or object code form you may only do so under a license that complies with this license.
|
||||
(E) The software is licensed "as-is." You bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
|
||||
BIN
COMUN/utile/hpdf/ReportOutput/listener.VCT
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/listener.VCT
Normal file
Binary file not shown.
BIN
COMUN/utile/hpdf/ReportOutput/listener.vcx
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/listener.vcx
Normal file
Binary file not shown.
76
COMUN/utile/hpdf/ReportOutput/reportlisteners.h
Normal file
76
COMUN/utile/hpdf/ReportOutput/reportlisteners.h
Normal file
@@ -0,0 +1,76 @@
|
||||
#INCLUDE FOXPRO_REPORTING.H
|
||||
|
||||
#INCLUDE REPORTLISTENERS_LOCS.H
|
||||
|
||||
* -- constants for VCX super classes
|
||||
|
||||
* -- general constant for debugging
|
||||
#DEFINE OUTPUTCLASS_DEBUGGING .F.
|
||||
|
||||
* -- UtilityReportListener class
|
||||
|
||||
#DEFINE OUTPUTCLASS_READCONFIG_NEITHER 0
|
||||
#DEFINE OUTPUTCLASS_READCONFIG_INIT 1
|
||||
#DEFINE OUTPUTCLASS_READCONFIG_REPORT 2
|
||||
#DEFINE OUTPUTCLASS_READCONFIG_BOTH 3
|
||||
|
||||
* -- XML Output Listener class-specific constants
|
||||
|
||||
#DEFINE OUTPUTXML_DATA_ONLY 0
|
||||
#DEFINE OUTPUTXML_RDL_ONLY 1
|
||||
#DEFINE OUTPUTXML_DATA_RDL 2
|
||||
|
||||
#DEFINE OUTPUTXML_BREAKS_INDATA 0
|
||||
#DEFINE OUTPUTXML_BREAKS_NONE 1
|
||||
#DEFINE OUTPUTXML_BREAKS_COLLECTION 2
|
||||
|
||||
#DEFINE OUTPUTXML_RAW 0
|
||||
#DEFINE OUTPUTXML_DOM 1
|
||||
#DEFINE OUTPUTXML_DOTNET 2
|
||||
|
||||
#DEFINE OUTPUTXML_CHARFIELD_LIMIT 254
|
||||
|
||||
#DEFINE OUTPUTXML_XSLTOBJECT_TYPESTRINGS "|document|element|"
|
||||
|
||||
* #DEFINE OUTPUTXML_REPEATSPANNEDITEM .T.
|
||||
* #DEFINE OUTPUTXML_PERFORMLOCALECONVERSION .F.
|
||||
|
||||
#DEFINE OUTPUTXML_CONTINUATION (THIS.NoPageEject OR ;
|
||||
(VARTYPE(THIS.CommandClauses) = "O" AND ;
|
||||
THIS.CommandClauses.NoPageEject))
|
||||
|
||||
* supplied superclasses' tunable settings
|
||||
|
||||
#DEFINE OUTPUTCLASS_INTERNALDBF "_ReportOutputConfig"
|
||||
#DEFINE OUTPUTCLASS_EXTERNALDBF "OutputConfig"
|
||||
|
||||
#DEFINE OUTPUTCLASS_OBJTYPE_CONFIG 1000
|
||||
|
||||
#DEFINE OUTPUTCLASS_STATUSCHAR_PCT_DONE [|]
|
||||
#DEFINE OUTPUTCLASS_STATUSCHAR_PCT_NOT_DONE [.] R
|
||||
#DEFINE OUTPUTCLASS_ONE_HUNDRED_PCT_MARK 50
|
||||
|
||||
#DEFINE OUTPUTCLASS_FILENAME_CHARS_DISALLOWED [?*"<>|]
|
||||
|
||||
* -- XML Output Listener-specific user-tunable settings
|
||||
|
||||
#DEFINE OUTPUTXML OUTPUTXML_RAW
|
||||
|
||||
#DEFINE OUTPUTXML_OBJTYPE_NODES 1100
|
||||
#DEFINE OUTPUTXML_OBJTYPE_BANDOFFSET 500
|
||||
#DEFINE OUTPUTXML_OBJCODE_DOC 100
|
||||
#DEFINE OUTPUTXML_OBJCODE_DATA 200
|
||||
#DEFINE OUTPUTXML_OBJCODE_RDL 300
|
||||
#DEFINE OUTPUTXML_OBJCODE_PAGES 400
|
||||
#DEFINE OUTPUTXML_OBJCODE_COLS 500
|
||||
#DEFINE OUTPUTXML_OBJCODE_ATTRIBMEMBER 600
|
||||
|
||||
|
||||
#DEFINE OUTPUTXML_GOOFTAG "XXXX"
|
||||
|
||||
#DEFINE OUTPUTXML_DOMDOCUMENTOBJECT "Msxml2.FreeThreadedDOMDocument.4.0"
|
||||
#DEFINE OUTPUTXML_DOMFREETHREADED_DOCUMENTOBJECT "Msxml2.FreeThreadedDOMDocument.4.0"
|
||||
#DEFINE OUTPUTXML_XSLT_PROCESSOROBJECT "Msxml2.XSLTemplate.4.0"
|
||||
|
||||
|
||||
|
||||
85
COMUN/utile/hpdf/ReportOutput/reportlisteners_locs.h
Normal file
85
COMUN/utile/hpdf/ReportOutput/reportlisteners_locs.h
Normal file
@@ -0,0 +1,85 @@
|
||||
* locs for VCX super-classes
|
||||
|
||||
#DEFINE OUTPUTCLASS_APPNAME_LOC "VFP Report Output Class"
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGTABLECREATED_LOC "Configuration table "+ m.lcDBF + " was created."
|
||||
* or, if you prefer: "has been written to disk."
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGTABLEWRONG_LOC "Configuration table is not in correct format."
|
||||
|
||||
* this is different from XML because in the XML class they
|
||||
* are used in SEEK() and require specific tagnames, whereas
|
||||
* the superclasses just require certain indexes for optimizing LOCATES,
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGINDEXMISSING_LOC "Configuration table is missing "+ CHR(13) + ;
|
||||
"one or more required indexes."
|
||||
|
||||
#DEFINE OUTPUTCLASS_INITSTATUS_LOC "Initializing... "
|
||||
#DEFINE OUTPUTCLASS_PREPSTATUS_LOC "Running calculation prepass... "
|
||||
#DEFINE OUTPUTCLASS_RUNSTATUS_LOC "Creating output... "
|
||||
#DEFINE OUTPUTCLASS_TIME_SECONDS_LOC SPACE(1) + "sec(s)"
|
||||
#DEFINE OUTPUTCLASS_CANCEL_INSTRUCTIONS_LOC "Press Esc to cancel... "
|
||||
#DEFINE OUTPUTCLASS_REPORT_CANCELQUERY_LOC "Stop report execution?"+CHR(13) + ;
|
||||
"(If you press 'No', report execution will continue.)"
|
||||
#DEFINE OUTPUTCLASS_REPORT_INCOMPLETE_LOC "Report execution was cancelled." + CHR(13) + ;
|
||||
"Your results are not complete."
|
||||
|
||||
#DEFINE OUTPUTCLASS_SUCCESS_LOC THIS.AppName+" created your report as"+;
|
||||
CHR(13)+THIS.TargetFileName+"." + CHR(13) + ;
|
||||
IIF(THIS.AllowModalMessages,;
|
||||
"Press 'Yes' to store" + CHR(13) + ;
|
||||
"this filename in the Clipboard.","")
|
||||
|
||||
#DEFINE OUTPUTCLASS_NOFILECREATE_LOC "File " + THIS.TargetFileName+" cannot be created."
|
||||
|
||||
#DEFINE OUTPUTCLASS_CREATEERRORS_LOC THIS.AppName+" created your report as"+ ;
|
||||
CHR(13)+THIS.TargetFileName+". "+CHR(13)+ ;
|
||||
"However, an error occurred during processing." + CHR(13) + ;
|
||||
OUTPUTCLASS_REPORT_INCOMPLETE_LOC
|
||||
#DEFINE OUTPUTCLASS_PAGELIMIT_LOC "Your report exceeded a specified page limit (" + ;
|
||||
TRANSFORM(THIS.PageLimit) + "). " + CHR(13) + ;
|
||||
OUTPUTCLASS_REPORT_INCOMPLETE_LOC
|
||||
|
||||
|
||||
|
||||
|
||||
#DEFINE OUTPUTCLASS_NOCREATE_LOC THIS.AppName +" was not able to create your report."
|
||||
|
||||
#DEFINE OUTPUTCLASS_ERRNOLABEL_LOC "Error: "
|
||||
#DEFINE OUTPUTCLASS_ERRPROCLABEL_LOC "Method: "
|
||||
#DEFINE OUTPUTCLASS_ERRLINELABEL_LOC "Line: "
|
||||
|
||||
* the following loc is eval'd for updateListener's actual progress bar message.
|
||||
* In most cases,
|
||||
* changing this value is overkill, as the localizable portions of
|
||||
* the message are already localized as separate properties.
|
||||
* All the status messagse as well as the therm caption can
|
||||
* also be set at runtime without touching the locs.
|
||||
#DEFINE OUTPUTCLASS_THERMCAPTION_LOC [m.cMessage+ " "+ TRANSFORM(INT(THIS.PercentDone*100)) + "%" ] + ;
|
||||
[+ IIF(NOT THIS.IncludeSeconds, "" , " "+] + ;
|
||||
[TRANSFORM(IIF(THIS.IsRunning,DATETIME(), THIS.ReportStopRunDateTime)-] + ;
|
||||
[THIS.ReportStartRunDateTime)+" " + THIS.SecondsText)]
|
||||
|
||||
|
||||
* locs for XML Listener class:
|
||||
|
||||
#DEFINE OUTPUTXML_APPNAME_LOC "XML Listener"
|
||||
|
||||
#DEFINE OUTPUTXML_CONFIGTAGMISSING_LOC "At least one required index tag is missing "+ CHR(13) + ;
|
||||
"from the configuration table."
|
||||
|
||||
#DEFINE OUTPUTXML_FRXMISSING_LOC "Required FRX cursor is not available."
|
||||
|
||||
|
||||
#DEFINE OUTPUTXML_FRXCURSOR_MISSING_LOC "FRX cursor helper object cannot be found in " + CHR(13)+ ;
|
||||
"_FRXCURSOR.VCX, "+CHR(13)+ ;
|
||||
"_REPORTOUTPUT." + CHR(13) + CHR(13)+ ;
|
||||
"Some features of this class may not be active."
|
||||
|
||||
* locs for XML Display Listener Class:
|
||||
|
||||
#DEFINE OUTPUTXMLDISPLAY_APPNAME_LOC "XML Display Listener"
|
||||
|
||||
* locs for HTML:
|
||||
|
||||
#DEFINE OUTPUTHTML_APPNAME_LOC "HTML Listener"
|
||||
85
COMUN/utile/hpdf/ReportOutput/reportlisteners_locs_en.h
Normal file
85
COMUN/utile/hpdf/ReportOutput/reportlisteners_locs_en.h
Normal file
@@ -0,0 +1,85 @@
|
||||
* locs for VCX super-classes
|
||||
|
||||
#DEFINE OUTPUTCLASS_APPNAME_LOC "VFP Report Output Class"
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGTABLECREATED_LOC "Configuration table "+ m.lcDBF + " was created."
|
||||
* or, if you prefer: "has been written to disk."
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGTABLEWRONG_LOC "Configuration table is not in correct format."
|
||||
|
||||
* this is different from XML because in the XML class they
|
||||
* are used in SEEK() and require specific tagnames, whereas
|
||||
* the superclasses just require certain indexes for optimizing LOCATES,
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGINDEXMISSING_LOC "Configuration table is missing "+ CHR(13) + ;
|
||||
"one or more required indexes."
|
||||
|
||||
#DEFINE OUTPUTCLASS_INITSTATUS_LOC "Initializing... "
|
||||
#DEFINE OUTPUTCLASS_PREPSTATUS_LOC "Running calculation prepass... "
|
||||
#DEFINE OUTPUTCLASS_RUNSTATUS_LOC "Creating output... "
|
||||
#DEFINE OUTPUTCLASS_TIME_SECONDS_LOC SPACE(1) + "sec(s)"
|
||||
#DEFINE OUTPUTCLASS_CANCEL_INSTRUCTIONS_LOC "Press Esc to cancel... "
|
||||
#DEFINE OUTPUTCLASS_REPORT_CANCELQUERY_LOC "Stop report execution?"+CHR(13) + ;
|
||||
"(If you press 'No', report execution will continue.)"
|
||||
#DEFINE OUTPUTCLASS_REPORT_INCOMPLETE_LOC "Report execution was cancelled." + CHR(13) + ;
|
||||
"Your results are not complete."
|
||||
|
||||
#DEFINE OUTPUTCLASS_SUCCESS_LOC THIS.AppName+" created your report as"+;
|
||||
CHR(13)+THIS.TargetFileName+"." + CHR(13) + ;
|
||||
IIF(THIS.AllowModalMessages,;
|
||||
"Press 'Yes' to store" + CHR(13) + ;
|
||||
"this filename in the Clipboard.","")
|
||||
|
||||
#DEFINE OUTPUTCLASS_NOFILECREATE_LOC "File " + THIS.TargetFileName+" cannot be created."
|
||||
|
||||
#DEFINE OUTPUTCLASS_CREATEERRORS_LOC THIS.AppName+" created your report as"+ ;
|
||||
CHR(13)+THIS.TargetFileName+". "+CHR(13)+ ;
|
||||
"However, an error occurred during processing." + CHR(13) + ;
|
||||
OUTPUTCLASS_REPORT_INCOMPLETE_LOC
|
||||
#DEFINE OUTPUTCLASS_PAGELIMIT_LOC "Your report exceeded a specified page limit (" + ;
|
||||
TRANSFORM(THIS.PageLimit) + "). " + CHR(13) + ;
|
||||
OUTPUTCLASS_REPORT_INCOMPLETE_LOC
|
||||
|
||||
|
||||
|
||||
|
||||
#DEFINE OUTPUTCLASS_NOCREATE_LOC THIS.AppName +" was not able to create your report."
|
||||
|
||||
#DEFINE OUTPUTCLASS_ERRNOLABEL_LOC "Error: "
|
||||
#DEFINE OUTPUTCLASS_ERRPROCLABEL_LOC "Method: "
|
||||
#DEFINE OUTPUTCLASS_ERRLINELABEL_LOC "Line: "
|
||||
|
||||
* the following loc is eval'd for updateListener's actual progress bar message.
|
||||
* In most cases,
|
||||
* changing this value is overkill, as the localizable portions of
|
||||
* the message are already localized as separate properties.
|
||||
* All the status messagse as well as the therm caption can
|
||||
* also be set at runtime without touching the locs.
|
||||
#DEFINE OUTPUTCLASS_THERMCAPTION_LOC [m.cMessage+ " "+ TRANSFORM(INT(THIS.PercentDone*100)) + "%" ] + ;
|
||||
[+ IIF(NOT THIS.IncludeSeconds, "" , " "+] + ;
|
||||
[TRANSFORM(IIF(THIS.IsRunning,DATETIME(), THIS.ReportStopRunDateTime)-] + ;
|
||||
[THIS.ReportStartRunDateTime)+" " + THIS.SecondsText)]
|
||||
|
||||
|
||||
* locs for XML Listener class:
|
||||
|
||||
#DEFINE OUTPUTXML_APPNAME_LOC "XML Listener"
|
||||
|
||||
#DEFINE OUTPUTXML_CONFIGTAGMISSING_LOC "At least one required index tag is missing "+ CHR(13) + ;
|
||||
"from the configuration table."
|
||||
|
||||
#DEFINE OUTPUTXML_FRXMISSING_LOC "Required FRX cursor is not available."
|
||||
|
||||
|
||||
#DEFINE OUTPUTXML_FRXCURSOR_MISSING_LOC "FRX cursor helper object cannot be found in " + CHR(13)+ ;
|
||||
"_FRXCURSOR.VCX, "+CHR(13)+ ;
|
||||
"_REPORTOUTPUT." + CHR(13) + CHR(13)+ ;
|
||||
"Some features of this class may not be active."
|
||||
|
||||
* locs for XML Display Listener Class:
|
||||
|
||||
#DEFINE OUTPUTXMLDISPLAY_APPNAME_LOC "XML Display Listener"
|
||||
|
||||
* locs for HTML:
|
||||
|
||||
#DEFINE OUTPUTHTML_APPNAME_LOC "HTML Listener"
|
||||
85
COMUN/utile/hpdf/ReportOutput/reportlisteners_locs_ro.h
Normal file
85
COMUN/utile/hpdf/ReportOutput/reportlisteners_locs_ro.h
Normal file
@@ -0,0 +1,85 @@
|
||||
* locs for VCX super-classes
|
||||
|
||||
#DEFINE OUTPUTCLASS_APPNAME_LOC "VFP Report Output Class"
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGTABLECREATED_LOC "Configuration table "+ lcDBF + " was created."
|
||||
* or, if you prefer: "has been written to disk."
|
||||
"has been written to disk."
|
||||
#DEFINE OUTPUTCLASS_CONFIGTABLEWRONG_LOC "Configuration table is not in correct format."
|
||||
|
||||
* this is different from XML because in the XML class they
|
||||
* are used in SEEK() and require specific tagnames, whereas
|
||||
* the superclasses just require certain indexes for optimizing LOCATES,
|
||||
|
||||
#DEFINE OUTPUTCLASS_CONFIGINDEXMISSING_LOC "Configuration table is missing "+ CHR(13) + ;
|
||||
"one or more required indexes."
|
||||
|
||||
#DEFINE OUTPUTCLASS_INITSTATUS_LOC "Initializare... "
|
||||
#DEFINE OUTPUTCLASS_PREPSTATUS_LOC "Executare antecalcul... "
|
||||
#DEFINE OUTPUTCLASS_RUNSTATUS_LOC "Generare raport... "
|
||||
#DEFINE OUTPUTCLASS_TIME_SECONDS_LOC SPACE(1) + "sec(s)"
|
||||
#DEFINE OUTPUTCLASS_CANCEL_INSTRUCTIONS_LOC "Tasteaza Esc pentru abandon... "
|
||||
#DEFINE OUTPUTCLASS_REPORT_CANCELQUERY_LOC "Se opreste generarea raportului?"+CHR(13) + ;
|
||||
"(Daca selectati 'No', generarea raportului va continua.)"
|
||||
#DEFINE OUTPUTCLASS_REPORT_INCOMPLETE_LOC "Generare report anulata." + CHR(13) + ;
|
||||
"Rezultatele sunt incomplete."
|
||||
|
||||
#DEFINE OUTPUTCLASS_SUCCESS_LOC THIS.AppName+" created your report as"+;
|
||||
CHR(13)+THIS.TargetFileName+"." + CHR(13) + ;
|
||||
IIF(THIS.AllowModalMessages,;
|
||||
"Press 'Yes' to store" + CHR(13) + ;
|
||||
"this filename in the Clipboard.","")
|
||||
|
||||
#DEFINE OUTPUTCLASS_NOFILECREATE_LOC "File " + THIS.TargetFileName+" cannot be created."
|
||||
|
||||
#DEFINE OUTPUTCLASS_CREATEERRORS_LOC THIS.AppName+" created your report as"+ ;
|
||||
CHR(13)+THIS.TargetFileName+". "+CHR(13)+ ;
|
||||
"However, an error occurred during processing." + CHR(13) + ;
|
||||
OUTPUTCLASS_REPORT_INCOMPLETE_LOC
|
||||
|
||||
#DEFINE OUTPUTCLASS_PAGELIMIT_LOC "Raportul a depasit limita de pagini specificata (" + ;
|
||||
TRANSFORM(THIS.PageLimit) + "). " + CHR(13) + ;
|
||||
OUTPUTCLASS_REPORT_INCOMPLETE_LOC
|
||||
|
||||
|
||||
|
||||
#DEFINE OUTPUTCLASS_NOCREATE_LOC THIS.AppName +" was not able to create your report."
|
||||
|
||||
#DEFINE OUTPUTCLASS_ERRNOLABEL_LOC "Error: "
|
||||
#DEFINE OUTPUTCLASS_ERRPROCLABEL_LOC "Method: "
|
||||
#DEFINE OUTPUTCLASS_ERRLINELABEL_LOC "Line: "
|
||||
|
||||
* the following loc is eval'd for updateListener's actual progress bar message.
|
||||
* In most cases,
|
||||
* changing this value is overkill, as the localizable portions of
|
||||
* the message are already localized as separate properties.
|
||||
* All the status messagse as well as the therm caption can
|
||||
* also be set at runtime without touching the locs.
|
||||
#DEFINE OUTPUTCLASS_THERMCAPTION_LOC [cMessage+ " "+ TRANSFORM(INT(THIS.PercentDone*100)) + "%" ] + ;
|
||||
[+ IIF(NOT THIS.IncludeSeconds, "" , " "+] + ;
|
||||
[TRANSFORM(IIF(THIS.IsRunning,DATETIME(), THIS.ReportStopRunDateTime)-] + ;
|
||||
[THIS.ReportStartRunDateTime)+" " + THIS.SecondsText)]
|
||||
|
||||
|
||||
* locs for XML Listener class:
|
||||
|
||||
#DEFINE OUTPUTXML_APPNAME_LOC "XML Listener"
|
||||
|
||||
#DEFINE OUTPUTXML_CONFIGTAGMISSING_LOC "At least one required index tag is missing "+ CHR(13) + ;
|
||||
"from the configuration table."
|
||||
|
||||
#DEFINE OUTPUTXML_FRXMISSING_LOC "Required FRX cursor is not available."
|
||||
|
||||
|
||||
#DEFINE OUTPUTXML_FRXCURSOR_MISSING_LOC "FRX cursor helper object cannot be found in " + CHR(13)+ ;
|
||||
"_FRXCURSOR.VCX, "+CHR(13)+ ;
|
||||
"_REPORTOUTPUT." + CHR(13) + CHR(13)+ ;
|
||||
"Some features of this class may not be active."
|
||||
|
||||
* locs for XML Display Listener Class:
|
||||
|
||||
#DEFINE OUTPUTXMLDISPLAY_APPNAME_LOC "XML Display Listener"
|
||||
|
||||
* locs for HTML:
|
||||
|
||||
#DEFINE OUTPUTHTML_APPNAME_LOC "HTML Listener"
|
||||
BIN
COMUN/utile/hpdf/ReportOutput/reportoutput.PJT
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/reportoutput.PJT
Normal file
Binary file not shown.
BIN
COMUN/utile/hpdf/ReportOutput/reportoutput.PJX
Normal file
BIN
COMUN/utile/hpdf/ReportOutput/reportoutput.PJX
Normal file
Binary file not shown.
54
COMUN/utile/hpdf/ReportOutput/reportoutput.h
Normal file
54
COMUN/utile/hpdf/ReportOutput/reportoutput.h
Normal file
@@ -0,0 +1,54 @@
|
||||
* REPORTOUTPUT.APP constants
|
||||
|
||||
#INCLUDE FOXPRO_REPORTING.H
|
||||
|
||||
#INCLUDE REPORTOUTPUT_LOCS.H
|
||||
|
||||
* --- report output user-tunable settings
|
||||
|
||||
#DEFINE LISTENER_TYPE_DEBUG 999
|
||||
#DEFINE LISTENER_TYPE_XML 4
|
||||
#DEFINE LISTENER_TYPE_HTML 5
|
||||
|
||||
#DEFINE OUTPUTAPP_OBJTYPE_LISTENER 100
|
||||
#DEFINE OUTPUTAPP_OBJTYPE_CONFIG 110
|
||||
#DEFINE OUTPUTAPP_OBJCODE_FILTER 1
|
||||
|
||||
#DEFINE OUTPUTAPP_ASSIGN_TYPE .T.
|
||||
|
||||
#DEFINE OUTPUTAPP_ASSIGN_OUTPUTTYPE .T.
|
||||
|
||||
#DEFINE OUTPUTAPP_DEFAULTCONFIG_AFTER_CONFIGTABLEFAILURE .F.
|
||||
|
||||
#DEFINE OUTPUTAPP_XBASELISTENERS_FOR_BASETYPES .T.
|
||||
|
||||
#DEFINE OUTPUTAPP_INTERNALDBF "_ReportOutputConfig"
|
||||
#DEFINE OUTPUTAPP_EXTERNALDBF "OutputConfig"
|
||||
|
||||
#DEFINE OUTPUTAPP_REFVAR _oReportOutput
|
||||
#DEFINE OUTPUTAPP_REFVARCLASS "Collection"
|
||||
|
||||
#DEFINE OUTPUTAPP_CONFIGTOKEN_WRITETABLE -100
|
||||
#DEFINE OUTPUTAPP_CONFIGTOKEN_SETTABLE -200
|
||||
|
||||
#DEFINE OUTPUTAPP_BASELISTENER_CLASSLIB "Listener.VCX"
|
||||
|
||||
#DEFINE OUTPUTAPP_CLASS_PRINTLISTENER "CursorListener"
|
||||
#DEFINE OUTPUTAPP_CLASS_PREVIEWLISTENER "CursorListener"
|
||||
#DEFINE OUTPUTAPP_CLASS_DEBUGLISTENER "DebugListener"
|
||||
#DEFINE OUTPUTAPP_CLASS_UTILITYLISTENER "UtilityReportListener"
|
||||
#DEFINE OUTPUTAPP_CLASS_HTMLLISTENER "HTMLListener"
|
||||
#DEFINE OUTPUTAPP_CLASS_XMLLISTENER "XMLListener"
|
||||
|
||||
#DEFINE VFP_DEFAULT_DATASESSION 1
|
||||
|
||||
#DEFINE OUTPUTAPP_LOADTYPE_DEFAULT 0
|
||||
#DEFINE OUTPUTAPP_LOADTYPE_UNLOAD 1
|
||||
#DEFINE OUTPUTAPP_LOADTYPE_RELOAD 2
|
||||
* NB any value above 1 is actually reload instruction
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
12
COMUN/utile/hpdf/ReportOutput/reportoutput_locs.h
Normal file
12
COMUN/utile/hpdf/ReportOutput/reportoutput_locs.h
Normal file
@@ -0,0 +1,12 @@
|
||||
* locs for REPORTOUTPUT.APP
|
||||
|
||||
#DEFINE OUTPUTAPP_APPNAME_LOC "VFP Report Output Application"
|
||||
|
||||
#DEFINE OUTPUTAPP_CONFIGTABLEBROWSE_LOC "Output Configuration Table"
|
||||
|
||||
#DEFINE OUTPUTAPP_CONFIGTABLEWRONG_LOC "Configuration table specified to " + ;
|
||||
OUTPUTAPP_APPNAME_LOC + CHR(13) + ;
|
||||
"is not found or is in the wrong format."
|
||||
|
||||
#DEFINE OUTPUTAPP_UNKNOWN_ERROR_LOC "An unknown error has occurred in " + OUTPUTAPP_APPNAME_LOC
|
||||
|
||||
Reference in New Issue
Block a user