Dear All,
This maybe a little off-topic but I ran out of source.
Anybody with Crystal Reports (8.5) wrapper mainly with PE* functions?
I tried to reconstruct 'PELogOnServer' but my reports failed to logon with ADS (Local)...
Here is the entire wrapper .prg
I hope anyone can help.
Best Regards,
FAP
This maybe a little off-topic but I ran out of source.
Anybody with Crystal Reports (8.5) wrapper mainly with PE* functions?
I tried to reconstruct 'PELogOnServer' but my reports failed to logon with ADS (Local)...
Here is the entire wrapper .prg
I hope anyone can help.
Best Regards,
FAP
#Include "WinApi.Ch"
#Include "cstruct.ch"
C STRUCTURE PEWINDOWOPTIONS
Member StructSize IS CTYPE_UNSIGNED_SHORT
Member hasGroupTree IS CTYPE_SHORT
Member canDrillDown IS CTYPE_SHORT
Member hasNavigationControls IS CTYPE_SHORT
Member hasCancelButton IS CTYPE_SHORT
Member hasPrintButton IS CTYPE_SHORT
Member hasExportButton IS CTYPE_SHORT
Member hasZoomControl IS CTYPE_SHORT
Member hasCloseButton IS CTYPE_SHORT
Member hasProgressControls IS CTYPE_SHORT
Member hasSearchButton IS CTYPE_SHORT
Member hasPrintSetupButton IS CTYPE_SHORT
Member hasRefreshButton IS CTYPE_SHORT
Member showToolbarTips IS CTYPE_SHORT
Member showDocumentTips IS CTYPE_SHORT
Member hasLaunchButton IS CTYPE_SHORT
END C STRUCTURE
C STRUCTURE UXFXLSOPTIONS Align 1
Member StructSize IS CTYPE_UNSIGNED_SHORT
Member bColumnHeadings IS CTYPE_SHORT
Member bUseConstColWidth IS CTYPE_SHORT
Member fConstColWidth IS CTYPE_DOUBLE
Member bTabularFormat IS CTYPE_SHORT
Member baseAreaType IS CTYPE_UNSIGNED_SHORT
Member baseAreaGroupNum IS CTYPE_UNSIGNED_SHORT
Member bUseWorksheetFunc IS CTYPE_SHORT
END C STRUCTURE
C STRUCTURE UXDDISKOPTIONS Align 2
Member StructSize IS CTYPE_UNSIGNED_SHORT
Member fileName IS CTYPE_CHAR_PTR
END C STRUCTURE
C STRUCTURE PEEXPORTWOPTIONS
Member StructSize IS CTYPE_UNSIGNED_SHORT
Member formatDLLName IS CTYPE_CHAR_PTR
Member formatType IS CTYPE_UNSIGNED_LONG
Member formatOptions AS UXFXLSOPTIONS
Member destinationDLLName IS CTYPE_CHAR_PTR
Member destinationType IS CTYPE_UNSIGNED_LONG
Member destinationOptions AS UXDDISKOPTIONS
Member nFormatOptionsBytes IS CTYPE_UNSIGNED_SHORT
Member nDestinationOptionsBytes IS CTYPE_UNSIGNED_SHORT
END C STRUCTURE
C STRUCTURE PETABLELOCATION
Member StructSize IS CTYPE_UNSIGNED_SHORT
Member Location IS CTYPE_CHAR_PTR
Member SubLocation IS CTYPE_CHAR_PTR
Member ConnectBuffer IS CTYPE_CHAR_PTR
END C STRUCTURE
C STRUCTURE PELOGONINFO
Member StructSize IS CTYPE_UNSIGNED_SHORT
Member ServerName IS CTYPE_CHAR_PTR
Member DatabaseName IS CTYPE_CHAR_PTR
Member UserID IS CTYPE_CHAR_PTR
Member Password IS CTYPE_CHAR_PTR
END C STRUCTURE
Function uPeWindowOptions()
Local obj
obj IS PEWINDOWOPTIONS
WITH OBJECT obj
:StructSize := -1
:hasGroupTree := 1
:canDrillDown := 0
:hasNavigationControls := 1
:hasCancelButton := 1
:hasPrintButton := 1
:hasExportButton := 0
:hasZoomControl := 1
:hasCloseButton := 0
:hasProgressControls := 0
:hasSearchButton := 1
:hasPrintSetupButton := 1
:hasRefreshButton := 1
:showToolbarTips := 1
:showDocumentTips := 0
:hasLaunchButton := 0
END WITH
Return( obj )
Function uPeTableLocation()
Local obj
obj IS PETABLELOCATION
WITH OBJECT obj
:StructSize := -1
:Location := ""
:SubLocation := ""
:ConnectBuffer := ""
END WITH
Return( obj )
Function uPeLogonInfo()
Local obj
obj IS PELOGONINFO
WITH OBJECT obj
:StructSize := -1
:ServerName := ""
:DatabaseName := ""
:UserID := ""
:Password := ""
END WITH
Return( obj )
#PRAGMA BEGINDUMP
#include "hbapi.h"
#include "windows.h"
#include "cstruct.ch"
typedef struct PEWindowOptions
{
WORD StructSize;
short hasGroupTree;
short canDrillDown;
short hasNavigationControls;
short hasCancelButton;
short hasPrintButton;
short hasExportButton;
short hasZoomControl;
short hasCloseButton;
short hasProgressControls;
short hasSearchButton;
short hasPrintSetupButton;
short hasRefreshButton;
short showToolbarTips;
short showDocumentTips;
short hasLaunchButton;
} PEWindowOptions;
typedef struct UXDDISKOPTIONS
{
WORD StructSize;
char fileName[256];
} UXDDISKOPTIONS;
typedef struct UXFXLSOPTIONS
{
WORD StructSize;
short bColumnHeadings;
short bUseConstColWidth;
double fConstColWidth;
short bTabularFormat;
WORD baseAreaType;
WORD baseAreaGroupNum;
short bUseWorksheetFunc;
} UXFXLSOPTIONS;
typedef struct PEExportOptions
{
WORD StructSize;
LPCSTR formatDLLName;
WORD formatType;
struct UXFXLSOPTIONS formatOptions; //void FAR *formatOptions;
LPCSTR destinationDLLName;
WORD destinationType;
void FAR *destinationOptions;
WORD nFormatOptionsBytes;
WORD nDestinationOptionsBytes;
} PEExportOptions;
typedef struct PETableLocation
{
WORD StructSize;
char Location[256];
char SubLocation[256];
char ConnectBuffer[512];
} PETableLocation;
typedef struct PELogOnInfo
{
WORD StructSize;
char ServerName [128];
char DatabaseName [128];
char UserID [128];
char Password [128];
} PELogOnInfo;
BOOL WINAPI PEOpenEngine(void) ;
INT WINAPI PEOpenPrintJob( char* );
BOOL WINAPI PEClosePrintJob( int );
INT WINAPI PECloseEngine( void );
BOOL WINAPI PEStartPrintJob( int, BOOL);
BOOL WINAPI PEPrintWindow( int, BOOL);
INT WINAPI PEGetErrorCode( int );
BOOL WINAPI PEIsPrintJobFinished( int );
BOOL WINAPI PESetFormula( int, char*, char* );
BOOL WINAPI PECheckFormula( int, char* );
INT WINAPI PEGetJobStatus( int, char* );
INT WINAPI PEGetWindowHandle( int );
INT WINAPI PEGetNTables( int );
BOOL WINAPI PEGetNthTableLocation( int, int, PETableLocation FAR *options );
//BOOL WINAPI PESetNthTableLocation( int, int, PETableLocation FAR *options );
//BOOL WINAPI PEGetNthTableLocation( int, int, char* );
BOOL WINAPI PESetNthTableLocation( int, int, char* );
BOOL WINAPI PEGetSelectionFormula( int, int, int );
BOOL WINAPI PESetSelectionFormula( int, char* );
BOOL WINAPI PECheckSelectionFormula( int );
BOOL WINAPI PEOutputToWindow( int, char*, int, int, int, int, long, HDC) ;
BOOL WINAPI PEOutputToPrinter( int, int ) ;
BOOL WINAPI PEShowPrintControls( int, BOOL) ;
BOOL WINAPI PEExportPrintWindow(int, BOOL, BOOL);
BOOL WINAPI PEExportTo( int, PEExportOptions FAR *options );
BOOL WINAPI PEGetExportOptions( int, PEExportOptions FAR *options );
BOOL WINAPI PENextPrintWindowMagnification( int );
BOOL WINAPI PEShowFirstPage( int );
BOOL WINAPI PEShowPreviousPage( int );
BOOL WINAPI PEShowLastPage( int );
BOOL WINAPI PEShowNextPage( int );
//INT WINAPI PEGetNPages( int );
// 8.5 only
BOOL WINAPI PESelectPrinter( int, char*, char*, char*, char* );
BOOL WINAPI PESetWindowOptions( int, PEWindowOptions FAR *options );
BOOL WINAPI PEGetWindowOptions( int, PEWindowOptions FAR *options );
BOOL WINAPI PEEnableProgressDialog(int, BOOL);
BOOL WINAPI PEFreeDevMode(int, char*);
BOOL WINAPI PESetDialogParentWindow( int, HDC );
BOOL WINAPI PEZoomPreviewWindow( int, int );
BOOL WINAPI PEVerifyDatabase( int );
BOOL WINAPI PESetRefreshData( int, BOOL);
BOOL WINAPI PELogOnServer( const char FAR *dllName, PELogOnInfo FAR *logOnInfo );
HB_FUNC( PELOGONSERVER )
{
PELogOnInfo *oPELogOnInfo = (PELogOnInfo *) hb_param( 2, HB_IT_STRING)->item.asString.value;
oPELogOnInfo->StructSize = sizeof(PELogOnInfo);
hb_retl( PELogOnServer( hb_parc(1), oPELogOnInfo) );
}
HB_FUNC( PEZOOMPREVIEWWINDOW )
{
hb_retl( PEZoomPreviewWindow( hb_parni(1), hb_parni(2) ) );
}
HB_FUNC( PESETDIALOGPARENTWINDOW)
{
hb_retl( PESetDialogParentWindow( hb_parni(1), (HDC) hb_parnl(2) ) ) ;
}
// 8.5 only
HB_FUNC( PESETWINDOWOPTIONS )
{
PEWindowOptions *oPeWindowOptions = (PEWindowOptions *) hb_param( 2, HB_IT_STRING)->item.asString.value;
oPeWindowOptions->StructSize = sizeof(PEWindowOptions);
hb_retl( PESetWindowOptions( hb_parni(1), oPeWindowOptions ) );
}
HB_FUNC( PEGETWINDOWOPTIONS )
{
PEWindowOptions *oPeWindowOptions = (PEWindowOptions *) hb_param( 2, HB_IT_STRING )->item.asString.value;
oPeWindowOptions->StructSize = sizeof(PEWindowOptions);
hb_retl( PEGetWindowOptions( hb_parni(1), oPeWindowOptions ) );
}
HB_FUNC( PEENABLEPROGRESSDIALOG )
{
hb_retl( PEEnableProgressDialog( hb_parni(1), hb_parl(2) ) );
}
HB_FUNC( PEFREEDEVMODE )
{
hb_retl(PEFreeDevMode( hb_parni(1), hb_parc(2) ));
}
HB_FUNC( PEOPENENGINE )
{
hb_retl(PEOpenEngine());
}
HB_FUNC( PEOPENPRINTJOB )
{
hb_retni( PEOpenPrintJob( hb_parc(1) ) );
}
HB_FUNC( PECLOSEPRINTJOB )
{
hb_retl( PEClosePrintJob( hb_parni(1) ));
}
HB_FUNC( PECLOSEENGINE )
{
hb_retni( PECloseEngine());
}
HB_FUNC( PESTARTPRINTJOB )
{
hb_retl( PEStartPrintJob( hb_parni(1), hb_parl(2) ) );
}
HB_FUNC( PEPRINTWINDOW )
{
hb_retl( PEPrintWindow( hb_parni(1), hb_parl(2) ) );
}
HB_FUNC( PEGETERRORCODE )
{
hb_retni( PEGetErrorCode( hb_parni(1) ) );
}
HB_FUNC( PEISPRINTJOBFINISHED )
{
hb_retl( PEIsPrintJobFinished( hb_parni(1) ) );
}
HB_FUNC( PESETFORMULA )
{
hb_retl( PESetFormula( hb_parni(1), hb_parc(2), hb_parc(3) ) );
}
HB_FUNC( PECHECKFORMULA )
{
hb_retl( PECheckFormula( hb_parni(1), hb_parc(2) ) );
}
HB_FUNC( PEGETJOBSTATUS )
{
hb_retni( PEGetJobStatus( hb_parni(1), hb_parc(2) ) );
}
HB_FUNC( PEGETWINDOWHANDLE )
{
hb_retni( PEGetWindowHandle( hb_parni(1) ) );
}
HB_FUNC( PEGETNTABLES )
{
hb_retni( PEGetNTables( hb_parni(1) ) );
}
/*
HB_FUNC( PEGETNTHTABLELOCATION )
{
hb_retl( PEGetNthTableLocation( hb_parni(1), hb_parni(2), hb_parc(3) ) );
}
*/
HB_FUNC( PESETNTHTABLELOCATION )
{
hb_retl( PESetNthTableLocation( hb_parni(1), hb_parni(2), hb_parc(3) ) );
}
HB_FUNC( PEGETNTHTABLELOCATION )
{
PETableLocation *oPeTableLocation = (PETableLocation *) hb_param( 3, HB_IT_STRING )->item.asString.value;
oPeTableLocation->StructSize = sizeof(PETableLocation);
hb_retl( PEGetNthTableLocation( hb_parni(1), hb_parni(2), oPeTableLocation ) );
}
/*
HB_FUNC( PESETNTHTABLELOCATION )
{
PETableLocation *oPeTableLocation = (PETableLocation *) hb_param( 3, HB_IT_STRING )->item.asString.value;
oPeTableLocation->StructSize = sizeof(PETableLocation);
hb_retl( PESetNthTableLocation( hb_parni(1), hb_parni(2), oPeTableLocation ) );
}
*/
HB_FUNC( PEGETSELECTIONFORMULA )
{
hb_retl( PEGetSelectionFormula( hb_parni(1), hb_parni(2), hb_parni(3) ) );
}
HB_FUNC( PESETSELECTIONFORMULA )
{
hb_retl( PESetSelectionFormula( hb_parni(1), hb_parc(2) ) );
}
HB_FUNC( PECHECKSELECTIONFORMULA )
{
hb_retl( PECheckSelectionFormula( hb_parni(1) ) );
}
HB_FUNC( PEOUTPUTTOWINDOW )
{
hb_retl( PEOutputToWindow( hb_parni(1), hb_parc(2),
hb_parni(3), hb_parni(4), hb_parni(5), hb_parni(6),
hb_parnl(7), (HDC) hb_parnl(8) ) ) ;
}
HB_FUNC( PEOUTPUTTOPRINTER )
{
hb_retl( PEOutputToPrinter( hb_parni(1), hb_parni(2) ) );
}
HB_FUNC( PESHOWPRINTCONTROLS )
{
hb_retl(PEShowPrintControls( hb_parni(1), hb_parl(2) ));
}
HB_FUNC( PEEXPORTPRINTWINDOW )
{
hb_retl(PEExportPrintWindow( hb_parni(1), hb_parl(2), hb_parl(3) ));
}
HB_FUNC( PEEXPORTTO )
{
PEExportOptions *oPeExportoptions = (PEExportOptions *) hb_param( 2, HB_IT_STRING )->item.asString.value;
oPeExportoptions->StructSize = sizeof(PEExportOptions);
hb_retl(PEExportTo( hb_parni(1), oPeExportoptions ));
}
HB_FUNC( PEGETEXPORTOPTIONS )
{
PEExportOptions *oPeExportoptions = (PEExportOptions *) hb_param( 2, HB_IT_STRING )->item.asString.value;
oPeExportoptions->StructSize = sizeof(PEExportOptions);
hb_retl(PEGetExportOptions( hb_parni(1), oPeExportoptions ));
}
HB_FUNC( PENEXTPRINTWINDOWMAGNIFICATION )
{
hb_retl(PENextPrintWindowMagnification( hb_parni(1) ) );
}
HB_FUNC( PESHOWFIRSTPAGE )
{
hb_retl(PEShowFirstPage( hb_parni(1) ) );
}
HB_FUNC( PESHOWPREVIOUSPAGE )
{
hb_retl(PEShowPreviousPage( hb_parni(1) ) );
}
HB_FUNC( PESHOWLASTPAGE )
{
hb_retl(PEShowLastPage( hb_parni(1) ) );
}
HB_FUNC( PESHOWNEXTPAGE )
{
hb_retl(PEShowNextPage( hb_parni(1) ) );
}
HB_FUNC( PESELECTPRINTER )
{
hb_retl(PESelectPrinter( hb_parni(1), hb_parc(2), hb_parc(3), hb_parc(4), hb_parc(5) ));
}
HB_FUNC( PEVERIFYDATABASE )
{
hb_retl( PEVerifyDatabase( hb_parni(1) ));
}
HB_FUNC( PESETREFRESHDATA )
{
hb_retl( PESetRefreshData( hb_parni(1), hb_parl(2) ));
}
#PRAGMA ENDDUMPKind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15