2009-03-27 01:52 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
* contrib/hbole/tests/hbole.hbp
* contrib/gtwvg/tests/gtwvg.hbp
* contrib/hbwin/tests/hbwin.hbp
- utils/hbmk2/examples/winapi.hbp
+ Added all important Windows system libs to all
win compilers in hbmk2.
- Removed above libs from .hbp files.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/browodbc.prg
* contrib/hbodbc/odbc.c
* Further cleanups.
SETNUMLEN() -> SQLNUMSETLEN(). This should probably be a core
function by the name HB_NUMSETLEN().
* contrib/hbole/tests/testole.prg
* contrib/hbole/tests/sample.odt
+ Updated to latest hbole code.
; TOFIX: hbole code doesn't compile with MSVC in default C++
even if #define CINTERFACE 1 is enabled.
; TOFIX: OpenOffice example fails at some point. It probably
needs array support.
* contrib/hbole/olecore.c
* Minor formatting.
* contrib/hbqt/hbqt_qabstractitemview.cpp
! Fixed backslash to forward slash.
* contrib/hbct/tests/ctwtest.prg
* contrib/hbnf/dispmsg.prg
* contrib/hbnf/pegs.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/calendar.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/examples/terminal/trm_server.prg
* contrib/examples/terminal/trm_client.prg
! Using manifest constants.
* contrib/hbmysql/mysql.c
* contrib/hbodbc/odbc.c
* Minor cleanup.
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/odbccall.prg
* contrib/hbodbc/tests/testodbc.prg
* Minor.
This commit is contained in:
@@ -8,6 +8,56 @@
|
||||
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2009-03-27 01:52 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
* contrib/hbole/tests/hbole.hbp
|
||||
* contrib/gtwvg/tests/gtwvg.hbp
|
||||
* contrib/hbwin/tests/hbwin.hbp
|
||||
- utils/hbmk2/examples/winapi.hbp
|
||||
+ Added all important Windows system libs to all
|
||||
win compilers in hbmk2.
|
||||
- Removed above libs from .hbp files.
|
||||
|
||||
* contrib/hbodbc/todbc.prg
|
||||
* contrib/hbodbc/browodbc.prg
|
||||
* contrib/hbodbc/odbc.c
|
||||
* Further cleanups.
|
||||
SETNUMLEN() -> SQLNUMSETLEN(). This should probably be a core
|
||||
function by the name HB_NUMSETLEN().
|
||||
|
||||
* contrib/hbole/tests/testole.prg
|
||||
* contrib/hbole/tests/sample.odt
|
||||
+ Updated to latest hbole code.
|
||||
; TOFIX: hbole code doesn't compile with MSVC in default C++
|
||||
even if #define CINTERFACE 1 is enabled.
|
||||
; TOFIX: OpenOffice example fails at some point. It probably
|
||||
needs array support.
|
||||
|
||||
* contrib/hbole/olecore.c
|
||||
* Minor formatting.
|
||||
|
||||
* contrib/hbqt/hbqt_qabstractitemview.cpp
|
||||
! Fixed backslash to forward slash.
|
||||
|
||||
* contrib/hbct/tests/ctwtest.prg
|
||||
* contrib/hbnf/dispmsg.prg
|
||||
* contrib/hbnf/pegs.prg
|
||||
* contrib/hbnf/tbwhile.prg
|
||||
* contrib/hbnf/calendar.prg
|
||||
* contrib/gtwvg/tests/demowvg.prg
|
||||
* contrib/examples/terminal/trm_server.prg
|
||||
* contrib/examples/terminal/trm_client.prg
|
||||
! Using manifest constants.
|
||||
|
||||
* contrib/hbmysql/mysql.c
|
||||
* contrib/hbodbc/odbc.c
|
||||
* Minor cleanup.
|
||||
|
||||
* contrib/hbodbc/tests/odbcdemo.prg
|
||||
* contrib/hbodbc/tests/odbccall.prg
|
||||
* contrib/hbodbc/tests/testodbc.prg
|
||||
* Minor.
|
||||
|
||||
2009-03-26 22:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* contrib/hbodbc/tests/odbcdemo.prg
|
||||
* contrib/hbodbc/tests/testodbc.prg
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
|
||||
#include 'hbgtinfo.ch'
|
||||
#include 'fileio.ch'
|
||||
#include "setcurs.ch"
|
||||
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
@@ -134,7 +135,7 @@ Function Main( cAddress, cPort, cAppln, cParams, cDirectory )
|
||||
|
||||
TrmInitFont()
|
||||
|
||||
SetCursor( 0 )
|
||||
SetCursor( SC_NONE )
|
||||
SetColor( 'W/N' )
|
||||
SetBlink( .T. )
|
||||
|
||||
@@ -721,7 +722,7 @@ Static Function DispClock()
|
||||
|
||||
if SetClock()
|
||||
if !empty( aInfo := SetClockInfo() )
|
||||
nCrs := SetCursor( 0 )
|
||||
nCrs := SetCursor( SC_NONE )
|
||||
nRow := row()
|
||||
nCol := col()
|
||||
DispOutAt( aInfo[ 1 ], aInfo[ 2 ], time(), aInfo[ 3 ] )
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
#include 'inkey.ch'
|
||||
#include "setcurs.ch"
|
||||
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
@@ -95,8 +96,7 @@ Function Main( cPort )
|
||||
MutexCount := HB_MutexCreate()
|
||||
|
||||
SetColor( 'W+/N' )
|
||||
SetCursor( 0 )
|
||||
SetCursor( .f. )
|
||||
SetCursor( SC_NONE )
|
||||
|
||||
BuildScreen()
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "hbgtinfo.ch"
|
||||
#include "hbgtwvg.ch"
|
||||
#include "wvgparts.ch"
|
||||
#include "setcurs.ch"
|
||||
|
||||
REQUEST DbfCdx
|
||||
REQUEST DbfNtx
|
||||
@@ -772,7 +773,7 @@ FUNCTION WvtMyBrowse_X( oCrt )
|
||||
LOCAL nLeft := 3
|
||||
LOCAL nBottom := maxrow() - 2
|
||||
LOCAL nRight := maxcol() - 3
|
||||
LOCAL nCursor := setCursor( 0 )
|
||||
LOCAL nCursor := setCursor( SC_NONE )
|
||||
LOCAL nRow := row()
|
||||
LOCAL nCol := col()
|
||||
LOCAL cColor := SetColor( "N/W*,N/GR*,,,N/W*" )
|
||||
@@ -3939,7 +3940,7 @@ PROCEDURE GCUIConsole( oCrt )
|
||||
//
|
||||
hTxt := Wvg_TextBox( 3,57,16,75, {10,10,-10,-10}, 'This is first TextBox Line!', 2, 2 )
|
||||
//
|
||||
Wvg_Image( 15,36,16,42, {-3,-3,3,3}, GOBJ_IMAGESOURCE_FILE, 'Vouch1.bmp' )
|
||||
Wvg_Image( 15,36,16,42, {-3,-3,3,3}, GOBJ_IMAGESOURCE_FILE, 'vouch1.bmp' )
|
||||
Wvg_BoxRaised( 15,36,16,42,{-2,-2,2,2} )
|
||||
//
|
||||
Wvg_ShadedRect( 1,54,18,79, { -5,-5,5,5 }, 0, {65000,21000,7000,56000}, {255,32255,16000,32500} )
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
|
||||
{win}gt=gtwvg
|
||||
{win}libs=hbwin
|
||||
{win}libs=winspool comctl32 comdlg32 shell32 ole32 oleaut32
|
||||
gui=yes
|
||||
mt=yes
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
#define ntrim(n) ltrim(str(n))
|
||||
#include "inkey.ch"
|
||||
#include "setcurs.ch"
|
||||
|
||||
proc main()
|
||||
local aWin:=array(9), y, x, i, k, lFlag:=.f., lBoard:=.t.
|
||||
@@ -90,7 +91,7 @@ while .t.
|
||||
lFlag:=!lFlag
|
||||
setcursor(iif(lFlag,3,1))
|
||||
elseif k==K_DEL
|
||||
setcursor(0)
|
||||
setcursor(SC_NONE)
|
||||
elseif k==K_LEFT
|
||||
wmove(wrow(),wcol()-1)
|
||||
elseif k==K_RIGHT
|
||||
|
||||
@@ -353,32 +353,32 @@ HB_FUNC( MYSQL_ESCAPE_STRING_FROM_FILE )
|
||||
|
||||
#if !defined(HB_MYSQL_LEGACY_LEVEL_OFF)
|
||||
|
||||
HB_FUNC_EXTERN( MYSQL_GET_SERVER_VERSION ); HB_FUNC( SQLVERSION ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_VERSION ); }
|
||||
HB_FUNC_EXTERN( MYSQL_REAL_CONNECT ); HB_FUNC( SQLCONNECT ) { HB_FUNC_EXEC( MYSQL_REAL_CONNECT ); }
|
||||
HB_FUNC_EXTERN( MYSQL_CLOSE ); HB_FUNC( SQLCLOSE ) { HB_FUNC_EXEC( MYSQL_CLOSE ); }
|
||||
HB_FUNC_EXTERN( MYSQL_COMMIT ); HB_FUNC( SQLCOMMIT ) { HB_FUNC_EXEC( MYSQL_COMMIT ); }
|
||||
HB_FUNC_EXTERN( MYSQL_ROLLBACK ); HB_FUNC( SQLROLLBACK ) { HB_FUNC_EXEC( MYSQL_ROLLBACK ); }
|
||||
HB_FUNC_EXTERN( MYSQL_SELECT_DB ); HB_FUNC( SQLSELECTD ) { HB_FUNC_EXEC( MYSQL_SELECT_DB ); }
|
||||
HB_FUNC_EXTERN( MYSQL_QUERY ); HB_FUNC( SQLQUERY ) { HB_FUNC_EXEC( MYSQL_QUERY ); }
|
||||
HB_FUNC_EXTERN( MYSQL_STORE_RESULT ); HB_FUNC( SQLSTORER ) { HB_FUNC_EXEC( MYSQL_STORE_RESULT ); }
|
||||
HB_FUNC_EXTERN( MYSQL_USE_RESULT ); HB_FUNC( SQLUSERES ) { HB_FUNC_EXEC( MYSQL_USE_RESULT ); }
|
||||
HB_FUNC_EXTERN( MYSQL_FREE_RESULT ); HB_FUNC( SQLFREER ) { HB_FUNC_EXEC( MYSQL_FREE_RESULT ); }
|
||||
HB_FUNC_EXTERN( MYSQL_FETCH_ROW ); HB_FUNC( SQLFETCHR ) { HB_FUNC_EXEC( MYSQL_FETCH_ROW ); }
|
||||
HB_FUNC_EXTERN( MYSQL_DATA_SEEK ); HB_FUNC( SQLDATAS ) { HB_FUNC_EXEC( MYSQL_DATA_SEEK ); }
|
||||
HB_FUNC_EXTERN( MYSQL_NUM_ROWS ); HB_FUNC( SQLNROWS ) { HB_FUNC_EXEC( MYSQL_NUM_ROWS ); }
|
||||
HB_FUNC_EXTERN( MYSQL_FETCH_FIELD ); HB_FUNC( SQLFETCHF ) { HB_FUNC_EXEC( MYSQL_FETCH_FIELD ); }
|
||||
HB_FUNC_EXTERN( MYSQL_FIELD_SEEK ); HB_FUNC( SQLFSEEK ) { HB_FUNC_EXEC( MYSQL_FIELD_SEEK ); }
|
||||
HB_FUNC_EXTERN( MYSQL_NUM_FIELDS ); HB_FUNC( SQLNUMFI ) { HB_FUNC_EXEC( MYSQL_NUM_FIELDS ); }
|
||||
HB_FUNC_EXTERN( MYSQL_FIELD_COUNT ); HB_FUNC( SQLFICOU ) { HB_FUNC_EXEC( MYSQL_FIELD_COUNT ); }
|
||||
HB_FUNC_EXTERN( MYSQL_LIST_FIELDS ); HB_FUNC( SQLLISTF ) { HB_FUNC_EXEC( MYSQL_LIST_FIELDS ); }
|
||||
HB_FUNC_EXTERN( MYSQL_ERROR ); HB_FUNC( SQLGETERR ) { HB_FUNC_EXEC( MYSQL_ERROR ); }
|
||||
HB_FUNC_EXTERN( MYSQL_LIST_DBS ); HB_FUNC( SQLLISTDB ) { HB_FUNC_EXEC( MYSQL_LIST_DBS ); }
|
||||
HB_FUNC_EXTERN( MYSQL_LIST_TABLES ); HB_FUNC( SQLLISTTBL ) { HB_FUNC_EXEC( MYSQL_LIST_TABLES ); }
|
||||
HB_FUNC_EXTERN( MYSQL_AFFECTED_ROWS ); HB_FUNC( SQLAFFROWS ) { HB_FUNC_EXEC( MYSQL_AFFECTED_ROWS ); }
|
||||
HB_FUNC_EXTERN( MYSQL_GET_HOST_INFO ); HB_FUNC( SQLHOSTINFO ) { HB_FUNC_EXEC( MYSQL_GET_HOST_INFO ); }
|
||||
HB_FUNC_EXTERN( MYSQL_GET_SERVER_INFO ); HB_FUNC( SQLSRVINFO ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_INFO ); }
|
||||
HB_FUNC_EXTERN( MYSQL_ESCAPE_STRING ); HB_FUNC( DATATOSQL ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING ); }
|
||||
HB_FUNC_EXTERN( MYSQL_ESCAPE_STRING_FROM_FILE ); HB_FUNC( FILETOSQLBINARY ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING_FROM_FILE ); }
|
||||
HB_FUNC( SQLVERSION ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_VERSION ); }
|
||||
HB_FUNC( SQLCONNECT ) { HB_FUNC_EXEC( MYSQL_REAL_CONNECT ); }
|
||||
HB_FUNC( SQLCLOSE ) { HB_FUNC_EXEC( MYSQL_CLOSE ); }
|
||||
HB_FUNC( SQLCOMMIT ) { HB_FUNC_EXEC( MYSQL_COMMIT ); }
|
||||
HB_FUNC( SQLROLLBACK ) { HB_FUNC_EXEC( MYSQL_ROLLBACK ); }
|
||||
HB_FUNC( SQLSELECTD ) { HB_FUNC_EXEC( MYSQL_SELECT_DB ); }
|
||||
HB_FUNC( SQLQUERY ) { HB_FUNC_EXEC( MYSQL_QUERY ); }
|
||||
HB_FUNC( SQLSTORER ) { HB_FUNC_EXEC( MYSQL_STORE_RESULT ); }
|
||||
HB_FUNC( SQLUSERES ) { HB_FUNC_EXEC( MYSQL_USE_RESULT ); }
|
||||
HB_FUNC( SQLFREER ) { HB_FUNC_EXEC( MYSQL_FREE_RESULT ); }
|
||||
HB_FUNC( SQLFETCHR ) { HB_FUNC_EXEC( MYSQL_FETCH_ROW ); }
|
||||
HB_FUNC( SQLDATAS ) { HB_FUNC_EXEC( MYSQL_DATA_SEEK ); }
|
||||
HB_FUNC( SQLNROWS ) { HB_FUNC_EXEC( MYSQL_NUM_ROWS ); }
|
||||
HB_FUNC( SQLFETCHF ) { HB_FUNC_EXEC( MYSQL_FETCH_FIELD ); }
|
||||
HB_FUNC( SQLFSEEK ) { HB_FUNC_EXEC( MYSQL_FIELD_SEEK ); }
|
||||
HB_FUNC( SQLNUMFI ) { HB_FUNC_EXEC( MYSQL_NUM_FIELDS ); }
|
||||
HB_FUNC( SQLFICOU ) { HB_FUNC_EXEC( MYSQL_FIELD_COUNT ); }
|
||||
HB_FUNC( SQLLISTF ) { HB_FUNC_EXEC( MYSQL_LIST_FIELDS ); }
|
||||
HB_FUNC( SQLGETERR ) { HB_FUNC_EXEC( MYSQL_ERROR ); }
|
||||
HB_FUNC( SQLLISTDB ) { HB_FUNC_EXEC( MYSQL_LIST_DBS ); }
|
||||
HB_FUNC( SQLLISTTBL ) { HB_FUNC_EXEC( MYSQL_LIST_TABLES ); }
|
||||
HB_FUNC( SQLAFFROWS ) { HB_FUNC_EXEC( MYSQL_AFFECTED_ROWS ); }
|
||||
HB_FUNC( SQLHOSTINFO ) { HB_FUNC_EXEC( MYSQL_GET_HOST_INFO ); }
|
||||
HB_FUNC( SQLSRVINFO ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_INFO ); }
|
||||
HB_FUNC( DATATOSQL ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING ); }
|
||||
HB_FUNC( FILETOSQLBINARY ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING_FROM_FILE ); }
|
||||
|
||||
/* NOTE: Use hb_bitAnd() instead. Notice that latter will RTE on wrong arguments. */
|
||||
HB_FUNC( SQLAND )
|
||||
|
||||
@@ -96,6 +96,8 @@
|
||||
* $END$
|
||||
*/
|
||||
|
||||
#include "setcurs.ch"
|
||||
|
||||
#ifdef FT_TEST
|
||||
FUNCTION MAIN()
|
||||
local aRet[8], i
|
||||
@@ -136,8 +138,8 @@ FUNCTION FT_CALENDAR (nRow, nCol, cColor, lShadow, lShowHelp)
|
||||
nCol := IIF ( nCol <1 .OR. nCol >63, 63, nCol ) //check col bounds
|
||||
|
||||
cSavColor := SETCOLOR(cColor) //save current and set display color
|
||||
cSaveScreen := SAVESCREEN ( nRow-1, nCol-1, nRow+3, nCol+17 ) //save screen
|
||||
cSaveCursor := SETCURSOR (0) // save current and turn off cursor
|
||||
cSaveScreen := SAVESCREEN( nRow-1, nCol-1, nRow+3, nCol+17 ) //save screen
|
||||
cSaveCursor := SETCURSOR( SC_NONE ) // save current and turn off cursor
|
||||
|
||||
IF lShadow
|
||||
@nRow-1,nCol-1 to nRow+2, nCol+15
|
||||
@@ -231,4 +233,3 @@ FUNCTION FT_CALENDAR (nRow, nCol, cColor, lShadow, lShowHelp)
|
||||
RETURN ( VAL(SUBSTR(cString,nOffset,nChar)) )
|
||||
|
||||
* end of calendar.prg
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@
|
||||
|
||||
|
||||
#include "inkey.ch"
|
||||
#include "setcurs.ch"
|
||||
|
||||
// beginning of demo program
|
||||
#ifdef FT_TEST
|
||||
@@ -180,7 +181,7 @@ PROCEDURE Main( cCmdLine )
|
||||
{ cWindN,,,,, cWindH } }, "BIOQ" + CHR(27) )
|
||||
|
||||
SETCOLOR( "W/N" )
|
||||
SETCURSOR( 1 )
|
||||
SETCURSOR( SC_NORMAL )
|
||||
SETBLINK( .T.)
|
||||
RESTSCREEN(,,,, cDosScrn )
|
||||
SETPOS(nDosRow, nDosCol)
|
||||
@@ -265,7 +266,7 @@ FUNCTION FT_DispMsg( aInfo, cKey, nBoxTop, nBoxLeft, cnBoxString, lShadow )
|
||||
|
||||
cOldScreen := SAVESCREEN( nBoxTop, nBoxLeft, nBoxBottom+1, nBoxRight+2 )
|
||||
|
||||
cOldCursor := SETCURSOR( 0 )
|
||||
cOldCursor := SETCURSOR( SC_NONE )
|
||||
|
||||
// draw box
|
||||
cOldColor := SETCOLOR( aInfo[ 2, LEN( aInfo[2] ) ] )
|
||||
@@ -333,4 +334,3 @@ FUNCTION FT_DispMsg( aInfo, cKey, nBoxTop, nBoxLeft, cnBoxString, lShadow )
|
||||
SETCOLOR( cOldColor )
|
||||
SETCURSOR( cOldCursor )
|
||||
RETURN xRtnVal
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
|
||||
#include "inkey.ch"
|
||||
#include "common.ch"
|
||||
#include "setcurs.ch"
|
||||
|
||||
#translate SINGLEBOX(<top>, <left>, <bottom>, <right>) => ;
|
||||
@ <top>, <left>, <bottom>, <right> BOX "ÚÄ¿³ÙÄÀ³ "
|
||||
@@ -194,11 +195,11 @@ return NIL
|
||||
|
||||
static function err_msg(msg)
|
||||
local buffer := savescreen(23, 33, 23, 47)
|
||||
setcursor(0)
|
||||
setcursor(SC_NONE)
|
||||
setcolor('+w/r')
|
||||
@ 23, 33 say msg
|
||||
inkey(2)
|
||||
setcursor(1)
|
||||
setcursor(SC_NORMAL)
|
||||
restscreen(23, 33, 23, 47, buffer)
|
||||
return nil
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
<param> := IIF(<param> = NIL, <val>, <param> ) ;
|
||||
[; <paramn> := IIF(<paramn> = NIL, <valn>, <paramn> ) ]
|
||||
#include "inkey.ch"
|
||||
#include "setcurs.ch"
|
||||
|
||||
|
||||
#ifdef FT_TEST
|
||||
@@ -352,7 +353,7 @@ FUNCTION FT_BRWSWHL(aFields, bWhileCond, cKey, nFreeze, lSaveScrn, ;
|
||||
@ nTop, nLeft CLEAR TO nBottom, nRight
|
||||
SetColor(cColorSave)
|
||||
|
||||
nCursSave := SetCursor(0)
|
||||
nCursSave := SetCursor(SC_NONE)
|
||||
|
||||
lMore := .t.
|
||||
WHILE (lMore)
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
|
||||
#include "common.ch"
|
||||
#include "inkey.ch"
|
||||
#include "setcurs.ch"
|
||||
|
||||
FUNCTION BrowseODBC( nTop, nLeft, nBottom, nRight, oDataSource )
|
||||
|
||||
@@ -70,12 +71,11 @@ FUNCTION BrowseODBC( nTop, nLeft, nBottom, nRight, oDataSource )
|
||||
LOCAL lExit := .F.
|
||||
LOCAL bAction
|
||||
LOCAL oColumn
|
||||
//LOCAL cFName
|
||||
|
||||
//TODO: Check if datasource is open
|
||||
//IF ! Used()
|
||||
// RETURN .F.
|
||||
//ENDIF
|
||||
// TODO: Check if datasource is open
|
||||
// IF ! Used()
|
||||
// RETURN .F.
|
||||
// ENDIF
|
||||
|
||||
IF PCount() < 4
|
||||
nTop := 1
|
||||
@@ -84,7 +84,7 @@ FUNCTION BrowseODBC( nTop, nLeft, nBottom, nRight, oDataSource )
|
||||
nRight := MaxCol()
|
||||
ENDIF
|
||||
|
||||
nOldCursor := SetCursor( 0 )
|
||||
nOldCursor := SetCursor( SC_NONE )
|
||||
cOldScreen := SaveScreen( nTop, nLeft, nBottom, nRight )
|
||||
|
||||
@ nTop, nLeft TO nBottom, nRight
|
||||
|
||||
@@ -689,29 +689,30 @@ HB_FUNC( SQLSTOD )
|
||||
hb_retds( NULL );
|
||||
}
|
||||
|
||||
HB_FUNC( SETNUMLEN ) /* SETNUMLEN( nValue, nSize, nDecimals ) ==> nValue (nSize, nDec) */
|
||||
HB_FUNC( SQLNUMSETLEN ) /* SQLNUMSETLEN( nValue, nSize, nDecimals ) ==> nValue (nSize, nDec) */
|
||||
{
|
||||
hb_retnlen( hb_parnd( 1 ), hb_parni( 2 ), hb_parni( 3 ) );
|
||||
}
|
||||
|
||||
#if !defined(HB_ODBC_LEGACY_LEVEL_OFF)
|
||||
|
||||
HB_FUNC_EXTERN( SQLALLOCENV ); HB_FUNC( SQLALLOCEN ) { HB_FUNC_EXEC( SQLALLOCENV ); }
|
||||
HB_FUNC_EXTERN( SQLALLOCCONNECT ); HB_FUNC( SQLALLOCCO ) { HB_FUNC_EXEC( SQLALLOCCONNECT ); }
|
||||
HB_FUNC_EXTERN( SQLDRIVERCONNECT ); HB_FUNC( SQLDRIVERC ) { HB_FUNC_EXEC( SQLDRIVERCONNECT ); }
|
||||
HB_FUNC_EXTERN( SQLDISCONNECT ); HB_FUNC( SQLDISCONN ) { HB_FUNC_EXEC( SQLDISCONNECT ); }
|
||||
HB_FUNC_EXTERN( SQLFREECONNECT ); HB_FUNC( SQLFREECON ) { HB_FUNC_EXEC( SQLFREECONNECT ); }
|
||||
HB_FUNC_EXTERN( SQLALLOCSTMT ); HB_FUNC( SQLALLOCST ) { HB_FUNC_EXEC( SQLALLOCSTMT ); }
|
||||
HB_FUNC_EXTERN( SQLFREESTMT ); HB_FUNC( SQLFREESTM ) { HB_FUNC_EXEC( SQLFREESTMT ); }
|
||||
HB_FUNC_EXTERN( SQLEXECDIRECT ); HB_FUNC( SQLEXECDIR ) { HB_FUNC_EXEC( SQLEXECDIRECT ); }
|
||||
HB_FUNC_EXTERN( SQLNUMRESULTCOLS ); HB_FUNC( SQLNUMRES ) { HB_FUNC_EXEC( SQLNUMRESULTCOLS ); }
|
||||
HB_FUNC_EXTERN( SQLDESCRIBECOL ); HB_FUNC( SQLDESCRIB ) { HB_FUNC_EXEC( SQLDESCRIBECOL ); }
|
||||
HB_FUNC_EXTERN( SQLEXTENDEDFETCH ); HB_FUNC( SQLEXTENDE ) { HB_FUNC_EXEC( SQLEXTENDEDFETCH ); }
|
||||
HB_FUNC_EXTERN( SQLFETCHSCROLL ); HB_FUNC( SQLFETCHSC ) { HB_FUNC_EXEC( SQLFETCHSCROLL ); }
|
||||
HB_FUNC_EXTERN( SQLROWCOUNT ); HB_FUNC( SQLROWCOUN ) { HB_FUNC_EXEC( SQLROWCOUNT ); }
|
||||
HB_FUNC_EXTERN( SQLSETCONNECTATTR ); HB_FUNC( SQLSETCONNECTOPTION ) { HB_FUNC_EXEC( SQLSETCONNECTATTR ); }
|
||||
HB_FUNC_EXTERN( SQLSETSTMTATTR ); HB_FUNC( SQLSETSTMTOPTION ) { HB_FUNC_EXEC( SQLSETSTMTATTR ); }
|
||||
HB_FUNC_EXTERN( SQLGETCONNECTATTR ); HB_FUNC( SQLGETCONNECTOPTION ) { HB_FUNC_EXEC( SQLGETCONNECTATTR ); }
|
||||
HB_FUNC_EXTERN( SQLGETSTMTATTR ); HB_FUNC( SQLGETSTMTOPTION ) { HB_FUNC_EXEC( SQLGETSTMTATTR ); }
|
||||
HB_FUNC( SQLALLOCEN ) { HB_FUNC_EXEC( SQLALLOCENV ); }
|
||||
HB_FUNC( SQLALLOCCO ) { HB_FUNC_EXEC( SQLALLOCCONNECT ); }
|
||||
HB_FUNC( SQLDRIVERC ) { HB_FUNC_EXEC( SQLDRIVERCONNECT ); }
|
||||
HB_FUNC( SQLDISCONN ) { HB_FUNC_EXEC( SQLDISCONNECT ); }
|
||||
HB_FUNC( SQLFREECON ) { HB_FUNC_EXEC( SQLFREECONNECT ); }
|
||||
HB_FUNC( SQLALLOCST ) { HB_FUNC_EXEC( SQLALLOCSTMT ); }
|
||||
HB_FUNC( SQLFREESTM ) { HB_FUNC_EXEC( SQLFREESTMT ); }
|
||||
HB_FUNC( SQLEXECDIR ) { HB_FUNC_EXEC( SQLEXECDIRECT ); }
|
||||
HB_FUNC( SQLNUMRES ) { HB_FUNC_EXEC( SQLNUMRESULTCOLS ); }
|
||||
HB_FUNC( SQLDESCRIB ) { HB_FUNC_EXEC( SQLDESCRIBECOL ); }
|
||||
HB_FUNC( SQLEXTENDE ) { HB_FUNC_EXEC( SQLEXTENDEDFETCH ); }
|
||||
HB_FUNC( SQLFETCHSC ) { HB_FUNC_EXEC( SQLFETCHSCROLL ); }
|
||||
HB_FUNC( SQLROWCOUN ) { HB_FUNC_EXEC( SQLROWCOUNT ); }
|
||||
HB_FUNC( SQLSETCONNECTOPTION ) { HB_FUNC_EXEC( SQLSETCONNECTATTR ); }
|
||||
HB_FUNC( SQLSETSTMTOPTION ) { HB_FUNC_EXEC( SQLSETSTMTATTR ); }
|
||||
HB_FUNC( SQLGETCONNECTOPTION ) { HB_FUNC_EXEC( SQLGETCONNECTATTR ); }
|
||||
HB_FUNC( SQLGETSTMTOPTION ) { HB_FUNC_EXEC( SQLGETSTMTATTR ); }
|
||||
HB_FUNC( SETNUMLEN ) { HB_FUNC_EXEC( SQLNUMSETLEN ); }
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,12 +8,11 @@
|
||||
PROCEDURE Main()
|
||||
|
||||
LOCAL cConStr
|
||||
LOCAL cDir := hb_DirBase()
|
||||
LOCAL dsFunctions
|
||||
|
||||
LOCAL Self
|
||||
|
||||
cConStr := "DBQ=" + hb_FNameMerge( cDir, "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}"
|
||||
cConStr := "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}"
|
||||
|
||||
dsFunctions := TODBC():New( cConStr )
|
||||
|
||||
|
||||
@@ -8,11 +8,10 @@ PROCEDURE Main()
|
||||
LOCAL nOp
|
||||
LOCAL dsFunctions
|
||||
LOCAL cConStr
|
||||
LOCAL cDir := hb_DirBase()
|
||||
|
||||
LOCAL i
|
||||
|
||||
cConStr := "DBQ=" + hb_FNameMerge( cDir, "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}"
|
||||
cConStr := "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}"
|
||||
|
||||
dsFunctions := TODBC():New( cConStr )
|
||||
|
||||
|
||||
@@ -18,9 +18,7 @@ PROCEDURE Main()
|
||||
LOCAL nRows := 0
|
||||
LOCAL cCode, cFunc, cState, cComm
|
||||
|
||||
LOCAL cDir := hb_DirBase()
|
||||
|
||||
cConstrin := "DBQ=" + hb_FNameMerge( cDir, "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}"
|
||||
cConstrin := "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}"
|
||||
|
||||
? padc( "*** ODBC ACCESS TEST ***", 80 )
|
||||
?
|
||||
|
||||
@@ -730,7 +730,7 @@ METHOD LoadData( nPos ) CLASS TODBC
|
||||
|
||||
CASE SQL_TIMESTAMP
|
||||
CASE SQL_DATE
|
||||
uData := SToD( SubStr( uData, 1, 4 ) + SubStr( uData, 6, 2 ) + SubStr( uData, 9, 2 ) )
|
||||
uData := hb_SToD( SubStr( uData, 1, 4 ) + SubStr( uData, 6, 2 ) + SubStr( uData, 9, 2 ) )
|
||||
EXIT
|
||||
|
||||
CASE SQL_BIT
|
||||
@@ -750,7 +750,7 @@ METHOD LoadData( nPos ) CLASS TODBC
|
||||
uData := StrTran( uData, ",", "." )
|
||||
uData := Round( Val( uData ), ::Fields[ i ]:DataSize )
|
||||
ENDIF
|
||||
uData := SetNumLen( uData, ::Fields[ i ]:DataSize, ::Fields[ i ]:DataDecs )
|
||||
uData := SQLNumSetLen( uData, ::Fields[ i ]:DataSize, ::Fields[ i ]:DataDecs )
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
@@ -268,7 +268,7 @@ static void hb_oleVariantToItem( PHB_ITEM pItem, VARIANT* pVariant )
|
||||
hb_itemPutNInt( pItem, ( HB_LONG ) pVariant->n1.n2.n3.ulVal );
|
||||
break;
|
||||
|
||||
case VT_UI8:
|
||||
case VT_UI8:
|
||||
/* TODO: sign is lost. Convertion to double will lose significant digits. */
|
||||
hb_itemPutNInt( pItem, ( HB_LONG ) pVariant->n1.n2.n3.ullVal );
|
||||
break;
|
||||
@@ -443,7 +443,7 @@ HB_FUNC( OLEGETACTIVEOBJECT ) /* ( cOleName | cCLSID [, cIID ] ) */
|
||||
}
|
||||
|
||||
|
||||
HB_FUNC( OLERELEASE )
|
||||
HB_FUNC( OLERELEASE )
|
||||
{
|
||||
IDispatch * pDisp = ( IDispatch* ) hb_parptr( 1 );
|
||||
|
||||
@@ -462,89 +462,27 @@ HB_FUNC( OLEERRORTEXT )
|
||||
{
|
||||
switch( s_lOleError )
|
||||
{
|
||||
case S_OK:
|
||||
hb_retc( "" );
|
||||
break;
|
||||
|
||||
case CO_E_CLASSSTRING:
|
||||
hb_retc( "CO_E_CLASSSTRING" );
|
||||
break;
|
||||
|
||||
case OLE_E_WRONGCOMPOBJ:
|
||||
hb_retc( "OLE_E_WRONGCOMPOBJ" );
|
||||
break;
|
||||
|
||||
case REGDB_E_CLASSNOTREG:
|
||||
hb_retc( "REGDB_E_CLASSNOTREG" );
|
||||
break;
|
||||
|
||||
case REGDB_E_WRITEREGDB:
|
||||
hb_retc( "REGDB_E_WRITEREGDB" );
|
||||
break;
|
||||
|
||||
case E_OUTOFMEMORY:
|
||||
hb_retc( "E_OUTOFMEMORY" );
|
||||
break;
|
||||
|
||||
case E_INVALIDARG:
|
||||
hb_retc( "E_INVALIDARG" );
|
||||
break;
|
||||
|
||||
case E_UNEXPECTED:
|
||||
hb_retc( "E_UNEXPECTED" );
|
||||
break;
|
||||
|
||||
case DISP_E_UNKNOWNNAME:
|
||||
hb_retc( "DISP_E_UNKNOWNNAME" );
|
||||
break;
|
||||
|
||||
case DISP_E_UNKNOWNLCID:
|
||||
hb_retc( "DISP_E_UNKNOWNLCID" );
|
||||
break;
|
||||
|
||||
case DISP_E_BADPARAMCOUNT:
|
||||
hb_retc( "DISP_E_BADPARAMCOUNT" );
|
||||
break;
|
||||
|
||||
case DISP_E_BADVARTYPE:
|
||||
hb_retc( "DISP_E_BADVARTYPE" );
|
||||
break;
|
||||
|
||||
case DISP_E_EXCEPTION:
|
||||
hb_retc( "DISP_E_EXCEPTION" );
|
||||
break;
|
||||
|
||||
case DISP_E_MEMBERNOTFOUND:
|
||||
hb_retc( "DISP_E_MEMBERNOTFOUND" );
|
||||
break;
|
||||
|
||||
case DISP_E_NONAMEDARGS:
|
||||
hb_retc( "DISP_E_NONAMEDARGS" );
|
||||
break;
|
||||
|
||||
case DISP_E_OVERFLOW:
|
||||
hb_retc( "DISP_E_OVERFLOW" );
|
||||
break;
|
||||
|
||||
case DISP_E_PARAMNOTFOUND:
|
||||
hb_retc( "DISP_E_PARAMNOTFOUND" );
|
||||
break;
|
||||
|
||||
case DISP_E_TYPEMISMATCH:
|
||||
hb_retc( "DISP_E_TYPEMISMATCH" );
|
||||
break;
|
||||
|
||||
case DISP_E_UNKNOWNINTERFACE:
|
||||
hb_retc( "DISP_E_UNKNOWNINTERFACE" );
|
||||
break;
|
||||
|
||||
case DISP_E_PARAMNOTOPTIONAL:
|
||||
hb_retc( "DISP_E_PARAMNOTOPTIONAL" );
|
||||
break;
|
||||
|
||||
default:
|
||||
hb_retc( "Unknown OLE error" );
|
||||
break;
|
||||
case S_OK: hb_retc_null(); break;
|
||||
case CO_E_CLASSSTRING: hb_retc( "CO_E_CLASSSTRING" ); break;
|
||||
case OLE_E_WRONGCOMPOBJ: hb_retc( "OLE_E_WRONGCOMPOBJ" ); break;
|
||||
case REGDB_E_CLASSNOTREG: hb_retc( "REGDB_E_CLASSNOTREG" ); break;
|
||||
case REGDB_E_WRITEREGDB: hb_retc( "REGDB_E_WRITEREGDB" ); break;
|
||||
case E_OUTOFMEMORY: hb_retc( "E_OUTOFMEMORY" ); break;
|
||||
case E_INVALIDARG: hb_retc( "E_INVALIDARG" ); break;
|
||||
case E_UNEXPECTED: hb_retc( "E_UNEXPECTED" ); break;
|
||||
case DISP_E_UNKNOWNNAME: hb_retc( "DISP_E_UNKNOWNNAME" ); break;
|
||||
case DISP_E_UNKNOWNLCID: hb_retc( "DISP_E_UNKNOWNLCID" ); break;
|
||||
case DISP_E_BADPARAMCOUNT: hb_retc( "DISP_E_BADPARAMCOUNT" ); break;
|
||||
case DISP_E_BADVARTYPE: hb_retc( "DISP_E_BADVARTYPE" ); break;
|
||||
case DISP_E_EXCEPTION: hb_retc( "DISP_E_EXCEPTION" ); break;
|
||||
case DISP_E_MEMBERNOTFOUND: hb_retc( "DISP_E_MEMBERNOTFOUND" ); break;
|
||||
case DISP_E_NONAMEDARGS: hb_retc( "DISP_E_NONAMEDARGS" ); break;
|
||||
case DISP_E_OVERFLOW: hb_retc( "DISP_E_OVERFLOW" ); break;
|
||||
case DISP_E_PARAMNOTFOUND: hb_retc( "DISP_E_PARAMNOTFOUND" ); break;
|
||||
case DISP_E_TYPEMISMATCH: hb_retc( "DISP_E_TYPEMISMATCH" ); break;
|
||||
case DISP_E_UNKNOWNINTERFACE: hb_retc( "DISP_E_UNKNOWNINTERFACE" ); break;
|
||||
case DISP_E_PARAMNOTOPTIONAL: hb_retc( "DISP_E_PARAMNOTOPTIONAL" ); break;
|
||||
default: hb_retc( "Unknown OLE error" ); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -587,7 +525,7 @@ HB_FUNC( HB_OLEAUTO___ONERROR )
|
||||
if( szMethod[ 0 ] == '_' && hb_pcount() > 0 )
|
||||
{
|
||||
pMemberArray = &szMethodWide[ 1 ];
|
||||
s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray,
|
||||
s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray,
|
||||
1, LOCALE_USER_DEFAULT, &dispid );
|
||||
|
||||
if ( s_lOleError == S_OK )
|
||||
@@ -599,9 +537,9 @@ HB_FUNC( HB_OLEAUTO___ONERROR )
|
||||
dispparam.rgdispidNamedArgs = &lPropPut;
|
||||
dispparam.cNamedArgs = 1;
|
||||
|
||||
s_lOleError = pDisp->lpVtbl->Invoke( pDisp, dispid, &IID_NULL,
|
||||
s_lOleError = pDisp->lpVtbl->Invoke( pDisp, dispid, &IID_NULL,
|
||||
LOCALE_USER_DEFAULT,
|
||||
DISPATCH_PROPERTYPUT, &dispparam,
|
||||
DISPATCH_PROPERTYPUT, &dispparam,
|
||||
NULL, &excep, &uiArgErr );
|
||||
|
||||
FreeParams( &dispparam );
|
||||
@@ -615,7 +553,7 @@ HB_FUNC( HB_OLEAUTO___ONERROR )
|
||||
/* Try property get and invoke */
|
||||
|
||||
pMemberArray = szMethodWide;
|
||||
s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray,
|
||||
s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray,
|
||||
1, LOCALE_USER_DEFAULT, &dispid );
|
||||
hb_xfree( szMethodWide );
|
||||
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
# $Id$
|
||||
#
|
||||
|
||||
{win}libs=hbole ole32 oleaut32
|
||||
{win}libs=hbole
|
||||
|
||||
Binary file not shown.
@@ -24,7 +24,7 @@ PROCEDURE Main()
|
||||
@ 6, 25 TO 19, 55 DOUBLE
|
||||
@ 8, 28 SAY "Test Harbour OLE with..."
|
||||
|
||||
While .t.
|
||||
DO WHILE .T.
|
||||
@ 10, 32 PROMPT "MS Excel"
|
||||
@ 11, 32 PROMPT "MS Word"
|
||||
@ 12, 32 PROMPT "MS Outlook (1)"
|
||||
@@ -55,7 +55,7 @@ PROCEDURE Main()
|
||||
ELSEIF nOption == 8
|
||||
EXIT
|
||||
ENDIF
|
||||
End
|
||||
ENDDO
|
||||
|
||||
SetColor("W/N")
|
||||
CLS
|
||||
@@ -69,40 +69,29 @@ STATIC PROCEDURE Exm_CDO()
|
||||
LOCAL oCDOMsg
|
||||
LOCAL oCDOConf
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oCDOMsg := CreateObject( "CDO.Message" )
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
IF ( oCDOMsg := CreateObject( "CDO.Message" ) ) != NIL .AND. ;
|
||||
( oCDOConf := CreateObject( "CDO.Configuration" ) ) != NIL
|
||||
|
||||
oCDOConf := CreateObject( "CDO.Configuration" )
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") := 2 // ; cdoSendUsingPort
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") := "localhost"
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") := 25
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") := 120
|
||||
oCDOConf:Fields:Update()
|
||||
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") := 2 // ; cdoSendUsingPort
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") := "localhost"
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") := 25
|
||||
oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") := 120
|
||||
oCDOConf:Fields:Update()
|
||||
oCDOMsg:Configuration := oCDOConf
|
||||
oCDOMsg:BodyPart:Charset := "iso-8859-2" // "iso-8859-1" "utf-8"
|
||||
oCDOMsg:To := "test@localhost"
|
||||
oCDOMsg:From := "sender@localhost"
|
||||
oCDOMsg:Subject := "Test message"
|
||||
oCDOMsg:TextBody := "Test message body"
|
||||
|
||||
oCDOMsg:Configuration := oCDOConf
|
||||
oCDOMsg:BodyPart:Charset := "iso-8859-2" // "iso-8859-1" "utf-8"
|
||||
oCDOMsg:To := "test@localhost"
|
||||
oCDOMsg:From := "sender@localhost"
|
||||
oCDOMsg:Subject := "Test message"
|
||||
oCDOMsg:TextBody := "Test message body"
|
||||
oCDOMsg:Send()
|
||||
ELSE
|
||||
Alert( "Error: CDO subsystem not available. [" + OLEErrorText()+ "]" )
|
||||
ENDIF
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oCDOMsg:Send()
|
||||
RECOVER
|
||||
Alert( "Error: CDO send error. [" + Ole2TxtError()+ "]" )
|
||||
END SEQUENCE
|
||||
|
||||
oCDOConf := NIL
|
||||
|
||||
END SEQUENCE
|
||||
|
||||
oCDOMsg := NIL
|
||||
|
||||
RECOVER
|
||||
Alert( "Error: CDO subsystem not available. [" + Ole2TxtError()+ "]" )
|
||||
END SEQUENCE
|
||||
oCDOConf := NIL
|
||||
oCDOMsg := NIL
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -110,15 +99,12 @@ STATIC PROCEDURE Exm_IExplorer()
|
||||
|
||||
LOCAL oIE
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oIE := CreateObject( "InternetExplorer.Application" )
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oIE:Visible := .T.
|
||||
oIE:Navigate( "http://www.harbour-project.org" )
|
||||
END SEQUENCE
|
||||
RECOVER
|
||||
Alert( "Error: IExplorer not available. [" + Ole2TxtError()+ "]" )
|
||||
END SEQUENCE
|
||||
IF ( oIE := CreateObject( "InternetExplorer.Application" ) ) != NIL
|
||||
oIE:Visible := .T.
|
||||
oIE:Navigate( "http://www.harbour-project.org" )
|
||||
ELSE
|
||||
Alert( "Error: IExplorer not available. [" + OLEErrorText()+ "]" )
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -129,70 +115,66 @@ STATIC PROCEDURE Exm_MSExcel()
|
||||
LOCAL oWorkSheet
|
||||
LOCAL oAS
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oExcel := CreateObject( "Excel.Application" )
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
IF ( oExcel := CreateObject( "Excel.Application" ) ) != NIL
|
||||
|
||||
oWorkBook := oExcel:WorkBooks:Add()
|
||||
oWorkBook := oExcel:WorkBooks:Add()
|
||||
|
||||
FOR EACH oWorkSheet IN oWorkBook:WorkSheets
|
||||
? oWorkSheet:Name
|
||||
NEXT
|
||||
FOR EACH oWorkSheet IN oWorkBook:WorkSheets
|
||||
? oWorkSheet:Name
|
||||
NEXT
|
||||
|
||||
oAS := oExcel:ActiveSheet()
|
||||
oAS := oExcel:ActiveSheet()
|
||||
|
||||
oAS:Cells:Font:Name := "Arial"
|
||||
oAS:Cells:Font:Size := 12
|
||||
oAS:Cells:Font:Name := "Arial"
|
||||
oAS:Cells:Font:Size := 12
|
||||
|
||||
// Explicit use of DEFAULT method by means of #xtranslate above!!!
|
||||
oAS:Cells( 3, 1 ) := "Explict DEFAULT Method Text:"
|
||||
// Explicit use of DEFAULT method by means of #xtranslate above!!!
|
||||
oAS:Cells( 3, 1 ) := "Explict DEFAULT Method Text:"
|
||||
|
||||
// Array notation seem to have REVERSED indexs for the Cells Collections!!!
|
||||
// Implicitly using DEFAULT Method
|
||||
oAS:Cells[ 2, 3 ] := "Implicit DEFAULT Method using *reversed* array index notation"
|
||||
// Array notation seem to have REVERSED indexs for the Cells Collections!!!
|
||||
// Implicitly using DEFAULT Method
|
||||
oAS:Cells[ 2, 3 ] := "Implicit DEFAULT Method using *reversed* array index notation"
|
||||
|
||||
// Operator overloading will attempt explict resolutin using :OleValue
|
||||
oAS:Cells[ 2, 3 ] += "!"
|
||||
// Operator overloading will attempt explict resolutin using :OleValue
|
||||
oAS:Cells[ 2, 3 ] += "!"
|
||||
|
||||
oAS:Cells( 4, 1 ):Value := "Numeric:"
|
||||
oAS:Cells( 4, 2 ):NumberFormat := "#.##0,00"
|
||||
oAS:Cells( 4, 1 ):Value := "Numeric:"
|
||||
oAS:Cells( 4, 2 ):NumberFormat := "#.##0,00"
|
||||
|
||||
oAS:Cells[ 2, 4 ] := 1234.50
|
||||
oAS:Cells[ 2, 4 ] *= 4
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
oAS:Cells[ 2, 4 ] /= 2
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
oAS:Cells[ 2, 4 ] := 1234.50
|
||||
oAS:Cells[ 2, 4 ] *= 4
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
oAS:Cells[ 2, 4 ] /= 2
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
|
||||
oAS:Cells[ 2, 4 ]++
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
oAS:Cells[ 2, 4 ]--
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
oAS:Cells[ 2, 4 ]++
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
oAS:Cells[ 2, 4 ]--
|
||||
? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value
|
||||
|
||||
oAS:Cells( 5, 1 ):Value := "Logical:"
|
||||
oAS:Cells( 5, 2 ):Value := .T.
|
||||
oAS:Cells( 6, 1 ):Value := "Date:"
|
||||
oAS:Cells( 6, 2 ):Value := DATE()
|
||||
oAS:Cells( 5, 1 ):Value := "Logical:"
|
||||
oAS:Cells( 5, 2 ):Value := .T.
|
||||
oAS:Cells( 6, 1 ):Value := "Date:"
|
||||
oAS:Cells( 6, 2 ):Value := DATE()
|
||||
|
||||
oAS:Columns( 1 ):Font:Bold := .T.
|
||||
oAS:Columns( 2 ):HorizontalAlignment := -4152 // xlRight
|
||||
oAS:Columns( 1 ):Font:Bold := .T.
|
||||
oAS:Columns( 2 ):HorizontalAlignment := -4152 // xlRight
|
||||
|
||||
oAS:Columns( 1 ):AutoFit()
|
||||
oAS:Columns( 2 ):AutoFit()
|
||||
oAS:Columns( 1 ):AutoFit()
|
||||
oAS:Columns( 2 ):AutoFit()
|
||||
|
||||
oAS:Cells( 1, 1 ):Value := "OLE from Harbour"
|
||||
oAS:Cells( 1, 1 ):Font:Size := 16
|
||||
oAS:Range( "A1:B1" ):HorizontalAlignment := 7
|
||||
oAS:Cells( 1, 1 ):Value := "OLE from Harbour"
|
||||
oAS:Cells( 1, 1 ):Font:Size := 16
|
||||
oAS:Range( "A1:B1" ):HorizontalAlignment := 7
|
||||
|
||||
oAS:Cells( 1, 1 ):Select()
|
||||
oAS:Cells( 1, 1 ):Select()
|
||||
|
||||
oExcel:Visible := .T.
|
||||
oExcel:Visible := .T.
|
||||
|
||||
oExcel:Quit()
|
||||
|
||||
END SEQUENCE
|
||||
RECOVER
|
||||
Alert( "Error: MS Excel not available. [" + Ole2TxtError()+ "]" )
|
||||
END SEQUENCE
|
||||
oExcel:Quit()
|
||||
ELSE
|
||||
Alert( "Error: MS Excel not available. [" + OLEErrorText()+ "]" )
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -201,26 +183,22 @@ STATIC PROCEDURE Exm_MSWord()
|
||||
LOCAL oWord
|
||||
LOCAL oText
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oWord := CreateObject( "Word.Application" )
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
IF ( oWord := CreateObject( "Word.Application" ) ) != NIL
|
||||
|
||||
oWord:Documents:Add()
|
||||
oWord:Documents:Add()
|
||||
|
||||
oText := oWord:Selection()
|
||||
oText := oWord:Selection()
|
||||
|
||||
oText:Text := "OLE from Harbour" + hb_OSNewLine()
|
||||
oText:Font:Name := "Arial"
|
||||
oText:Font:Size := 48
|
||||
oText:Font:Bold := .T.
|
||||
oText:Text := "OLE from Harbour" + hb_OSNewLine()
|
||||
oText:Font:Name := "Arial"
|
||||
oText:Font:Size := 48
|
||||
oText:Font:Bold := .T.
|
||||
|
||||
oWord:Visible := .T.
|
||||
oWord:WindowState := 1 // ; Maximize
|
||||
|
||||
END SEQUENCE
|
||||
RECOVER
|
||||
Alert( "Error: MS Word not available. [" + Ole2TxtError()+ "]" )
|
||||
END SEQUENCE
|
||||
oWord:Visible := .T.
|
||||
oWord:WindowState := 1 // ; Maximize
|
||||
ELSE
|
||||
Alert( "Error: MS Word not available. [" + OLEErrorText()+ "]" )
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -229,16 +207,13 @@ STATIC PROCEDURE Exm_MSOutlook()
|
||||
LOCAL oOL
|
||||
LOCAL oList
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oOL := CreateObject( "Outlook.Application" )
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oList := oOL:CreateItem( 7 ) // ; olDistributionListItem
|
||||
oList:DLName := "Distribution List"
|
||||
oList:Display( .F. )
|
||||
END SEQUENCE
|
||||
RECOVER
|
||||
Alert( "Error: MS Outlook not available. [" + Ole2TxtError()+ "]" )
|
||||
END SEQUENCE
|
||||
IF ( oOL := CreateObject( "Outlook.Application" ) ) != NIL
|
||||
oList := oOL:CreateItem( 7 ) // ; olDistributionListItem
|
||||
oList:DLName := "Distribution List"
|
||||
oList:Display( .F. )
|
||||
ELSE
|
||||
Alert( "Error: MS Outlook not available. [" + OLEErrorText()+ "]" )
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -249,9 +224,9 @@ STATIC PROCEDURE Exm_MSOutlook2()
|
||||
LOCAL oMail
|
||||
LOCAL i
|
||||
|
||||
oOL := TOleAuto():New( "Outlook.Application.9" )
|
||||
oOL := hb_OleAuto():New( "Outlook.Application.9" )
|
||||
|
||||
IF Ole2TxtError() != "S_OK"
|
||||
IF OLEErrorText() != "S_OK"
|
||||
Alert("Outlook is not available", "Error")
|
||||
ELSE
|
||||
oMail := oOL:CreateItem( 0 ) // olMailItem
|
||||
@@ -283,36 +258,36 @@ STATIC PROCEDURE Exm_OpenOffice()
|
||||
LOCAL oOO_PropVal01
|
||||
LOCAL oOO_Doc
|
||||
|
||||
LOCAL cDir
|
||||
IF ( oOO_ServiceManager := CreateObject( "com.sun.star.ServiceManager" ) ) != NIL
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
IF ( oOO_Desktop := oOO_ServiceManager:createInstance( "com.sun.star.frame.Desktop" ) ) != NIL
|
||||
IF ( oOO_PropVal01 := oOO_ServiceManager:Bridge_GetStruct( "com.sun.star.beans.PropertyValue" ) ) != NIL
|
||||
IF ( oOO_Doc := oOO_Desktop:loadComponentFromURL( OO_ConvertToURL( hb_FNameMerge( hb_dirBase(), "sample.odt" ) ), "_blank", 0, { oOO_PropVal01 } ) ) != NIL
|
||||
|
||||
oOO_ServiceManager := CreateObject( "com.sun.star.ServiceManager" )
|
||||
// ...
|
||||
|
||||
BEGIN SEQUENCE WITH {|oErr| Break( oErr )}
|
||||
oOO_Doc:Close( .T. )
|
||||
oOO_Doc := NIL
|
||||
ELSE
|
||||
Alert( "Error: #3: " + OO_ConvertToURL( hb_FNameMerge( hb_dirBase(), "sample.odt" ) ) )
|
||||
ENDIF
|
||||
|
||||
hb_FNameSplit( hb_ArgV( 0 ), @cDir )
|
||||
|
||||
oOO_Desktop := oOO_ServiceManager:createInstance( "com.sun.star.frame.Desktop" )
|
||||
oOO_PropVal01 := oOO_ServiceManager:Bridge_GetStruct( "com.sun.star.beans.PropertyValue" )
|
||||
oOO_Doc := oOO_Desktop:loadComponentFromURL( OO_ConvertToURL( hb_FNameMerge( cDir, "sample.odt" ) ), "_blank", 0, { oOO_PropVal01 } )
|
||||
|
||||
// ...
|
||||
|
||||
oOO_Doc:Close( .T. )
|
||||
oOO_Doc := NIL
|
||||
oOO_PropVal01 := NIL
|
||||
ELSE
|
||||
Alert( "Error: #2" )
|
||||
ENDIF
|
||||
|
||||
oOO_Desktop:Terminate()
|
||||
oOO_Desktop := NIL
|
||||
oOO_PropVal01 := NIL
|
||||
|
||||
END SEQUENCE
|
||||
ELSE
|
||||
Alert( "Error: #1" )
|
||||
ENDIF
|
||||
|
||||
oOO_ServiceManager := NIL
|
||||
|
||||
RECOVER
|
||||
Alert( "Error: OpenOffice not available. [" + Ole2TxtError()+ "]" )
|
||||
END SEQUENCE
|
||||
ELSE
|
||||
Alert( "Error: OpenOffice not available. [" + OLEErrorText()+ "]" )
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
#if QT_VERSION >= 0x040500
|
||||
|
||||
#include <QtGui\QAbstractItemView>
|
||||
#include <QtGui/QAbstractItemView>
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
# $Id$
|
||||
#
|
||||
|
||||
{win}libs=hbwin ole32 oleaut32 shell32 winspool
|
||||
{win}libs=hbwin
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
# Used by Harbour core
|
||||
{win}libs=kernel32 user32 wsock32 advapi32 gdi32
|
||||
# Others
|
||||
{win}libs=winspool comctl32 comdlg32 shell32 ole32 oleaut32 uuid odbc32 mpr winmm mapi32
|
||||
{win&!bcc}libs=odbccp32
|
||||
@@ -221,6 +221,8 @@ FUNCTION Main( ... )
|
||||
LOCAL s_aLIBSYS
|
||||
LOCAL s_aLIBPATH
|
||||
LOCAL s_aLIBDYNHAS
|
||||
LOCAL s_aLIBSYSCORE := {}
|
||||
LOCAL s_aLIBSYSMISC := {}
|
||||
LOCAL s_aOPTPRG
|
||||
LOCAL s_aOPTC
|
||||
LOCAL s_aOPTL
|
||||
@@ -510,6 +512,8 @@ FUNCTION Main( ... )
|
||||
cDynLibExt := ".dll"
|
||||
cBinExt := ".exe"
|
||||
cOptPrefix := "-/"
|
||||
s_aLIBSYSCORE := { "user32", "gdi32", "advapi32", "ws2_32" }
|
||||
s_aLIBSYSMISC := { "winspool", "comctl32", "comdlg32", "shell32", "ole32", "oleaut32", "uuid", "mpr", "winmm", "mapi32" }
|
||||
OTHERWISE
|
||||
OutErr( "hbmk: Error: Architecture value unknown: " + t_cARCH + hb_osNewLine() )
|
||||
PauseForKey()
|
||||
@@ -1353,9 +1357,10 @@ FUNCTION Main( ... )
|
||||
ENDIF
|
||||
IF ! s_lSHARED
|
||||
IF t_cCOMP == "mingwce"
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl", "uuid", "ole32" } )
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl" } )
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "uuid", "ole32" } )
|
||||
ELSE
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "winspool", "gdi32", "comctl32", "comdlg32", "ole32", "oleaut32", "uuid", "ws2_32" } )
|
||||
s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, s_aLIBSYSCORE, s_aLIBSYSMISC } )
|
||||
ENDIF
|
||||
ENDIF
|
||||
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
|
||||
@@ -1502,7 +1507,7 @@ FUNCTION Main( ... )
|
||||
IF s_lMAP
|
||||
AAdd( s_aOPTL, "OP MAP" )
|
||||
ENDIF
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "ws2_32" } )
|
||||
s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, { "kernel32" }, s_aLIBSYSCORE, s_aLIBSYSMISC } )
|
||||
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
|
||||
"harbour-" + cDL_Version_Alter ),;
|
||||
"hbmainstd",;
|
||||
@@ -1682,7 +1687,7 @@ FUNCTION Main( ... )
|
||||
IF s_lSHARED
|
||||
AAdd( s_aOPTL, "/libpath:{DB}" )
|
||||
ENDIF
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "ws2_32", "advapi32", "gdi32" } )
|
||||
s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, s_aLIBSYSCORE, s_aLIBSYSMISC } )
|
||||
DO CASE
|
||||
CASE t_cCOMP $ "msvc|icc"
|
||||
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
|
||||
@@ -1766,7 +1771,7 @@ FUNCTION Main( ... )
|
||||
IF s_lDEBUG
|
||||
AAdd( s_aOPTL, "/debug" )
|
||||
ENDIF
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "ws2_32", "advapi32", "gdi32" } )
|
||||
s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, { "kernel32" }, s_aLIBSYSCORE, s_aLIBSYSMISC } )
|
||||
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
|
||||
"harbour-" + cDL_Version_Alter ),;
|
||||
"hbmainstd",;
|
||||
@@ -1783,7 +1788,8 @@ FUNCTION Main( ... )
|
||||
CASE t_cARCH == "win" .AND. t_cCOMP == "poccce" /* NOTE: Cross-platform: wince/ARM on win/x86 */
|
||||
CASE t_cARCH == "linux" .AND. t_cCOMP == "mingwce" /* NOTE: Cross-platform: wince/ARM on win/x86 */
|
||||
IF ! s_lSHARED
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl", "uuid", "ole32" } )
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl" } )
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "uuid", "ole32" } )
|
||||
ENDIF
|
||||
ENDCASE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user