2012-11-16 17:50 UTC+0100 Viktor Szakats (vszakats syenar.net)
* extras/hbvpdf/hbvpdf.hbx
! two more corrections
* contrib/gtwvg/tests/_dyndlgs.prg
* contrib/hbct/doc/en/finan.txt
* contrib/hbct/readme.txt
* contrib/hbct/tests/asciisum.prg
* contrib/hbct/tests/trig.prg
* contrib/hbfoxpro/dll.prg
* contrib/hbhttpd/core.prg
* contrib/hbhttpd/widgets.prg
* contrib/hbmisc/fcomma.prg
* contrib/hbmlzo/tests/test.prg
* contrib/hbmxml/tests/custom.prg
* contrib/hbmzip/readme.txt
* contrib/hbnf/nwuid.prg
* contrib/hbnf/vidcur.prg
* contrib/hbtip/client.prg
* contrib/hbwin/tests/olesrv1.prg
* contrib/hbwin/tests/testprn.prg
* contrib/xhb/cstruct.prg
* contrib/xhb/hjwindow.prg
* contrib/xhb/hterrsys.prg
* contrib/xhb/htjlist.prg
* contrib/xhb/htmutil.prg
* contrib/xhb/tests/decode.prg
* contrib/xhb/xhberr.prg
* doc/cmdline.txt
* doc/en/objfunc.txt
* doc/en/set.txt
* doc/en/string.txt
* doc/pragma.txt
* extras/gfspell/spell.prg
* extras/gtwvw/docs/gtwvw.txt
* extras/gtwvw/tests/wvwtest9.prg
* extras/hbvpdf/core.prg
* extras/hbvpdf/fonts.prg
* extras/hbvpdf/tests/pdf_demo.prg
* extras/httpsrv/cgifunc.prg
* extras/httpsrv/home/counter.html
* extras/httpsrv/home/testxmldb.html
* extras/httpsrv/session.prg
* extras/httpsrv/uhttpd.prg
* tests/base64.prg
* tests/boxtest.prg
* tests/db_brows.prg
* tests/ddate.prg
* tests/inherit.prg
* tests/langmsg.prg
* tests/mathtest.prg
* tests/memtst.prg
* tests/readhrb.prg
* tests/switch.prg
* tests/testsha2.prg
* tests/testwarn.prg
* tests/tstdbi.prg
* tests/utf8at.prg
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_class.prg
* utils/hbtest/rt_date.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_trans.prg
* website/news.html
* website/news1.html
* website/samples.html
* website/samples/arreval.html
* website/samples/codebl.prg.html
* website/samples/dates3.html
* website/samples/switch.prg.html
* website/samples/testcgi.prg.html
* website/samples/tstmacro.prg.html
* rerun case fixer script after applying
some fixes, and this time it run fully
automatically.
This commit is contained in:
@@ -16,6 +16,84 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2012-11-16 17:50 UTC+0100 Viktor Szakats (vszakats syenar.net)
|
||||
* extras/hbvpdf/hbvpdf.hbx
|
||||
! two more corrections
|
||||
|
||||
* contrib/gtwvg/tests/_dyndlgs.prg
|
||||
* contrib/hbct/doc/en/finan.txt
|
||||
* contrib/hbct/readme.txt
|
||||
* contrib/hbct/tests/asciisum.prg
|
||||
* contrib/hbct/tests/trig.prg
|
||||
* contrib/hbfoxpro/dll.prg
|
||||
* contrib/hbhttpd/core.prg
|
||||
* contrib/hbhttpd/widgets.prg
|
||||
* contrib/hbmisc/fcomma.prg
|
||||
* contrib/hbmlzo/tests/test.prg
|
||||
* contrib/hbmxml/tests/custom.prg
|
||||
* contrib/hbmzip/readme.txt
|
||||
* contrib/hbnf/nwuid.prg
|
||||
* contrib/hbnf/vidcur.prg
|
||||
* contrib/hbtip/client.prg
|
||||
* contrib/hbwin/tests/olesrv1.prg
|
||||
* contrib/hbwin/tests/testprn.prg
|
||||
* contrib/xhb/cstruct.prg
|
||||
* contrib/xhb/hjwindow.prg
|
||||
* contrib/xhb/hterrsys.prg
|
||||
* contrib/xhb/htjlist.prg
|
||||
* contrib/xhb/htmutil.prg
|
||||
* contrib/xhb/tests/decode.prg
|
||||
* contrib/xhb/xhberr.prg
|
||||
* doc/cmdline.txt
|
||||
* doc/en/objfunc.txt
|
||||
* doc/en/set.txt
|
||||
* doc/en/string.txt
|
||||
* doc/pragma.txt
|
||||
* extras/gfspell/spell.prg
|
||||
* extras/gtwvw/docs/gtwvw.txt
|
||||
* extras/gtwvw/tests/wvwtest9.prg
|
||||
* extras/hbvpdf/core.prg
|
||||
* extras/hbvpdf/fonts.prg
|
||||
* extras/hbvpdf/tests/pdf_demo.prg
|
||||
* extras/httpsrv/cgifunc.prg
|
||||
* extras/httpsrv/home/counter.html
|
||||
* extras/httpsrv/home/testxmldb.html
|
||||
* extras/httpsrv/session.prg
|
||||
* extras/httpsrv/uhttpd.prg
|
||||
* tests/base64.prg
|
||||
* tests/boxtest.prg
|
||||
* tests/db_brows.prg
|
||||
* tests/ddate.prg
|
||||
* tests/inherit.prg
|
||||
* tests/langmsg.prg
|
||||
* tests/mathtest.prg
|
||||
* tests/memtst.prg
|
||||
* tests/readhrb.prg
|
||||
* tests/switch.prg
|
||||
* tests/testsha2.prg
|
||||
* tests/testwarn.prg
|
||||
* tests/tstdbi.prg
|
||||
* tests/utf8at.prg
|
||||
* utils/hbtest/hbtest.prg
|
||||
* utils/hbtest/rt_class.prg
|
||||
* utils/hbtest/rt_date.prg
|
||||
* utils/hbtest/rt_hvma.prg
|
||||
* utils/hbtest/rt_math.prg
|
||||
* utils/hbtest/rt_misc.prg
|
||||
* utils/hbtest/rt_trans.prg
|
||||
* website/news.html
|
||||
* website/news1.html
|
||||
* website/samples.html
|
||||
* website/samples/arreval.html
|
||||
* website/samples/codebl.prg.html
|
||||
* website/samples/dates3.html
|
||||
* website/samples/switch.prg.html
|
||||
* website/samples/testcgi.prg.html
|
||||
* website/samples/tstmacro.prg.html
|
||||
* rerun case fixer script after applying
|
||||
some fixes, and this time it run fully
|
||||
automatically.
|
||||
|
||||
2012-11-16 17:44 UTC+0100 Viktor Szakats (harbour syenar.net)
|
||||
* tests/uc16_gen.prg
|
||||
! restored
|
||||
|
||||
@@ -219,7 +219,7 @@ FUNCTION DynDlgProc( hDlg, nMsg, wParam, lParam )
|
||||
t_hImage := Wvg_LoadImage( "vouch1.bmp", 2 )
|
||||
ENDIF
|
||||
IF t_hImage != NIL .AND. t_hImage != 0
|
||||
Wvg_SendMessage( WVG_GetDlgItem( hDlg, ID_STA_IMAGE ), STM_SETIMAGE, IMAGE_BITMAP, t_hImage )
|
||||
Wvg_SendMessage( Wvg_GetDlgItem( hDlg, ID_STA_IMAGE ), STM_SETIMAGE, IMAGE_BITMAP, t_hImage )
|
||||
ENDIF
|
||||
*/
|
||||
Wvg_SetDlgItemText( hDlg, ID_MLE, GetEditText() )
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
etc...
|
||||
debt in period <nPeriod> = ((debt in period <nPeriod>-1)-<nPayment>)*(1+<nInterest>/100)
|
||||
-> has to be 0, so
|
||||
<nPeriods> = -log(1-<nLoan>*(<nInterest>/100)/<nPayment>)/log(1+<nInterest>/100))
|
||||
<nPeriods> = -Log(1-<nLoan>*(<nInterest>/100)/<nPayment>)/Log(1+<nInterest>/100))
|
||||
|
||||
Note, however that in the case of nPayment <= <nLoan>*(<nInterest>/100),
|
||||
one would need infinite time to pay the loan back. The functions does
|
||||
|
||||
@@ -73,8 +73,8 @@ Martin Vogel <vogel@inttec.de>
|
||||
the tokenizer before and after the extracted token.
|
||||
|
||||
* TokenInit() all incremental tokenizer functions
|
||||
TokenInit(),TokenExit(),TOKENNEXT(),TokenNum(),
|
||||
TokenAt(),SAVEToken(),RESTToken(),TOKENEND()
|
||||
TokenInit(),TokenExit(),TokenNext(),TokenNum(),
|
||||
TokenAt(),SaveToken(),RestToken(),TokenEnd()
|
||||
now support locally stored token environments
|
||||
|
||||
+ TokenExit() new function related to TOKENINIT
|
||||
|
||||
@@ -59,7 +59,7 @@ PROCEDURE Main()
|
||||
? "Begin test of AsciiSum()"
|
||||
?
|
||||
|
||||
? ' AsciiSum(replicate("A", 10000)) == 650000 ? --> ' + Str( AsciiSum( Replicate( "A", 10000 ) ) )
|
||||
? ' AsciiSum(Replicate("A", 10000)) == 650000 ? --> ' + Str( AsciiSum( Replicate( "A", 10000 ) ) )
|
||||
? ' AsciiSum("0123456789") == 525 ? --> ' + Str( AsciiSum( "0123456789" ) )
|
||||
? ' AsciiSum(NIL) == 0 ? --> ' + Str( AsciiSum( NIL ) )
|
||||
|
||||
|
||||
@@ -133,8 +133,8 @@ PROCEDURE Main()
|
||||
? Space( 29 ) + Str( Asin( 0.5 ), 18, 15 ) + " <-- CT for Harbour"
|
||||
?
|
||||
|
||||
? "Str( ACos( 0.7 ), 18, 15 ) = 0.795398830184144 // CT3"
|
||||
? Space( 29 ) + Str( ACos( 0.7 ), 18, 15 ) + " <-- CT for Harbour"
|
||||
? "Str( Acos( 0.7 ), 18, 15 ) = 0.795398830184144 // CT3"
|
||||
? Space( 29 ) + Str( Acos( 0.7 ), 18, 15 ) + " <-- CT for Harbour"
|
||||
?
|
||||
|
||||
? "Str( Atan( Pi() / 4 ), 18, 15 ) = 0.665773750028354 // CT3"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Calling function from dynamic library (FOX___DYNCALL())
|
||||
* Calling function from dynamic library (fox___DynCall())
|
||||
*
|
||||
* Copyright 2010 Viktor Szakats (harbour syenar.net)
|
||||
* www - http://harbour-project.org
|
||||
|
||||
@@ -350,7 +350,7 @@ STATIC FUNCTION MY_SSL_READ( hConfig, hSSL, hSocket, cBuf, nTimeout, nError )
|
||||
ENDIF
|
||||
RETURN -1
|
||||
ELSE
|
||||
Eval( hConfig[ "Trace" ], "SSL_READ() error", nErr )
|
||||
Eval( hConfig[ "Trace" ], "SSL_read() error", nErr )
|
||||
nError := 1000 + nErr
|
||||
RETURN -1
|
||||
ENDIF
|
||||
@@ -382,7 +382,7 @@ STATIC FUNCTION MY_SSL_WRITE( hConfig, hSSL, hSocket, cBuf, nTimeout, nError )
|
||||
RETURN 0
|
||||
ENDIF
|
||||
ELSE
|
||||
Eval( hConfig[ "Trace" ], "SSL_WRITE() error", nErr )
|
||||
Eval( hConfig[ "Trace" ], "SSL_write() error", nErr )
|
||||
nError := 1000 + nErr
|
||||
RETURN -1
|
||||
ENDIF
|
||||
@@ -414,12 +414,12 @@ STATIC FUNCTION MY_SSL_ACCEPT( hConfig, hSSL, hSocket, nTimeout )
|
||||
nErr := HB_SOCKET_ERR_TIMEOUT
|
||||
ENDIF
|
||||
ELSE
|
||||
Eval( hConfig[ "Trace" ], "SSL_ACCEPT() error", nErr )
|
||||
Eval( hConfig[ "Trace" ], "SSL_accept() error", nErr )
|
||||
nErr := 1000 + nErr
|
||||
ENDIF
|
||||
ELSE /* nErr == 0 */
|
||||
nErr := SSL_get_error( hSSL, nErr )
|
||||
Eval( hConfig[ "Trace" ], "SSL_ACCEPT() shutdown error", nErr )
|
||||
Eval( hConfig[ "Trace" ], "SSL_accept() shutdown error", nErr )
|
||||
nErr := 1000 + nErr
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -389,7 +389,7 @@ METHOD Output() CLASS UWBrowse
|
||||
CASE "C" ; xI := RTrim( xI ); EXIT
|
||||
CASE "N" ; xI := Str( xI ); EXIT
|
||||
CASE "D" ; xI := DToC( xI ); EXIT
|
||||
OTHERWISE ; xI := "VALTYPE()==" + ValType( xI )
|
||||
OTHERWISE ; xI := "ValType()==" + ValType( xI )
|
||||
ENDSWITCH
|
||||
IF ! Self:aColumns[ nI, 4 ]
|
||||
xI := UHtmlEncode( xI )
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
* A simple RDD which uses HB_F*() functions from MISC library
|
||||
* to access CSV files. It allow to open an CSV file and navigate
|
||||
* using SKIP()/GOTO()/GOTOP()/GOBOTTOM() functions using
|
||||
* Bof()/EOF()/RECNO()/LASTREC() to check current state.
|
||||
* Bof()/Eof()/RecNo()/LastRec() to check current state.
|
||||
* HB_F*() functions does not support single field access and allow
|
||||
* to read only the whole line. This RDD also. I only added one
|
||||
* virtual field which exist in all tables open by this RDD called
|
||||
|
||||
@@ -92,17 +92,17 @@ PROCEDURE Main()
|
||||
/*
|
||||
cStr := Replicate( TEST_STRING, 1000000 )
|
||||
?
|
||||
? "BZ2 ", hb_ntos( Len( hb_bz2_compress( cStr, NIL, @nResult ) ) )
|
||||
? "BZ2 ", hb_ntos( Len( hb_bz2_Compress( cStr, NIL, @nResult ) ) )
|
||||
? "GZIP", hb_ntos( Len( hb_gzCompress( cStr, NIL, @nResult ) ) )
|
||||
? "ZLIB", hb_ntos( Len( hb_zCompress( cStr, NIL, @nResult ) ) )
|
||||
? "ZLIB", hb_ntos( Len( hb_ZCompress( cStr, NIL, @nResult ) ) )
|
||||
? "LZF ", hb_ntos( Len( hb_lzf_compress( cStr, NIL, @nResult ) ) )
|
||||
? "LZO ", hb_ntos( Len( hb_lzo1x_1_compress( cStr, NIL, @nResult ) ) )
|
||||
|
||||
cStr := Replicate( hb_memoRead( hb_argv( 0 ) ), 50 )
|
||||
cStr := Replicate( hb_MemoRead( hb_argv( 0 ) ), 50 )
|
||||
?
|
||||
? "BZ2 ", hb_ntos( Len( hb_bz2_compress( cStr, NIL, @nResult ) ) )
|
||||
? "BZ2 ", hb_ntos( Len( hb_bz2_Compress( cStr, NIL, @nResult ) ) )
|
||||
? "GZIP", hb_ntos( Len( hb_gzCompress( cStr, NIL, @nResult ) ) )
|
||||
? "ZLIB", hb_ntos( Len( hb_zCompress( cStr, NIL, @nResult ) ) )
|
||||
? "ZLIB", hb_ntos( Len( hb_ZCompress( cStr, NIL, @nResult ) ) )
|
||||
? "LZF ", hb_ntos( Len( hb_lzf_compress( cStr, NIL, @nResult ) ) )
|
||||
? "LZO ", hb_ntos( Len( hb_lzo1x_1_compress( cStr, NIL, @nResult ) ) )
|
||||
*/
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#require "hbmxml"
|
||||
|
||||
#xtranslate _ENCODE( <xData> ) => ( hb_base64Encode( hb_serialize( mxmlGetCustom( <xData> ) ) ) )
|
||||
#xtranslate _ENCODE( <xData> ) => ( hb_base64Encode( hb_Serialize( mxmlGetCustom( <xData> ) ) ) )
|
||||
|
||||
#include "hbmxml.ch"
|
||||
|
||||
|
||||
@@ -13,39 +13,39 @@ This folder contains compression related files including:
|
||||
Harbour functions to mange ZIP files:
|
||||
=====================================
|
||||
|
||||
HB_ZipOpen( cFileName, [ iMode = HB_ZIP_CREATE ],
|
||||
hb_zipOpen( cFileName, [ iMode = HB_ZIP_CREATE ],
|
||||
[ @cGlobalComment ] ) --> hZip
|
||||
HB_ZipClose( hZip, [ cGlobalComment ] ) --> nError
|
||||
HB_ZipFileCreate( hZip, cZipName, tDateTime, cTime,
|
||||
hb_zipClose( hZip, [ cGlobalComment ] ) --> nError
|
||||
hb_zipFileCreate( hZip, cZipName, tDateTime, cTime,
|
||||
nInternalAttr, nExternalAttr,
|
||||
[ nMethod = HB_ZLIB_METHOD_DEFLATE ],
|
||||
[ nLevel = HB_ZLIB_COMPRESSION_DEFAULT ],
|
||||
[ cPassword, ulFileCRC32 ], [ cComment ] ) --> nError
|
||||
HB_ZipFileWrite( hZip, cData [, nLen ] ) --> nError
|
||||
HB_ZipFileClose( hZip ) --> nError
|
||||
HB_ZipStoreFile( hZip, cFileName, [ cZipName ], ;
|
||||
hb_zipFileWrite( hZip, cData [, nLen ] ) --> nError
|
||||
hb_zipFileClose( hZip ) --> nError
|
||||
hb_zipStoreFile( hZip, cFileName, [ cZipName ], ;
|
||||
[ cPassword ], [ cComment ] ) --> nError
|
||||
HB_ZipStoreFileHandle( hZip, fhnd, cZipName, ;
|
||||
hb_zipStoreFileHandle( hZip, fhnd, cZipName, ;
|
||||
[ cPassword ], [ cComment ] ) --> nError
|
||||
HB_zipFileCRC32( cFileName ) --> nError
|
||||
hb_zipFileCRC32( cFileName ) --> nError
|
||||
|
||||
|
||||
HB_UnzipOpen( cFileName ) --> hUnzip
|
||||
HB_UnzipClose( hUnzip ) --> nError
|
||||
HB_UnzipGlobalInfo( hUnzip, @nEntries, @cGlobalComment ) --> nError
|
||||
HB_UnzipFileFirst( hUnzip ) --> nError
|
||||
HB_UnzipFileNext( hUnzip ) --> nError
|
||||
HB_UnzipFilePos( hUnzip ) --> nPosition
|
||||
HB_UnzipFileGoto( hUnzip, nPosition ) --> nError
|
||||
HB_UnzipFileInfo( hUnzip, @cZipName, @tDateTime, @cTime,
|
||||
hb_unzipOpen( cFileName ) --> hUnzip
|
||||
hb_unzipClose( hUnzip ) --> nError
|
||||
hb_unzipGlobalInfo( hUnzip, @nEntries, @cGlobalComment ) --> nError
|
||||
hb_unzipFileFirst( hUnzip ) --> nError
|
||||
hb_unzipFileNext( hUnzip ) --> nError
|
||||
hb_unzipFilePos( hUnzip ) --> nPosition
|
||||
hb_unzipFileGoto( hUnzip, nPosition ) --> nError
|
||||
hb_unzipFileInfo( hUnzip, @cZipName, @tDateTime, @cTime,
|
||||
@nInternalAttr, @nExternalAttr,
|
||||
@nMethod, @nSize, @nCompressedSize,
|
||||
@lCrypted, @cComment ) --> nError
|
||||
HB_UnzipFileOpen( hUnzip, [ cPassword ] ) --> nError
|
||||
HB_UnzipFileRead( hUnzip, @cBuf [, nLen ] ) --> nRead
|
||||
HB_UnzipFileClose( hUnzip ) --> nError
|
||||
HB_UnzipExtractCurrentFile( hUnzip, [ cFileName ], [ cPassword ] ) --> nError
|
||||
HB_UnzipExtractCurrentFileToHandle( hZip, fhnd, [ cPassword ] ) --> nError
|
||||
hb_unzipFileOpen( hUnzip, [ cPassword ] ) --> nError
|
||||
hb_unzipFileRead( hUnzip, @cBuf [, nLen ] ) --> nRead
|
||||
hb_unzipFileClose( hUnzip ) --> nError
|
||||
hb_unzipExtractCurrentFile( hUnzip, [ cFileName ], [ cPassword ] ) --> nError
|
||||
hb_unzipExtractCurrentFileToHandle( hZip, fhnd, [ cPassword ] ) --> nError
|
||||
|
||||
|
||||
HB_ZipDeleteFile( cZipFile, cFileMask ) --> nError
|
||||
hb_zipDeleteFile( cZipFile, cFileMask ) --> nError
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* Minor edit to file header
|
||||
*
|
||||
* Rev 1.2 14 Jun 1991 04:31:30 GLENN
|
||||
* Return value still needs to have nulls (hb_bchar(0)) removed. Put that back
|
||||
* Return value still needs to have nulls (hb_BChar(0)) removed. Put that back
|
||||
* in.
|
||||
*
|
||||
* Rev 1.1 12 Jun 1991 02:25:22 GLENN
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* ft_SetVcur()/FT_GETVCUR()
|
||||
* ft_SetVcur()/ft_GetVCur()
|
||||
*
|
||||
* Copyright 2012 Viktor Szakats (harbour syenar.net)
|
||||
* www - http://harbour-project.org
|
||||
|
||||
@@ -599,7 +599,7 @@ METHOD inetSendAll( SocketCon, cData, nLen ) CLASS TIPClient
|
||||
IF ::lTLS
|
||||
IF ::lHasSSL
|
||||
#if defined( _SSL_DEBUG_TEMP )
|
||||
? "SSL_WRITE()", cData
|
||||
? "SSL_write()", cData
|
||||
#endif
|
||||
nRet := SSL_write( ::ssl, cData, nLen )
|
||||
::nSSLError := iif( nRet < 0, nRet, 0 )
|
||||
@@ -633,7 +633,7 @@ METHOD inetRecv( SocketCon, cStr1, len ) CLASS TIPClient
|
||||
IF ::lTLS
|
||||
IF ::lHasSSL
|
||||
#if defined( _SSL_DEBUG_TEMP )
|
||||
? "SSL_READ()"
|
||||
? "SSL_read()"
|
||||
#endif
|
||||
nRet := SSL_read( ::ssl, @cStr1, len )
|
||||
::nSSLError := iif( nRet < 0, nRet, 0 )
|
||||
@@ -658,7 +658,7 @@ METHOD inetRecvLine( SocketCon, nRet, size ) CLASS TIPClient
|
||||
IF ::lHasSSL
|
||||
nRet := hb_SSL_read_line( ::ssl, @cRet, size, ::nConnTimeout )
|
||||
#if defined( _SSL_DEBUG_TEMP )
|
||||
? "HB_SSL_READ_LINE()", cRet
|
||||
? "hb_SSL_read_line()", cRet
|
||||
#endif
|
||||
IF nRet == 0 .OR. Empty( cRet )
|
||||
cRet := NIL
|
||||
@@ -686,7 +686,7 @@ METHOD inetRecvAll( SocketCon, cRet, size ) CLASS TIPClient
|
||||
IF ::lHasSSL
|
||||
nRet := hb_SSL_read_all( ::ssl, @cRet, size, ::nConnTimeout )
|
||||
#if defined( _SSL_DEBUG_TEMP )
|
||||
? "HB_SSL_READ_ALL()", cRet
|
||||
? "hb_SSL_read_all()", cRet
|
||||
#endif
|
||||
IF nRet == 0 .OR. Empty( cRet )
|
||||
cRet := NIL
|
||||
|
||||
@@ -97,7 +97,7 @@ PROCEDURE DllMain()
|
||||
* It allows to create OLE server which will accept unknown messages
|
||||
* redirecting them to some other code, i.e.:
|
||||
* if netio_Connect( cServer,,, cPasswd )
|
||||
* win_oleServerInit( cClassID, cServerName, @netio_funcExec(), .T. )
|
||||
* win_oleServerInit( cClassID, cServerName, @netio_FuncExec(), .T. )
|
||||
* endif
|
||||
* initialize OLE server which redirects all messages to default netio
|
||||
* connection established by netio_Connect().
|
||||
|
||||
@@ -22,7 +22,7 @@ PROCEDURE Main( cPar1 )
|
||||
|
||||
DO WHILE nPrn != 0
|
||||
CLS
|
||||
@ 0, 0 SAY "Win_Prn() Class test program. Choose a printer to test"
|
||||
@ 0, 0 SAY "win_Prn() Class test program. Choose a printer to test"
|
||||
@ 1, 0 SAY "Bitmap file name" GET cBMPFile PICT "@K"
|
||||
READ
|
||||
@ 2, 0 TO MaxRow(), MaxCol()
|
||||
@@ -53,7 +53,7 @@ STATIC PROCEDURE PrnTest( cPrinter, cBMPFile, lAsk )
|
||||
IF ! oPrinter:Create()
|
||||
Alert( "Cannot Create Printer" )
|
||||
ELSE
|
||||
IF ! oPrinter:startDoc( "Win_Prn(Doc name in Printer Properties)" )
|
||||
IF ! oPrinter:startDoc( "win_Prn(Doc name in Printer Properties)" )
|
||||
Alert( "StartDoc() failed" )
|
||||
ELSE
|
||||
oPrinter:SetPen( WIN_PS_SOLID, 1, HB_WIN_RGB_RED )
|
||||
|
||||
@@ -138,7 +138,7 @@ FUNCTION __ActiveStructure( cStructure, nAlign )
|
||||
__clsAddMsg( hClass, "Init" , @Init() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "Pointer" , @Pointer() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "GetPointer", @GetPointer() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "CopyTo" , @__CSTR_CopyTo() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "CopyTo" , @__CStr_CopyTo() , HB_OO_MSG_METHOD )
|
||||
|
||||
FOR EACH cMember IN acMembers
|
||||
__clsAddMsg( hClass, cMember, cMember:__enumIndex(), HB_OO_MSG_PROPERTY )
|
||||
@@ -200,7 +200,7 @@ FUNCTION hb_CStructureId( cStructure, lInplace )
|
||||
oErr:CanRetry := .F.
|
||||
oErr:CanSubstitute := .T.
|
||||
oErr:Description := "Structure not found: '" + cStructure + "'"
|
||||
oErr:Operation := "HB_CStructureID()"
|
||||
oErr:Operation := "hb_CStructureId()"
|
||||
oErr:Severity := ES_ERROR
|
||||
oErr:SubCode := 3
|
||||
oErr:SubSystem := "C Structure"
|
||||
@@ -297,7 +297,7 @@ PROCEDURE hb_CStructureCSyntax( cStructure, aDefinitions, cTag, cSynonList, nAli
|
||||
oErr:CanRetry := .F.
|
||||
oErr:CanSubstitute := .T.
|
||||
oErr:Description := "Undefined CType: '" + aDefinitions[ Counter ] + "'"
|
||||
oErr:Operation := "HB_CStructureCSyntax()"
|
||||
oErr:Operation := "hb_CStructureCSyntax()"
|
||||
oErr:Severity := ES_ERROR
|
||||
oErr:SubCode := 2
|
||||
oErr:SubSystem := "C Structure"
|
||||
@@ -331,7 +331,7 @@ FUNCTION hb_CStructure( cStructure, nAlign )
|
||||
oErr:CanRetry := .F.
|
||||
oErr:CanSubstitute := .T.
|
||||
oErr:Description := "Structure not initialized with __ActiveStructure()"
|
||||
oErr:Operation := "HB_CStructure()"
|
||||
oErr:Operation := "hb_CStructure()"
|
||||
oErr:Severity := ES_ERROR
|
||||
oErr:SubCode := 3
|
||||
oErr:SubSystem := "C Structure"
|
||||
@@ -387,7 +387,7 @@ FUNCTION hb_CStructureFromId( nID, nAlign )
|
||||
oErr:CanRetry := .F.
|
||||
oErr:CanSubstitute := .T.
|
||||
oErr:Description := "ID out of range."
|
||||
oErr:Operation := "HB_CStructureFromID()"
|
||||
oErr:Operation := "hb_CStructureFromId()"
|
||||
oErr:Severity := ES_ERROR
|
||||
oErr:SubCode := 4
|
||||
oErr:SubSystem := "C Structure"
|
||||
@@ -443,7 +443,7 @@ FUNCTION hb_CTypeArrayId( CType, nLen )
|
||||
__clsAddMsg( hClass, "Init" , @Init() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "Pointer" , @Pointer() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "GetPointer", @GetPointer() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "CopyTo" , @__CSTR_CopyTo() , HB_OO_MSG_METHOD )
|
||||
__clsAddMsg( hClass, "CopyTo" , @__CStr_CopyTo() , HB_OO_MSG_METHOD )
|
||||
|
||||
// IF Abs( CType ) == 1
|
||||
__clsAddMsg( hClass, "AsString", @AsString() , HB_OO_MSG_METHOD )
|
||||
|
||||
@@ -81,7 +81,7 @@ CREATE CLASS TJSWindow
|
||||
|
||||
METHOD setOnUnLoad( c ) INLINE ::onUnLoad := c
|
||||
|
||||
METHOD Alert( c ) INLINE ::QOut( "alert('" + c + "')" )
|
||||
METHOD Alert( c ) INLINE ::QOut( "Alert('" + c + "')" )
|
||||
|
||||
METHOD confirm( c ) INLINE ::QOut( "confirm('" + c + "')" )
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ STATIC FUNCTION xhb_cgi_DefError( e )
|
||||
|
||||
FWrite( nH, "</TD>" + CRLF() + "</TR>" + CRLF() + "</TABLE>" + CRLF() )
|
||||
|
||||
HtmlJSCmd( nH, 'alert("There was an error processing your request:\n' + ;
|
||||
HtmlJSCmd( nH, 'Alert("There was an error processing your request:\n' + ;
|
||||
'Look at the bottom of this page for\n' + ;
|
||||
'error description and parameters...");' )
|
||||
FWrite( nH, "</FONT>" + CRLF() + "</BODY></HTML>" + CRLF() )
|
||||
|
||||
@@ -139,7 +139,7 @@ METHOD New( name, lOpen, width, height, bgColor, ;
|
||||
cStr += hb_ntos( height ) + ","
|
||||
cStr += '"' + BGCOLOR + '"' + ");" + CRLF()
|
||||
cStr += "" // Space( 10 )
|
||||
cStr += name + [.setFont("<FONT FACE='] + FONT + [' SIZE=] + hb_ntos( fntSize ) + [' COLOR='] + fntColor + ['>","</FONT>");] + CRLF()
|
||||
cStr += name + [.SetFont("<FONT FACE='] + FONT + [' SIZE=] + hb_ntos( fntSize ) + [' COLOR='] + fntColor + ['>","</FONT>");] + CRLF()
|
||||
|
||||
::nItems++
|
||||
AAdd( ::aScript, cStr )
|
||||
@@ -190,7 +190,7 @@ METHOD SetFont( name, font, fntColor, fntSize ) CLASS TJSList
|
||||
__defaultNIL( @fntColor, ::fontColor )
|
||||
__defaultNIL( @fntSize, ::Size )
|
||||
|
||||
cStr += name + [.setFont("<FONT ] + ;
|
||||
cStr += name + [.SetFont("<FONT ] + ;
|
||||
[ FACE = '] + font + [' ] + ;
|
||||
[ SIZE = ] + hb_ntos( fntSize ) + ['] + ;
|
||||
[ COLOR = '] + fntColor + [' ] + ;
|
||||
|
||||
@@ -334,7 +334,7 @@ CREATE CLASS JWindow
|
||||
|
||||
METHOD setOnUnLoad( c ) INLINE ::onUnLoad := c
|
||||
|
||||
METHOD Alert( c ) INLINE ::QOut( "alert('" + c + "')" )
|
||||
METHOD Alert( c ) INLINE ::QOut( "Alert('" + c + "')" )
|
||||
|
||||
METHOD confirm( c ) INLINE ::QOut( "confirm('" + c + "')" )
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ PROCEDURE Main()
|
||||
|
||||
LOCAL aArray
|
||||
|
||||
? "HB_DECODE() FUNCTION TESTS"
|
||||
? "hb_Decode() FUNCTION TESTS"
|
||||
|
||||
// Single, return empty value
|
||||
? hb_Decode( 10 )
|
||||
|
||||
@@ -490,10 +490,10 @@ STATIC FUNCTION LogError( oerr )
|
||||
FWriteLine( nHandle, "Current Recno .....: " + strvalue( &( "RecNo()" ) ) )
|
||||
ENDIF
|
||||
IF hb_IsFunction( "DbFilter" )
|
||||
FWriteLine( nHandle, "Current Filter ....: " + &( "DbFilter()" ) )
|
||||
FWriteLine( nHandle, "Current Filter ....: " + &( "dbFilter()" ) )
|
||||
ENDIF
|
||||
IF hb_IsFunction( "DbRelation" )
|
||||
FWriteLine( nHandle, "Relation Exp. .....: " + &( "DbRelation()" ) )
|
||||
FWriteLine( nHandle, "Relation Exp. .....: " + &( "dbRelation()" ) )
|
||||
ENDIF
|
||||
IF hb_IsFunction( "IndexOrd" )
|
||||
FWriteLine( nHandle, "Index Order .......: " + strvalue( &( "IndexOrd(0)" ) ) )
|
||||
|
||||
@@ -37,9 +37,9 @@ whitespace. (or just walk through all argv[])
|
||||
-wi/harbour/include/n ( W I=/harbour/include/n )
|
||||
-wes0n ( W ES=0 N )
|
||||
-wen ( W [invalid switch: e] N )
|
||||
-wesn ( W ES=default(0) N )
|
||||
-wses ( W S ES=default(0) )
|
||||
-wess ( W ES=default(0) S )
|
||||
-wesn ( W ES=Default(0) N )
|
||||
-wses ( W S ES=Default(0) )
|
||||
-wess ( W ES=Default(0) S )
|
||||
- ( [invalid switch] )
|
||||
-w-n-p ( !W !N P )
|
||||
-w-n-p- ( !W !N !P )
|
||||
|
||||
@@ -796,6 +796,6 @@
|
||||
$FILES$
|
||||
Library is core
|
||||
$SEEALSO$
|
||||
__objHasData(),__ObjHasMethod()
|
||||
__objHasData(),__objHasMethod()
|
||||
$END$
|
||||
*/
|
||||
|
||||
@@ -830,7 +830,7 @@
|
||||
$FILES$
|
||||
Library is core
|
||||
$SEEALSO$
|
||||
__Accept(),__INPUT()
|
||||
__Accept(),__Input()
|
||||
$END$
|
||||
*/
|
||||
|
||||
|
||||
@@ -747,7 +747,7 @@
|
||||
$FILES$
|
||||
Library is core
|
||||
$SEEALSO$
|
||||
Empty(),RTrim(),LTrim(),AADD(),ASize()
|
||||
Empty(),RTrim(),LTrim(),AAdd(),ASize()
|
||||
$END$
|
||||
*/
|
||||
|
||||
|
||||
@@ -112,11 +112,11 @@ Syntax:
|
||||
|
||||
For example, this pragma is used to implement TEXT/ENDTEXT command
|
||||
|
||||
#command TEXT => #pragma __text|Qout(%s)|QQout()
|
||||
#command TEXT => #pragma __text|QOut(%s)|QQOut()
|
||||
#command TEXT TO PRINTER => ;
|
||||
#pragma __text|Qout(%s)|__TextRestore()|__TextSave("PRINTER")
|
||||
#pragma __text|QOut(%s)|__TextRestore()|__TextSave("PRINTER")
|
||||
#command TEXT TO FILE <file> => ;
|
||||
#pragma __text|Qout(%s)|__TextRestore()|__TextSave(<"file">)
|
||||
#pragma __text|QOut(%s)|__TextRestore()|__TextSave(<"file">)
|
||||
|
||||
|
||||
?
|
||||
|
||||
@@ -130,7 +130,7 @@ FUNCTION Sp_Add( cWord )
|
||||
|
||||
RETURN was_added
|
||||
|
||||
// Function: Sp_cache()
|
||||
// Function: Sp_Cache()
|
||||
// Purpose: To add a word to the cache list
|
||||
// Syntax: <logical> := Sp_Cache( cWord )
|
||||
// Arguments: cWord - upper case, all trimmed word to add
|
||||
@@ -681,7 +681,7 @@ FUNCTION Sp_Suggest( cWord, lInclude )
|
||||
ENDIF
|
||||
cTemp := Sp_GetBuf( cWord )
|
||||
ii := Len( cTemp )
|
||||
cMeta := C_MetaFone( cWord, zz )
|
||||
cMeta := C_Metafone( cWord, zz )
|
||||
zz := Len( cMeta )
|
||||
cFirst := SubStr( cWord, 1, 2 )
|
||||
|
||||
@@ -1078,7 +1078,7 @@ FUNCTION DBF2Dic( cDbf, cDictionary, lTalk )
|
||||
nSize := DICT->( LastRec() )
|
||||
ENDIF
|
||||
|
||||
INDEX ON SubStr( DICT->word, 1, 2 ) + PadR( C_MetaFone( AllTrim( DICT->word ), 5 ), 6 ) TO ( "$$temp" )
|
||||
INDEX ON SubStr( DICT->word, 1, 2 ) + PadR( C_Metafone( AllTrim( DICT->word ), 5 ), 6 ) TO ( "$$temp" )
|
||||
dbGoTop()
|
||||
|
||||
IF lTalk
|
||||
|
||||
@@ -250,7 +250,7 @@ In Standard Mode:
|
||||
nCurWin := wvw_nSetCurWindow(1)
|
||||
? "In Window 1"
|
||||
wvw_nSetCurWindow(nCurWin)
|
||||
? "Back in Window " + AllTrim(str(nCurWin))
|
||||
? "Back in Window " + AllTrim(Str(nCurWin))
|
||||
|
||||
- All exported, output oriented C functions work on window designated by
|
||||
usWinNum parameter.
|
||||
|
||||
@@ -1134,7 +1134,7 @@ FUNCTION xDebugInfo()
|
||||
|
||||
// SetMouse( .T., MaxRow(), MaxCol() )
|
||||
|
||||
// wvw_SetMousePos( WVW_nNumWindows() - 1, MaxRow(), MaxCol() )
|
||||
// wvw_SetMousePos( wvw_nNumWindows() - 1, MaxRow(), MaxCol() )
|
||||
|
||||
lboxmessage( "GTWVW test/demo" + hb_eol() + ;
|
||||
"Budyanto Dj. <budyanto@centrin.net.id>" + hb_eol() + ;
|
||||
|
||||
@@ -945,7 +945,7 @@ FUNCTION pdfOpen( cFile, nLen, lOptimize )
|
||||
|
||||
// TOFIX: This external file dependency should be removed.
|
||||
|
||||
cTemp := __pdf_FontsDat() // times, times-bold, times-italic, times-bolditalic, helvetica..., courier... // 0.04
|
||||
cTemp := __pdf_fontsdat() // times, times-bold, times-italic, times-bolditalic, helvetica..., courier... // 0.04
|
||||
n1 := Len( cTemp ) / ( 2 * n2 )
|
||||
t_aReport[ FONTWIDTH ] := Array( n1, n2 )
|
||||
|
||||
@@ -1322,8 +1322,8 @@ STATIC FUNCTION pdfTextNextPara( cString, cDelim, nI )
|
||||
LOCAL nAt, cAt, nCRLF, nNew, nRat, nRet := 0
|
||||
|
||||
// check if next spaces paragraph(s)
|
||||
nAt := atToken( cString, cDelim, nI ) + Len( Token( cString, cDelim, nI ) )
|
||||
cAt := SubStr( cString, nAt, atToken( cString, cDelim, nI + 1 ) - nAt )
|
||||
nAt := AtToken( cString, cDelim, nI ) + Len( Token( cString, cDelim, nI ) )
|
||||
cAt := SubStr( cString, nAt, AtToken( cString, cDelim, nI + 1 ) - nAt )
|
||||
nCRLF := NumAt( Chr( 13 ) + Chr( 10 ), cAt )
|
||||
nRat := RAt( Chr( 13 ) + Chr( 10 ), cAt )
|
||||
nNew := Len( cAt ) - nRat - iif( nRat > 0, 1, 0 )
|
||||
@@ -1334,7 +1334,7 @@ STATIC FUNCTION pdfTextNextPara( cString, cDelim, nI )
|
||||
RETURN nRet
|
||||
|
||||
// -----------------------------
|
||||
FUNCTION pdfUnderLine( cString )
|
||||
FUNCTION pdfUnderline( cString )
|
||||
RETURN cString + Chr( 254 )
|
||||
|
||||
// ------------------------
|
||||
@@ -2346,7 +2346,7 @@ FUNCTION pdfTIFFInfo( cFile )
|
||||
CASE nFieldType == FLOAT
|
||||
CASE nFieldType == DOUBLE
|
||||
FOR nI := 1 TO nCount
|
||||
?? " " + hb_ntos( ctof( SubStr( cValues, ( nI - 1 ) * 8 + 1, 8 ) ) )
|
||||
?? " " + hb_ntos( CToF( SubStr( cValues, ( nI - 1 ) * 8 + 1, 8 ) ) )
|
||||
NEXT
|
||||
|
||||
ENDCASE
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
FUNCTION __pdf_FontsDat()
|
||||
FUNCTION __pdf_fontsdat()
|
||||
|
||||
#pragma __streaminclude "fonts.dat" | RETURN %s
|
||||
|
||||
@@ -44,7 +44,7 @@ DYNAMIC pdfImage
|
||||
DYNAMIC pdfImageInfo
|
||||
DYNAMIC pdfInit
|
||||
DYNAMIC pdfItalic
|
||||
DYNAMIC pdfJpegInfo
|
||||
DYNAMIC pdfJPEGInfo
|
||||
DYNAMIC pdfLen
|
||||
DYNAMIC pdfMargins
|
||||
DYNAMIC pdfNewLine
|
||||
@@ -64,7 +64,7 @@ DYNAMIC pdfStringB
|
||||
DYNAMIC pdfText
|
||||
DYNAMIC pdfTextCount
|
||||
DYNAMIC pdfTextWidth
|
||||
DYNAMIC pdfTiffInfo
|
||||
DYNAMIC pdfTIFFInfo
|
||||
DYNAMIC pdfUnderline
|
||||
DYNAMIC pdfWidth
|
||||
DYNAMIC __pdf_fontsdat
|
||||
|
||||
@@ -20,7 +20,7 @@ PROCEDURE Main()
|
||||
"FDF5E6", "FFF8DC", "FAF0E6", "FAFAD2", "FFFACD", "FFEBCD", "FFFFE0", "FAEBD7", "FFF5EE", "FFF0F5", "D8BFD8", "FFC0CB", "FFB6C1", "BC8F8F", "F08080", "FF7F50", "FF6347", "8B4513", "A0522D", "CD853F", ;
|
||||
"FFFAFA", "FFFFF0", "E6E6FA", "FFFAF0", "F8F8FF", "F0FFF0", "F5F5DC", "F0FFFF", "F5FFFA", "708090", "778899", "F5F5F5", "DCDCDC", "D3D3D3", "C0C0C0", "A9A9A9", "808080", "696969", "000000", "FFFFFF" }
|
||||
|
||||
aReport := PdfInit()
|
||||
aReport := pdfInit()
|
||||
|
||||
SET DATE FORMAT "YYYY/MM/DD" // important for save/load array function!!!
|
||||
|
||||
@@ -78,7 +78,7 @@ PROCEDURE Main()
|
||||
nRow := 150 + nI * 10
|
||||
FOR nJ := 1 TO 20
|
||||
nCol := nJ * 10 - 3
|
||||
pdfBox( nRow, nCol, nRow + 10, nCol + 10, 0.01, nI * 10, "M", Chr( 253 ) + Chr( cton( SubStr( aColor[ ( nI - 1 ) * 20 + nJ ], 1, 2 ), 16 ) ) + Chr( cton( SubStr( aColor[ ( nI - 1 ) * 20 + nJ ], 3, 2 ), 16 ) ) + Chr( cton( SubStr( aColor[ ( nI - 1 ) * 20 + nJ ], 5, 2 ), 16 ) ) )
|
||||
pdfBox( nRow, nCol, nRow + 10, nCol + 10, 0.01, nI * 10, "M", Chr( 253 ) + Chr( CToN( SubStr( aColor[ ( nI - 1 ) * 20 + nJ ], 1, 2 ), 16 ) ) + Chr( CToN( SubStr( aColor[ ( nI - 1 ) * 20 + nJ ], 3, 2 ), 16 ) ) + Chr( CToN( SubStr( aColor[ ( nI - 1 ) * 20 + nJ ], 5, 2 ), 16 ) ) )
|
||||
NEXT
|
||||
NEXT
|
||||
|
||||
@@ -89,7 +89,7 @@ PROCEDURE Main()
|
||||
nLeft := ( nI - 1 ) * 2.1
|
||||
nBottom := aReport[ PAGEY ] - ( nI - 1 ) * 2.47
|
||||
nRight := aReport[ PAGEX ] - ( nI - 1 ) * 2.18
|
||||
pdfBox1( nTop, nLeft, nBottom, nRight, 10, Chr( cton( SubStr( aColor[ nI ], 1, 2 ), 16 ) ) + Chr( cton( SubStr( aColor[ nI ], 3, 2 ), 16 ) ) + Chr( cton( SubStr( aColor[ nI ], 5, 2 ), 16 ) ) )
|
||||
pdfBox1( nTop, nLeft, nBottom, nRight, 10, Chr( CToN( SubStr( aColor[ nI ], 1, 2 ), 16 ) ) + Chr( CToN( SubStr( aColor[ nI ], 3, 2 ), 16 ) ) + Chr( CToN( SubStr( aColor[ nI ], 5, 2 ), 16 ) ) )
|
||||
NEXT
|
||||
|
||||
pdfNewPage( "LETTER", "P", 6 )
|
||||
@@ -101,15 +101,15 @@ PROCEDURE Main()
|
||||
|
||||
cTestFile := MemoRead( "files" + hb_ps() + "test.txt" )
|
||||
|
||||
pdfText( cTestFile, 28, 107.95, nWidth, nTab, 3, "M", Chr( 253 ) + Chr( 0 ) + Chr( 0 ) + Chr( 255 ) ) // , pdfTextCount( memoread("test.txt"), 28, 107.95, nWidth, nTab, 3, "M" )
|
||||
pdfText( cTestFile, 58, 107.95, nWidth, nTab, 2, "M", Chr( 253 ) + Chr( 0 ) + Chr( 255 ) + Chr( 0 ) ) // , pdfTextCount( memoread("test.txt"), 58, 107.95, nWidth, nTab, 2, "M" )
|
||||
pdfText( cTestFile, 88, 107.95, nWidth, nTab, 1, "M", Chr( 253 ) + Chr( 255 ) + Chr( 0 ) + Chr( 0 ) ) // , pdfTextCount( memoread("test.txt"), 88, 107.95, nWidth, nTab, 1, "M" )
|
||||
pdfText( cTestFile, 118, 107.95 - nWidth / 2, nWidth, nTab, 4, "M", Chr( 253 ) + Chr( 255 ) + Chr( 255 ) + Chr( 0 ) ) // , pdfTextCount( memoread("test.txt"), 118, 107.95 - nWidth / 2, nWidth, nTab, 4, "M" )
|
||||
pdfText( cTestFile, 28, 107.95, nWidth, nTab, 3, "M", Chr( 253 ) + Chr( 0 ) + Chr( 0 ) + Chr( 255 ) ) // , pdfTextCount( MemoRead("test.txt"), 28, 107.95, nWidth, nTab, 3, "M" )
|
||||
pdfText( cTestFile, 58, 107.95, nWidth, nTab, 2, "M", Chr( 253 ) + Chr( 0 ) + Chr( 255 ) + Chr( 0 ) ) // , pdfTextCount( MemoRead("test.txt"), 58, 107.95, nWidth, nTab, 2, "M" )
|
||||
pdfText( cTestFile, 88, 107.95, nWidth, nTab, 1, "M", Chr( 253 ) + Chr( 255 ) + Chr( 0 ) + Chr( 0 ) ) // , pdfTextCount( MemoRead("test.txt"), 88, 107.95, nWidth, nTab, 1, "M" )
|
||||
pdfText( cTestFile, 118, 107.95 - nWidth / 2, nWidth, nTab, 4, "M", Chr( 253 ) + Chr( 255 ) + Chr( 255 ) + Chr( 0 ) ) // , pdfTextCount( MemoRead("test.txt"), 118, 107.95 - nWidth / 2, nWidth, nTab, 4, "M" )
|
||||
|
||||
pdfText( cTestFile, 34, 100, nWidth, nTab, 3, "R", Chr( 253 ) + Chr( 0 ) + Chr( 128 ) + Chr( 128 ) ) // , pdfTextCount( memoread("test.txt"), 33, 100, nWidth, nTab, 3, "R" )
|
||||
pdfText( cTestFile, 41, 100, nWidth, nTab, 2, "R", Chr( 253 ) + Chr( 0 ) + Chr( 191 ) + Chr( 255 ) ) // , pdfTextCount( memoread("test.txt"), 40, 100, nWidth, nTab, 2, "R" )
|
||||
pdfText( cTestFile, 48, 100, nWidth, nTab, 1, "R", Chr( 253 ) + Chr( 244 ) + Chr( 164 ) + Chr( 96 ) ) // , pdfTextCount( memoread("test.txt"), 47, 100, nWidth, nTab, 1, "R" )
|
||||
pdfText( cTestFile, 55, 35, nWidth, nTab, 4, "R", Chr( 253 ) + Chr( 0 ) + Chr( 0 ) + Chr( 0 ) ) // , pdfTextCount( memoread("test.txt"), 54, 35, nWidth, nTab, 4, "R" )
|
||||
pdfText( cTestFile, 34, 100, nWidth, nTab, 3, "R", Chr( 253 ) + Chr( 0 ) + Chr( 128 ) + Chr( 128 ) ) // , pdfTextCount( MemoRead("test.txt"), 33, 100, nWidth, nTab, 3, "R" )
|
||||
pdfText( cTestFile, 41, 100, nWidth, nTab, 2, "R", Chr( 253 ) + Chr( 0 ) + Chr( 191 ) + Chr( 255 ) ) // , pdfTextCount( MemoRead("test.txt"), 40, 100, nWidth, nTab, 2, "R" )
|
||||
pdfText( cTestFile, 48, 100, nWidth, nTab, 1, "R", Chr( 253 ) + Chr( 244 ) + Chr( 164 ) + Chr( 96 ) ) // , pdfTextCount( MemoRead("test.txt"), 47, 100, nWidth, nTab, 1, "R" )
|
||||
pdfText( cTestFile, 55, 35, nWidth, nTab, 4, "R", Chr( 253 ) + Chr( 0 ) + Chr( 0 ) + Chr( 0 ) ) // , pdfTextCount( MemoRead("test.txt"), 54, 35, nWidth, nTab, 4, "R" )
|
||||
|
||||
pdfNewPage( "LETTER", "P", 6 )
|
||||
pdfBookAdd( "Fonts", 1, aReport[ REPORTPAGE ], 0 )
|
||||
@@ -162,7 +162,7 @@ PROCEDURE Main()
|
||||
|
||||
pdfClose()
|
||||
|
||||
STATIC FUNCTION cton( cString, nBase ) // this function called only used in pdf_demo.prg
|
||||
STATIC FUNCTION CToN( cString, nBase ) // this function called only used in pdf_demo.prg
|
||||
|
||||
LOCAL cTemp, nI, cChar, n := 0, nLen
|
||||
|
||||
|
||||
@@ -568,7 +568,7 @@ PROCEDURE uhttpd_Die( cError )
|
||||
__OutDebug( "cError: ", cError )
|
||||
IF ! oCGI:HeaderSent()
|
||||
oCGI:WriteLN( CRLF2BR( cError ), CRLF2BR( CRLF() ) )
|
||||
// oCGI:WriteLN( CRLF2BR( hb_dumpVar( TConfigure():hConfig ) ) )
|
||||
// oCGI:WriteLN( CRLF2BR( hb_DumpVar( TConfigure():hConfig ) ) )
|
||||
ENDIF
|
||||
#endif
|
||||
// Generate Error
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
if ( force || qstr.length > 4 )
|
||||
{
|
||||
//qstr = 'w1=' + escape(qstr); // NOTE: no '?' before querystring
|
||||
//xmlPost('/cgi-bin/showcounter.hrb', qstr + "&sid=" + Math.random(), tableResponseHandler);
|
||||
//xmlPost('/cgi-bin/showcounter.hrb', qstr + "&sid=" + Math.Random(), tableResponseHandler);
|
||||
divpart = 'result';
|
||||
updatepage( escape( qstr ) );
|
||||
}
|
||||
@@ -33,7 +33,7 @@
|
||||
{
|
||||
var form = document.forms[ 'f1' ];
|
||||
var word = form.word.value;
|
||||
//alert( 'qstr: ' + qstr );
|
||||
//Alert( 'qstr: ' + qstr );
|
||||
return word;
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
else
|
||||
{
|
||||
EndProgress();
|
||||
alert("There was a problem retrieving the XML data:\n" +
|
||||
Alert("There was a problem retrieving the XML data:\n" +
|
||||
req.statusText);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,14 +18,14 @@
|
||||
function getTableData(pageNum)
|
||||
{
|
||||
xslGet( "/xsl/based.xsl" );
|
||||
xmlGet( '/cgi-bin/tableservletdb.hrb?page=' + pageNum + "&sid=" + Math.random(), tableResponseHandler);
|
||||
xmlGet( '/cgi-bin/tableservletdb.hrb?page=' + pageNum + "&sid=" + Math.Random(), tableResponseHandler);
|
||||
divpart = 'tableSection';
|
||||
}
|
||||
|
||||
function getTablePages()
|
||||
{
|
||||
xslGet( "/xsl/basep.xsl" );
|
||||
xmlGet( '/cgi-bin/tableservletdb.hrb?count=true' + "&sid=" + Math.random(), tableResponseHandler);
|
||||
xmlGet( '/cgi-bin/tableservletdb.hrb?count=true' + "&sid=" + Math.Random(), tableResponseHandler);
|
||||
divpart = 'pageSection';
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
// Make sure the XSL document is loaded
|
||||
if (!xsldocloaded)
|
||||
{
|
||||
alert('Unable to transform data. XSL is not yet loaded.');
|
||||
Alert('Unable to transform data. XSL is not yet loaded.');
|
||||
// break out of the function
|
||||
return;
|
||||
}
|
||||
@@ -65,7 +65,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("There was a problem retrieving the XML data:\n" +
|
||||
Alert("There was a problem retrieving the XML data:\n" +
|
||||
req.statusText);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@ METHOD Start( cSID ) CLASS uhttpd_Session
|
||||
// // Check whether the current request was referred to by
|
||||
// // an external site which invalidates the previously found ID
|
||||
// $url = parse_url($GLOBALS['HTTP_REFERER']);
|
||||
// IF !(trim($url['host']) == $GLOBALS['SERVER_NAME'])
|
||||
// IF !(Trim($url['host']) == $GLOBALS['SERVER_NAME'])
|
||||
// unset(session->id)
|
||||
// send_cookie := .T.
|
||||
// define_sid := .T.
|
||||
|
||||
@@ -428,7 +428,7 @@ PROCEDURE Main( ... )
|
||||
#endif
|
||||
|
||||
IF HB_ISSTRING( cDocumentRoot )
|
||||
// cI := StrTran( SUBSTR( cDocumentRoot, 2 ), "\", "/" )
|
||||
// cI := StrTran( SubStr( cDocumentRoot, 2 ), "\", "/" )
|
||||
cI := cDocumentRoot
|
||||
IF hb_DirExists( cI )
|
||||
IF Right( cI, 1 ) == "/" .AND. Len( cI ) > 2 .AND. !( SubStr( cI, Len( cI ) - 2, 1 ) == ":" )
|
||||
@@ -1439,7 +1439,7 @@ STATIC PROCEDURE WriteToLog( cRequest )
|
||||
|
||||
IF hb_mutexLock( s_hmtxLog )
|
||||
|
||||
// hb_ToOutDebug( "TIP_TimeStamp() = %s \n\r", tip_TimeStamp() )
|
||||
// hb_ToOutDebug( "tip_TimeStamp() = %s \n\r", tip_TimeStamp() )
|
||||
|
||||
cTime := Time()
|
||||
dDate := Date()
|
||||
|
||||
@@ -23,18 +23,18 @@ PROCEDURE Main()
|
||||
|
||||
cStr := hb_base64Encode( aVector:__enumKey )
|
||||
IF cStr != aVector
|
||||
? hb_StrFormat( "hb_base64encode(): expected '%s' got '%s' while encoding '%s'", ;
|
||||
? hb_StrFormat( "hb_base64Encode(): expected '%s' got '%s' while encoding '%s'", ;
|
||||
aVector:__enumKey(), cStr, aVector )
|
||||
ELSE
|
||||
? hb_StrFormat( "hb_base64encode(): passed '%s'", aVector:__enumKey )
|
||||
? hb_StrFormat( "hb_base64Encode(): passed '%s'", aVector:__enumKey )
|
||||
ENDIF
|
||||
|
||||
cStr := hb_base64Decode( aVector )
|
||||
IF cStr != aVector:__enumKey()
|
||||
? hb_StrFormat( "hb_base64decode(): expected '%s' got '%s' while decoding '%s'", ;
|
||||
? hb_StrFormat( "hb_base64Decode(): expected '%s' got '%s' while decoding '%s'", ;
|
||||
aVector, cStr, aVector:__enumKey() )
|
||||
ELSE
|
||||
? hb_StrFormat( "hb_base64decode(): passed '%s'", aVector )
|
||||
? hb_StrFormat( "hb_base64Decode(): passed '%s'", aVector )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
|
||||
@@ -10,16 +10,16 @@ PROCEDURE Main()
|
||||
MESSAGE( '@ 0, 0, 15, 50 BOX " " COLOR "W+/B"' )
|
||||
|
||||
__Box( 1, 1, 5, 7 )
|
||||
MESSAGE( '__BOX( 1, 1, 5, 7 )' )
|
||||
MESSAGE( '__Box( 1, 1, 5, 7 )' )
|
||||
|
||||
__Box( 1, 1, 5, 7, "X" )
|
||||
MESSAGE( '__BOX( 1, 1, 5, 7, "X" )' )
|
||||
MESSAGE( '__Box( 1, 1, 5, 7, "X" )' )
|
||||
|
||||
__BoxD( 2, 2, 6, 8 )
|
||||
MESSAGE( '__BOXD( 2, 2, 6, 8 )' )
|
||||
MESSAGE( '__BoxD( 2, 2, 6, 8 )' )
|
||||
|
||||
__BoxS( 3, 3, 7, 9 )
|
||||
MESSAGE( '__BOXS( 3, 3, 7, 9 )' )
|
||||
MESSAGE( '__BoxS( 3, 3, 7, 9 )' )
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@@ -222,12 +222,12 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
|
||||
SetColor( LI_CLR )
|
||||
//
|
||||
DO CASE
|
||||
CASE !( Type( "Sx_KeyNo()" ) == "U" )
|
||||
fbar1 := "Sx_KeyNo()"
|
||||
fbar2 := "Sx_KeyCount()"
|
||||
CASE !( Type( "ADSKeyNo()" ) == "U" )
|
||||
fbar1 := "ADSKeyNo()"
|
||||
fbar2 := "ADSKeyCount()"
|
||||
CASE !( Type( "sx_KeyNo()" ) == "U" )
|
||||
fbar1 := "sx_KeyNo()"
|
||||
fbar2 := "sx_KeyCount()"
|
||||
CASE !( Type( "AdsKeyNo()" ) == "U" )
|
||||
fbar1 := "AdsKeyNo()"
|
||||
fbar2 := "AdsKeyCount()"
|
||||
CASE !( Type( "Ax_KeyNo()" ) == "U" )
|
||||
fbar1 := "Ax_KeyNo()"
|
||||
fbar2 := "Ax_KeyCount()"
|
||||
|
||||
@@ -31,7 +31,7 @@ PROCEDURE Main()
|
||||
a := "0d20040229+1"
|
||||
? "Should be '2004.03.01' :", &a
|
||||
|
||||
a := "DATE() - 0d20051112"
|
||||
a := "Date() - 0d20051112"
|
||||
? "Number of days from 2005.11.12:", &a
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -53,7 +53,7 @@ PROCEDURE Main()
|
||||
oFrom:Dispose()
|
||||
oTo:Dispose()
|
||||
|
||||
// ? hb_ValToExp( __dbgvmStkGList() ) // Stack is OK!
|
||||
// ? hb_ValToExp( __dbgVMStkGList() ) // Stack is OK!
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ PROCEDURE Main( cLng )
|
||||
? "HB_LANG_ITEM_BASE_ERRDESC", "[" + hb_langMessage( HB_LANG_ITEM_BASE_ERRDESC ) + "]"
|
||||
? "HB_LANG_ITEM_BASE_ERRINTR", "[" + hb_langMessage( HB_LANG_ITEM_BASE_ERRINTR ) + "]"
|
||||
? "HB_LANG_ITEM_BASE_TEXT ", "[" + hb_langMessage( HB_LANG_ITEM_BASE_TEXT ) + "]"
|
||||
? "HB_LANGERRMSG(0)", hb_langErrMsg( 0 )
|
||||
? "hb_langErrMsg(0)", hb_langErrMsg( 0 )
|
||||
?
|
||||
? "date format: " + hb_langMessage( HB_LANG_ITEM_BASE_TEXT ) + " (" + cDtFrm + ")"
|
||||
? " TRUE val: " + hb_langMessage( HB_LANG_ITEM_BASE_TEXT + 1 ) + " (" + cTrue + ")"
|
||||
|
||||
@@ -40,7 +40,7 @@ PROCEDURE Main()
|
||||
|
||||
nOldMathErrMode := hb_matherMode( HB_MATH_ERRMODE_USERDEFAULT )
|
||||
|
||||
? " IIb) error handling by error(hb_MathErMode() == HB_MATH_ERRMODE_USERDEFAULT)"
|
||||
? " IIb) error handling by error(hb_matherMode() == HB_MATH_ERRMODE_USERDEFAULT)"
|
||||
? " Exp(-1000) == 0.00 ?", Exp( -1000 )
|
||||
? " Exp(1000) == ****... ?", Exp( 1000 )
|
||||
?
|
||||
@@ -55,7 +55,7 @@ PROCEDURE Main()
|
||||
bOldMathErr := hb_matherBlock( {| nType, cFuncname, cError, nArg1, nArg2, aInfo | ;
|
||||
localmatherr( nType, cFuncname, cError, nArg1, nArg2, aInfo ) } )
|
||||
|
||||
? " IIc) error handling by callback block(hb_MathErBlock())"
|
||||
? " IIc) error handling by callback block(hb_matherBlock())"
|
||||
? " Exp(-1000) == ?", Exp( -1000 )
|
||||
? " Exp(1000) == ?", Exp( 1000 )
|
||||
?
|
||||
|
||||
@@ -86,7 +86,7 @@ FUNCTION build_mode()
|
||||
RETURN " (MT)"
|
||||
#else
|
||||
#ifdef __XHARBOUR__
|
||||
RETURN iif( HB_MULTITHREAD(), " (MT)", "" ) + ;
|
||||
RETURN iif( hb_MultiThread(), " (MT)", "" ) + ;
|
||||
iif( Memory( HB_MEM_USEDMAX ) != 0, " (FMSTAT)", "" )
|
||||
#else
|
||||
#ifdef __HARBOUR__
|
||||
|
||||
@@ -103,7 +103,7 @@ PROCEDURE Main( cFrom )
|
||||
PrintItem( cSymbol, nIdx, hb_BCode( cScope ) )
|
||||
NEXT
|
||||
? "+--------------------------+------------+---------------------------------+"
|
||||
? " ", hb_ntos( nSymbols ), "symbol(s) found."
|
||||
? " ", hb_ntos( nSymbols ), "SYMBOL(s) found."
|
||||
?
|
||||
|
||||
ACCEPT "Do you want do list all pcode values? (y/N) " TO m
|
||||
|
||||
@@ -89,7 +89,7 @@ PROCEDURE Main()
|
||||
? a
|
||||
EXIT
|
||||
CASE Chr( 12 ) + Chr( 15 )
|
||||
? "CHR()"
|
||||
? "Chr()"
|
||||
EXIT
|
||||
OTHERWISE
|
||||
? "NOT FOUND: running OTHER"
|
||||
|
||||
@@ -44,21 +44,21 @@ STATIC PROCEDURE Test_SHA2()
|
||||
"8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909" ,;
|
||||
"e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b" } }
|
||||
|
||||
? StrToHex( HB_SHA224( cMsg1 ) ) == results[ 1 ][ 1 ]
|
||||
? StrToHex( HB_SHA224( cMsg2a ) ) == results[ 1 ][ 2 ]
|
||||
? StrToHex( HB_SHA224( cMsg3 ) ) == results[ 1 ][ 3 ]
|
||||
? StrToHex( hb_SHA224( cMsg1 ) ) == results[ 1 ][ 1 ]
|
||||
? StrToHex( hb_SHA224( cMsg2a ) ) == results[ 1 ][ 2 ]
|
||||
? StrToHex( hb_SHA224( cMsg3 ) ) == results[ 1 ][ 3 ]
|
||||
|
||||
? StrToHex( HB_SHA256( cMsg1 ) ) == results[ 2 ][ 1 ]
|
||||
? StrToHex( HB_SHA256( cMsg2a ) ) == results[ 2 ][ 2 ]
|
||||
? StrToHex( HB_SHA256( cMsg3 ) ) == results[ 2 ][ 3 ]
|
||||
? StrToHex( hb_SHA256( cMsg1 ) ) == results[ 2 ][ 1 ]
|
||||
? StrToHex( hb_SHA256( cMsg2a ) ) == results[ 2 ][ 2 ]
|
||||
? StrToHex( hb_SHA256( cMsg3 ) ) == results[ 2 ][ 3 ]
|
||||
|
||||
? StrToHex( HB_SHA384( cMsg1 ) ) == results[ 3 ][ 1 ]
|
||||
? StrToHex( HB_SHA384( cMsg2b ) ) == results[ 3 ][ 2 ]
|
||||
? StrToHex( HB_SHA384( cMsg3 ) ) == results[ 3 ][ 3 ]
|
||||
? StrToHex( hb_SHA384( cMsg1 ) ) == results[ 3 ][ 1 ]
|
||||
? StrToHex( hb_SHA384( cMsg2b ) ) == results[ 3 ][ 2 ]
|
||||
? StrToHex( hb_SHA384( cMsg3 ) ) == results[ 3 ][ 3 ]
|
||||
|
||||
? StrToHex( HB_SHA512( cMsg1 ) ) == results[ 4 ][ 1 ]
|
||||
? StrToHex( HB_SHA512( cMsg2b ) ) == results[ 4 ][ 2 ]
|
||||
? StrToHex( HB_SHA512( cMsg3 ) ) == results[ 4 ][ 3 ]
|
||||
? StrToHex( hb_SHA512( cMsg1 ) ) == results[ 4 ][ 1 ]
|
||||
? StrToHex( hb_SHA512( cMsg2b ) ) == results[ 4 ][ 2 ]
|
||||
? StrToHex( hb_SHA512( cMsg3 ) ) == results[ 4 ][ 3 ]
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -119,10 +119,10 @@ STATIC PROCEDURE Test_SHA2_HMAC()
|
||||
|
||||
FOR tmp := 1 TO 7
|
||||
IF tmp != 5
|
||||
? StrToHex( HB_HMAC_SHA224( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp ]
|
||||
? StrToHex( HB_HMAC_SHA256( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp + 7 ]
|
||||
? StrToHex( HB_HMAC_SHA384( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp + 14 ]
|
||||
? StrToHex( HB_HMAC_SHA512( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp + 21 ]
|
||||
? StrToHex( hb_HMAC_SHA224( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp ]
|
||||
? StrToHex( hb_HMAC_SHA256( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp + 7 ]
|
||||
? StrToHex( hb_HMAC_SHA384( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp + 14 ]
|
||||
? StrToHex( hb_HMAC_SHA512( aMsg[ tmp ], keys[ tmp ] ) ) == results[ tmp + 21 ]
|
||||
/* We don't support these MAC sizes */
|
||||
/* ELSE
|
||||
mac_224_size = 128 / 8;
|
||||
|
||||
@@ -155,7 +155,7 @@ FUNCTION Test2()
|
||||
n := 2
|
||||
n := "a"
|
||||
n := Seconds() + 2
|
||||
n := Int( seconds() + 2 )
|
||||
n := Int( Seconds() + 2 )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
|
||||
@@ -14,16 +14,16 @@ PROCEDURE Main()
|
||||
USE "test" NEW
|
||||
|
||||
FOR i := 1 TO 100
|
||||
cStr += Str( i ) + " " + xToStr( DbInfo( i ) ) + hb_eol()
|
||||
cStr += Str( i ) + " " + xToStr( dbInfo( i ) ) + hb_eol()
|
||||
NEXT
|
||||
cStr += Str( 101 ) + " " + xToStr( DbInfo( 101 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( DbInfo( 101, 1 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( DbInfo( 101, 2 ) ) + hb_eol()
|
||||
cStr += Str( 102 ) + " " + xToStr( DbInfo( 102 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( DbInfo( 102, 1 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( DbInfo( 102, 2 ) ) + hb_eol()
|
||||
cStr += Str( 999 ) + " " + xToStr( DbInfo( 999 ) ) + hb_eol()
|
||||
cStr += Str( 1000 ) + " " + xToStr( DbInfo( 1000 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( dbInfo( 101 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( dbInfo( 101, 1 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( dbInfo( 101, 2 ) ) + hb_eol()
|
||||
cStr += Str( 102 ) + " " + xToStr( dbInfo( 102 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( dbInfo( 102, 1 ) ) + hb_eol()
|
||||
cStr += Str( 101 ) + " " + xToStr( dbInfo( 102, 2 ) ) + hb_eol()
|
||||
cStr += Str( 999 ) + " " + xToStr( dbInfo( 999 ) ) + hb_eol()
|
||||
cStr += Str( 1000 ) + " " + xToStr( dbInfo( 1000 ) ) + hb_eol()
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
MemoWrit( "dbihb.txt", cStr )
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
|
||||
/* hb_utf8At() / hb_utf8RAt() test
|
||||
UTF8-aware hb_At()/hb_rAt() */
|
||||
UTF8-aware hb_At()/hb_RAt() */
|
||||
|
||||
#include "simpleio.ch"
|
||||
|
||||
@@ -31,21 +31,21 @@ PROCEDURE Main()
|
||||
?
|
||||
? "UTF-8 -", PadR( uu, l ), "=>", u
|
||||
?
|
||||
? At( ii, i ), rAt( ii, i ), "- ISO-8859-1 at/rat"
|
||||
? hb_At( ii, i ), hb_rAt( ii, i ), "- ISO-8859-1 hb_at/rat"
|
||||
? At( ii, i ), RAt( ii, i ), "- ISO-8859-1 at/rat"
|
||||
? hb_At( ii, i ), hb_RAt( ii, i ), "- ISO-8859-1 hb_at/rat"
|
||||
? hb_utf8At( ii, i ), hb_utf8RAt( ii, i ), "- ISO-8859-1 hb_utf8at/rat"
|
||||
? At( dd, d ), rAt( dd, d ), "- CP850 at/rat"
|
||||
? hb_At( dd, d ), hb_rAt( dd, d ), "- CP850 hb_at/rat"
|
||||
? At( dd, d ), RAt( dd, d ), "- CP850 at/rat"
|
||||
? hb_At( dd, d ), hb_RAt( dd, d ), "- CP850 hb_at/rat"
|
||||
? hb_utf8At( dd, d ), hb_utf8RAt( dd, d ), "- CP850 hb_utf8at/rat"
|
||||
? At( uu, u ), rAt( uu, u ), "- UTF-8 at/rat"
|
||||
? hb_At( uu, u ), hb_rAt( uu, u ), "- UTF-8 hb_at/rat"
|
||||
? At( uu, u ), RAt( uu, u ), "- UTF-8 at/rat"
|
||||
? hb_At( uu, u ), hb_RAt( uu, u ), "- UTF-8 hb_at/rat"
|
||||
? hb_utf8At( uu, u ), hb_utf8RAt( uu, u ), "- UTF-8 hb_utf8at/rat"
|
||||
?
|
||||
? hb_At( ii, i, 33 ), hb_rAt( ii, i, 33 ), hb_At( ii, i, , 33 ), hb_rAt( ii, i, , 33 ), "- ISO-8859-1 hb_at/rat"
|
||||
? hb_At( ii, i, 33 ), hb_RAt( ii, i, 33 ), hb_At( ii, i, , 33 ), hb_RAt( ii, i, , 33 ), "- ISO-8859-1 hb_at/rat"
|
||||
? hb_utf8At( ii, i, 33 ), hb_utf8RAt( ii, i, 33 ), hb_utf8At( ii, i, , 33 ), hb_utf8RAt( ii, i, , 33 ), "- ISO-8859-1 hb_utf8at/rat"
|
||||
? hb_At( dd, d, 33 ), hb_rAt( dd, d, 33 ), hb_At( dd, d, , 33 ), hb_rAt( dd, d, , 33 ), "- CP850 hb_at/rat"
|
||||
? hb_At( dd, d, 33 ), hb_RAt( dd, d, 33 ), hb_At( dd, d, , 33 ), hb_RAt( dd, d, , 33 ), "- CP850 hb_at/rat"
|
||||
? hb_utf8At( dd, d, 33 ), hb_utf8RAt( dd, d, 33 ), hb_utf8At( dd, d, , 33 ), hb_utf8RAt( dd, d, , 33 ), "- CP850 hb_utf8at/rat"
|
||||
? hb_At( uu, u, 33 ), hb_rAt( uu, u, 33 ), hb_At( uu, u, , 33 ), hb_rAt( uu, u, , 33 ), "- UTF-8 hb_at/rat"
|
||||
? hb_At( uu, u, 33 ), hb_RAt( uu, u, 33 ), hb_At( uu, u, , 33 ), hb_RAt( uu, u, , 33 ), "- UTF-8 hb_at/rat"
|
||||
? hb_utf8At( uu, u, 33 ), hb_utf8RAt( uu, u, 33 ), hb_utf8At( uu, u, , 33 ), hb_utf8RAt( uu, u, , 33 ), "- UTF-8 hb_utf8at/rat"
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -173,16 +173,16 @@ PROCEDURE Main( cPar1, cPar2 )
|
||||
|
||||
STATIC PROCEDURE Main_LAST()
|
||||
|
||||
TEST_LINE( MEMVARBLOCK( "mcString" ) , "{||...}" )
|
||||
TEST_LINE( MemVarBlock( "mcString" ) , "{||...}" )
|
||||
#ifndef __XPP__
|
||||
TEST_LINE( __MRestore() , "E 1 BASE 2007 Argument error (__MRESTORE) OS:0 #:0 " )
|
||||
#endif
|
||||
TEST_LINE( MEMVARBLOCK( "mcString" ) , "{||...}" )
|
||||
TEST_LINE( MemVarBlock( "mcString" ) , "{||...}" )
|
||||
#ifndef __XPP__
|
||||
TEST_LINE( __MSave() , "E 1 BASE 2008 Argument error (__MSAVE) OS:0 #:0 " )
|
||||
TEST_LINE( __MRestore( "$NOTHERE.MEM", .F. ) , "E 21 BASE 2005 Open error <$NOTHERE.MEM> OS:2 #:1 F:DR" )
|
||||
#endif
|
||||
TEST_LINE( MEMVARBLOCK( "mcString" ) , NIL )
|
||||
TEST_LINE( MemVarBlock( "mcString" ) , NIL )
|
||||
#ifndef __XPP__
|
||||
TEST_LINE( __MSave( BADFNAME(), "*", .T. ) , "E 20 BASE 2006 Create error <" + BADFNAME() + "> OS:2 #:1 F:DR" )
|
||||
#endif
|
||||
|
||||
@@ -97,8 +97,8 @@ PROCEDURE Main_CLASS()
|
||||
oValue := DTORCLASS():NEW(3)
|
||||
TEST_LINE( oValue:type , 3 )
|
||||
TEST_LINE( oValue := NIL , "E 45 BASE 1301 Object destructor failure (Reference to freed block) OS:0 #:0 " )
|
||||
TEST_LINE( valtype(objHolder) , "A" )
|
||||
TEST_LINE( len(objHolder) , 0 )
|
||||
TEST_LINE( ValType(objHolder) , "A" )
|
||||
TEST_LINE( Len(objHolder) , 0 )
|
||||
TEST_LINE( cDtorResult , "Reference to self in private memvar." )
|
||||
|
||||
|
||||
@@ -153,8 +153,8 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( objHolder , NIL )
|
||||
TEST_LINE( cDtorResult , "" )
|
||||
TEST_LINE( hb_gcAll() , "E 45 BASE 1301 Object destructor failure (Reference to freed block) OS:0 #:0 " )
|
||||
TEST_LINE( valtype(objHolder) , "A" )
|
||||
TEST_LINE( len(objHolder) , 0 )
|
||||
TEST_LINE( ValType(objHolder) , "A" )
|
||||
TEST_LINE( Len(objHolder) , 0 )
|
||||
TEST_LINE( cDtorResult , "Reference to self in private memvar." )
|
||||
|
||||
|
||||
@@ -176,16 +176,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , "(y4)" )
|
||||
TEST_LINE( oValue:z4 , "(z4)" )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) (x4) (y4) (z4)" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* simple assignment... */
|
||||
TEST_LINE( oValue:x1 := " X1 " , " X1 " )
|
||||
@@ -214,16 +214,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:z4 , " Z4 " )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 X4 Y4 Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting IVARSCLASS1 instance variables... */
|
||||
TEST_LINE( oValue:IVARSCLASS1:x1 := "[X1]" , "[X1]" )
|
||||
@@ -243,16 +243,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:z4 , " Z4 " )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: [X1] [Y1] [Z1] X2 Y2 Z2 X3 Y3 Z3 X4 Y4 Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting IVARSCLASS2 instance variables... */
|
||||
TEST_LINE( oValue:IVARSCLASS2:x2 := "[X2]" , "[X2]" )
|
||||
@@ -272,16 +272,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:z4 , " Z4 " )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: [X1] [Y1] [Z1] [X2] [Y2] [Z2] X3 Y3 Z3 X4 Y4 Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting IVARSCLASS3 instance variables... */
|
||||
TEST_LINE( oValue:IVARSCLASS3:x3 := "[X3]" , "[X3]" )
|
||||
@@ -301,16 +301,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:z4 , " Z4 " )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: [X1] [Y1] [Z1] [X2] [Y2] [Z2] [X3] [Y3] [Z3] X4 Y4 Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting IVARSCLASS4 instance variables... */
|
||||
TEST_LINE( oValue:IVARSCLASS4:x4 := "[X4]" , "[X4]" )
|
||||
@@ -330,16 +330,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , "[Y4]" )
|
||||
TEST_LINE( oValue:z4 , "[Z4]" )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: [X1] [Y1] [Z1] [X2] [Y2] [Z2] [X3] [Y3] [Z3] [X4] [Y4] [Z4]" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting IVARSCLASS3:IVARSCLASS1 instance variables... */
|
||||
TEST_LINE( oValue:IVARSCLASS3:IVARSCLASS1:x1 := "<X1>" , "<X1>" )
|
||||
@@ -359,16 +359,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , "[Y4]" )
|
||||
TEST_LINE( oValue:z4 , "[Z4]" )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: <X1> <Y1> <Z1> [X2] [Y2] [Z2] [X3] [Y3] [Z3] [X4] [Y4] [Z4]" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting IVARSCLASS3:IVARSCLASS2 instance variables... */
|
||||
TEST_LINE( oValue:IVARSCLASS3:IVARSCLASS2:x2 := "<X2>" , "<X2>" )
|
||||
@@ -388,16 +388,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , "[Y4]" )
|
||||
TEST_LINE( oValue:z4 , "[Z4]" )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: <X1> <Y1> <Z1> <X2> <Y2> <Z2> [X3] [Y3] [Z3] [X4] [Y4] [Z4]" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting SUPER instance variables... */
|
||||
TEST_LINE( oValue:super:x1 := "{X1}" , "{X1}" )
|
||||
@@ -423,16 +423,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:y4 , "[Y4]" )
|
||||
TEST_LINE( oValue:z4 , "[Z4]" )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[12]: {X1} {Y1} {Z1} {X2} {Y2} {Z2} {X3} {Y3} {Z3} [X4] [Y4] [Z4]" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:IVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
|
||||
/* Test class variables allocating and casting */
|
||||
@@ -482,16 +482,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:CVARSCLASS4:y4 , "(y4)" )
|
||||
TEST_LINE( oValue:CVARSCLASS4:z4 , "(z4)" )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* simple assignment... */
|
||||
TEST_LINE( oValue:x1 := " X1 " , " X1 " )
|
||||
@@ -549,16 +549,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:CVARSCLASS4:x4 , " X4 " )
|
||||
TEST_LINE( oValue:CVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:CVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting CVARSCLASS1 class variables... */
|
||||
TEST_LINE( oValue:CVARSCLASS1:x1 := "[X1]" , "[X1]" )
|
||||
@@ -608,16 +608,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:CVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:CVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting CVARSCLASS2 class variables... */
|
||||
TEST_LINE( oValue:CVARSCLASS2:x1 := "{X1}" , "{X1}" )
|
||||
@@ -670,16 +670,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:CVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:CVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
/* Setting CVARSCLASS3 class variables... */
|
||||
TEST_LINE( oValue:CVARSCLASS3:x1 := "<X1>" , "<X1>" )
|
||||
@@ -735,16 +735,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:CVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:CVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 12 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS2:classH ) , 6 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS3:classH ) , 9 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:CVARSCLASS4:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 12 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:CVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 0 )
|
||||
|
||||
|
||||
/* Test shared class variables allocating and casting */
|
||||
@@ -794,16 +794,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:SVARSCLASS4:y4 , "(y4)" )
|
||||
TEST_LINE( oValue:SVARSCLASS4:z4 , "(z4)" )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 3 )
|
||||
|
||||
/* simple assignment... */
|
||||
TEST_LINE( oValue:x1 := " X1 " , " X1 " )
|
||||
@@ -861,16 +861,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:SVARSCLASS4:x4 , " X4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 3 )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
|
||||
/* Setting SVARSCLASS1 class variables... */
|
||||
@@ -920,16 +920,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:SVARSCLASS4:x4 , " X4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 3 )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
|
||||
/* Setting SVARSCLASS2 class variables... */
|
||||
@@ -982,16 +982,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:SVARSCLASS4:x4 , " X4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 3 )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
|
||||
/* Setting SVARSCLASS3 class variables... */
|
||||
@@ -1047,16 +1047,16 @@ PROCEDURE Main_CLASS()
|
||||
TEST_LINE( oValue:SVARSCLASS4:x4 , " X4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:y4 , " Y4 " )
|
||||
TEST_LINE( oValue:SVARSCLASS4:z4 , " Z4 " )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTCLSDATA( oValue:classH ) , 0 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __CLS_CNTSHRDATA( oValue:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS1:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS2:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS3:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:SVARSCLASS4:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntClsData( oValue:classH ) , 0 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS1:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS2:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS3:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:SVARSCLASS4:classH ) , 3 )
|
||||
TEST_LINE( __cls_CntShrData( oValue:classH ) , 3 )
|
||||
TEST_LINE( INSTANCE_DATA( oValue ) , "[0]:" )
|
||||
|
||||
|
||||
@@ -1071,7 +1071,7 @@ PROCEDURE Main_CLASS()
|
||||
STATIC FUNCTION INSTANCE_DATA( oValue )
|
||||
LOCAL cData, i
|
||||
|
||||
cData := "[" + LTrim( STR( Len( oValue ) ) ) + "]:"
|
||||
cData := "[" + LTrim( Str( Len( oValue ) ) ) + "]:"
|
||||
FOR i := 1 TO Len( oValue )
|
||||
IF ValType( oValue[ i ] ) == "C"
|
||||
cData += " " + oValue[ i ]
|
||||
|
||||
@@ -97,24 +97,24 @@ PROCEDURE Main_DATE()
|
||||
|
||||
/* DoW() */
|
||||
|
||||
TEST_LINE( Dow(NIL) , "E 1 BASE 1115 Argument error (DOW) OS:0 #:0 A:1:U:NIL F:S" )
|
||||
TEST_LINE( Dow(100) , "E 1 BASE 1115 Argument error (DOW) OS:0 #:0 A:1:N:100 F:S" )
|
||||
TEST_LINE( DoW(NIL) , "E 1 BASE 1115 Argument error (DOW) OS:0 #:0 A:1:U:NIL F:S" )
|
||||
TEST_LINE( DoW(100) , "E 1 BASE 1115 Argument error (DOW) OS:0 #:0 A:1:N:100 F:S" )
|
||||
#ifdef __HARBOUR__
|
||||
TEST_LINE( Dow(@sdDate) , 1 ) /* Bug in CA-Cl*pper, it returns: "E 1 BASE 1115 Argument error (DOW) OS:0 #:0 A:1:U:19840325 F:S" */
|
||||
TEST_LINE( DoW(@sdDate) , 1 ) /* Bug in CA-Cl*pper, it returns: "E 1 BASE 1115 Argument error (DOW) OS:0 #:0 A:1:U:19840325 F:S" */
|
||||
#endif
|
||||
TEST_LINE( Dow(sdDate) , 1 )
|
||||
TEST_LINE( Dow(sdDateE) , 0 )
|
||||
TEST_LINE( Dow(hb_SToD("20000222")) , 3 )
|
||||
TEST_LINE( Dow(hb_SToD("20000223")) , 4 )
|
||||
TEST_LINE( Dow(hb_SToD("20000224")) , 5 )
|
||||
TEST_LINE( Dow(hb_SToD("20000225")) , 6 )
|
||||
TEST_LINE( Dow(hb_SToD("20000226")) , 7 )
|
||||
TEST_LINE( Dow(hb_SToD("20000227")) , 1 )
|
||||
TEST_LINE( Dow(hb_SToD("20000228")) , 2 )
|
||||
TEST_LINE( Dow(hb_SToD("20000229")) , 3 )
|
||||
TEST_LINE( Dow(hb_SToD("20000230")) , 0 )
|
||||
TEST_LINE( Dow(hb_SToD("20000231")) , 0 )
|
||||
TEST_LINE( Dow(hb_SToD("20000301")) , 4 )
|
||||
TEST_LINE( DoW(sdDate) , 1 )
|
||||
TEST_LINE( DoW(sdDateE) , 0 )
|
||||
TEST_LINE( DoW(hb_SToD("20000222")) , 3 )
|
||||
TEST_LINE( DoW(hb_SToD("20000223")) , 4 )
|
||||
TEST_LINE( DoW(hb_SToD("20000224")) , 5 )
|
||||
TEST_LINE( DoW(hb_SToD("20000225")) , 6 )
|
||||
TEST_LINE( DoW(hb_SToD("20000226")) , 7 )
|
||||
TEST_LINE( DoW(hb_SToD("20000227")) , 1 )
|
||||
TEST_LINE( DoW(hb_SToD("20000228")) , 2 )
|
||||
TEST_LINE( DoW(hb_SToD("20000229")) , 3 )
|
||||
TEST_LINE( DoW(hb_SToD("20000230")) , 0 )
|
||||
TEST_LINE( DoW(hb_SToD("20000231")) , 0 )
|
||||
TEST_LINE( DoW(hb_SToD("20000301")) , 4 )
|
||||
|
||||
/* CMonth() */
|
||||
|
||||
@@ -140,24 +140,24 @@ PROCEDURE Main_DATE()
|
||||
|
||||
/* CDoW() */
|
||||
|
||||
TEST_LINE( CDow(NIL) , "E 1 BASE 1117 Argument error (CDOW) OS:0 #:0 A:1:U:NIL F:S" )
|
||||
TEST_LINE( CDow(100) , "E 1 BASE 1117 Argument error (CDOW) OS:0 #:0 A:1:N:100 F:S" )
|
||||
TEST_LINE( CDoW(NIL) , "E 1 BASE 1117 Argument error (CDOW) OS:0 #:0 A:1:U:NIL F:S" )
|
||||
TEST_LINE( CDoW(100) , "E 1 BASE 1117 Argument error (CDOW) OS:0 #:0 A:1:N:100 F:S" )
|
||||
#ifdef __HARBOUR__
|
||||
TEST_LINE( CDow(@sdDate) , "Sunday" ) /* Bug in CA-Cl*pper, it returns: "E 1 BASE 1117 Argument error (CDOW) OS:0 #:0 A:1:U:19840325 F:S" */
|
||||
TEST_LINE( CDoW(@sdDate) , "Sunday" ) /* Bug in CA-Cl*pper, it returns: "E 1 BASE 1117 Argument error (CDOW) OS:0 #:0 A:1:U:19840325 F:S" */
|
||||
#endif
|
||||
TEST_LINE( CDow(sdDate) , "Sunday" )
|
||||
TEST_LINE( CDow(sdDateE) , "" )
|
||||
TEST_LINE( CDow(hb_SToD("20000222")) , "Tuesday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000223")) , "Wednesday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000224")) , "Thursday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000225")) , "Friday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000226")) , "Saturday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000227")) , "Sunday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000228")) , "Monday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000229")) , "Tuesday" )
|
||||
TEST_LINE( CDow(hb_SToD("20000230")) , "" )
|
||||
TEST_LINE( CDow(hb_SToD("20000231")) , "" )
|
||||
TEST_LINE( CDow(hb_SToD("20000301")) , "Wednesday" )
|
||||
TEST_LINE( CDoW(sdDate) , "Sunday" )
|
||||
TEST_LINE( CDoW(sdDateE) , "" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000222")) , "Tuesday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000223")) , "Wednesday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000224")) , "Thursday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000225")) , "Friday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000226")) , "Saturday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000227")) , "Sunday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000228")) , "Monday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000229")) , "Tuesday" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000230")) , "" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000231")) , "" )
|
||||
TEST_LINE( CDoW(hb_SToD("20000301")) , "Wednesday" )
|
||||
|
||||
/* DToC() */
|
||||
|
||||
|
||||
@@ -360,7 +360,7 @@ PROCEDURE Main_HVMA()
|
||||
|
||||
TEST_LINE( mxNotHere , "E 14 BASE 1003 Variable does not exist (MXNOTHERE) OS:0 #:1 F:R" ) /* Bug in CA-Cl*pper, it does not initialize 'TRIES' in error object giving strange results */
|
||||
#ifdef __HARBOUR__
|
||||
TEST_LINE( __MVGET("MXUNDECL") , "E 14 BASE 1003 Variable does not exist (MXUNDECL) OS:0 #:1 F:R" )
|
||||
TEST_LINE( __mvGet("MXUNDECL") , "E 14 BASE 1003 Variable does not exist (MXUNDECL) OS:0 #:1 F:R" )
|
||||
#endif
|
||||
mxNotHere ="MXUNDECL"
|
||||
TEST_LINE( &mxNotHere. , "E 14 BASE 1003 Variable does not exist (MXUNDECL) OS:0 #:1 F:R" )
|
||||
|
||||
@@ -408,7 +408,7 @@ PROCEDURE Main_MATH()
|
||||
TEST_LINE( Str( Mod( -3, -3 ) ) , " 0.00" )
|
||||
|
||||
/* <OP>assign and (pre/post)(inc/dec)rementation */
|
||||
o:=errornew()
|
||||
o:=ErrorNew()
|
||||
o:oscode := 1
|
||||
TEST_LINE( o:oscode , 1 )
|
||||
o:oscode++
|
||||
|
||||
@@ -375,14 +375,14 @@ PROCEDURE Main_MISC()
|
||||
TEST_LINE( ElapTime("23:12:34","12:34:57") , "13:22:23" )
|
||||
TEST_LINE( ElapTime("12:34:57","23:12:34") , "10:37:37" )
|
||||
|
||||
TEST_LINE( LENNUM( 10 ) , 2 )
|
||||
TEST_LINE( LENNUM( 10.9 ) , 4 )
|
||||
TEST_LINE( LENNUM( 10.90 ) , 5 )
|
||||
TEST_LINE( LenNum( 10 ) , 2 )
|
||||
TEST_LINE( LenNum( 10.9 ) , 4 )
|
||||
TEST_LINE( LenNum( 10.90 ) , 5 )
|
||||
|
||||
TEST_LINE( SECS("23:12:34") , 83554 )
|
||||
TEST_LINE( SECS("12:34:57") , 45297 )
|
||||
TEST_LINE( Secs("23:12:34") , 83554 )
|
||||
TEST_LINE( Secs("12:34:57") , 45297 )
|
||||
|
||||
TEST_LINE( TSTRING(1000) , "00:16:40" )
|
||||
TEST_LINE( TString(1000) , "00:16:40" )
|
||||
|
||||
#ifndef __XPP__
|
||||
TEST_LINE( SoundEx() , "0000" )
|
||||
@@ -561,7 +561,7 @@ PROCEDURE Main_MISC()
|
||||
/* For these tests in CA-Cl*pper 5.2e the following native hb_SToD() has
|
||||
been used ( not the emulated one written in Clipper ):
|
||||
|
||||
CLIPPER HB_STOD( void )
|
||||
CLIPPER hb_SToD( void )
|
||||
{
|
||||
// The length check is a fix to avoid buggy behaviour of _retds()
|
||||
_retds( ( ISCHAR( 1 ) && _parclen( 1 ) == 8 ) ? _parc( 1 ) : " " );
|
||||
@@ -874,7 +874,7 @@ PROCEDURE Main_MISC()
|
||||
TEST_LINE( MemoTran("M"+CR+"s"+CR+LF+"w"+SO+"w"+SO+LF+"h"+CR,"111","222"), "M"+Chr(13)+"s1w"+Chr(141)+"w2h"+Chr(13)+"" )
|
||||
TEST_LINE( MemoTran("M"+CR+"s"+CR+LF+"w"+SO+"w"+SO+LF+"h"+CR,"","") , "M"+Chr(13)+"s"+Chr(0)+"w"+Chr(141)+"w"+Chr(0)+"h"+Chr(13)+"" )
|
||||
|
||||
/* MEMOWRITE()/MEMOREAD() */
|
||||
/* MEMOWRITE()/MemoRead() */
|
||||
|
||||
#ifndef __XPP__
|
||||
TEST_LINE( MemoWrit() , .F. )
|
||||
|
||||
@@ -437,8 +437,8 @@ PROCEDURE Main_TRANS()
|
||||
TEST_LINE( Transform("OPI", "@ER" ) , "I .OP. " )
|
||||
TEST_LINE( Transform("JKL", "@ER" ) , "L .JK. " )
|
||||
#endif
|
||||
TEST_LINE( Transform(CTOD(""), "@DB") , ". . " )
|
||||
TEST_LINE( Transform(CTOD(""), "@DBR uiuijk") , ".. . . " )
|
||||
TEST_LINE( Transform(CToD(""), "@DB") , ". . " )
|
||||
TEST_LINE( Transform(CToD(""), "@DBR uiuijk") , ".. . . " )
|
||||
TEST_LINE( Transform(100, "@B $99999") , "$ 100" )
|
||||
TEST_LINE( Transform(10, "@BZ $99999") , "$ 10" )
|
||||
TEST_LINE( Transform(10, "@BX $99999") , "$ 10" )
|
||||
@@ -703,10 +703,10 @@ PROCEDURE Main_TRANS()
|
||||
TEST_LINE( Transform( -1234, ), " -1234" )
|
||||
TEST_LINE( Transform( -1234, "@" ), " -1234" )
|
||||
#ifdef HB_CLP_STRICT
|
||||
TEST_LINE( Transform( round(123 ,0), ), " 123.00" )
|
||||
TEST_LINE( Transform( round(123, 0), "@!" ), " 123.00" )
|
||||
TEST_LINE( Transform( round(123.0,0), ), " 123.00" )
|
||||
TEST_LINE( Transform( round(123.0,0), "@!" ), " 123.00" )
|
||||
TEST_LINE( Transform( Round(123 ,0), ), " 123.00" )
|
||||
TEST_LINE( Transform( Round(123, 0), "@!" ), " 123.00" )
|
||||
TEST_LINE( Transform( Round(123.0,0), ), " 123.00" )
|
||||
TEST_LINE( Transform( Round(123.0,0), "@!" ), " 123.00" )
|
||||
#endif
|
||||
|
||||
TEST_LINE( Transform( 1234.567, ), " 1234.57" )
|
||||
|
||||
@@ -243,20 +243,20 @@ Core</span>
|
||||
<li> Added hb_fsCreateTempEx(), hb_fileCreateTempEx() C level APIs.<br />
|
||||
</li>
|
||||
<li> Fixed to not use C RTL CP dependent character functions
|
||||
in Harbour code. (islower(), toupper(), etc) added new macros instead.<br />
|
||||
in Harbour code. (IsLower(), toupper(), etc) added new macros instead.<br />
|
||||
</li>
|
||||
<li> __NATISNEGATIVE() and __NATISAFFIRM() are now using
|
||||
<li> __natIsNegative() and __NATISAFFIRM() are now using
|
||||
CP sensitive case conversion.<br />
|
||||
</li>
|
||||
<li> Added hb_charIsUpper()/hb_charIsLower() APIs.<br />
|
||||
</li>
|
||||
<li> CURDRIVE() and DISKNAME() fixed for systems that don't support
|
||||
<li> CurDrive() and DISKNAME() fixed for systems that don't support
|
||||
drive letters.<br />
|
||||
</li>
|
||||
<li> Xbase++ compatible TBROWSE()/TBCOLUMN()/GET() related methods
|
||||
<li> Xbase++ compatible TBrowse()/TBColumn()/Get() related methods
|
||||
moved to derived classes xpp_TBrowse()/xpp_TBColumn()/xpp_Get().<br />
|
||||
</li>
|
||||
<li> Fixed potential GPF in HB_RASCAN().<br />
|
||||
<li> Fixed potential GPF in hb_RAScan().<br />
|
||||
</li>
|
||||
<li> Debugger improvements and fixes.<br />
|
||||
</li>
|
||||
@@ -283,30 +283,30 @@ Core</span>
|
||||
<li> Added __FILE__ support for .prg code.<br />
|
||||
</li>
|
||||
<li> Added:<br />
|
||||
HB_MILLISECONDS()<br />
|
||||
HB_FTEMPCREATEEX( @<cName>, <cDir>, <cPrefix>, <cExt> ) -> <nHandle><br />
|
||||
HB_STRDECODESCAPE( <cEscSeqStr> ) -> <cStr><br />
|
||||
HB_STRCDECODE( <cStr> [, @<lCont> ] ) -> <cResult> | NIL<br />
|
||||
HB_STRXOR( <cStr1>, <cStr2> | <nNum> ) -> <cResult><br />
|
||||
HB_PROGNAME() -> <cProgramNameWithPath><br />
|
||||
HB_DISPOUTATBOX() similar to HB_DISPOUTAT() but for drawing chars.<br />
|
||||
HB_FGETATTR( <cFileName>, @<nAttr> ) -> <lSuccess><br />
|
||||
HB_FSETATTR( <cFileName>, <nAttr> ) -> <lSuccess><br />
|
||||
HB_FSETDATETIME( <cFileName>, [<dDate>], [<cTime HH:MM:SS>], [<nMilliSec>] ) -> <lSuccess><br />
|
||||
HB_FGETDATETIME()<br />
|
||||
HB_WILDMATCHI() like HB_WILDMATCH() but case-insentitive.<br />
|
||||
HB_CDPSELECT() same as HB_SETCODEPAGE() (please upgrade to new function name).<br />
|
||||
HB_CDPUNIID( <cHarbourCP> ) -> <cCPName><br />
|
||||
HB_GTINFO( HB_GTI_CARGO[, <xValue ] ) -> <xPrevValue><br />
|
||||
HB_DIRBASE() -> <cBaseDirectory><br />
|
||||
HB_DBCREATETEMP()/DBCREATETEMP() to create temporary tables.<br />
|
||||
HB_MMIDDLEDOWN/MMIDDLEDOWN() new Harbour function.<br />
|
||||
DBINFO( DBI_ISTEMPORARY )<br />
|
||||
HB_VERSION( HB_VERSION_BUILD_PLAT )<br />
|
||||
HB_VERSION( HB_VERSION_BUILD_COMP )<br />
|
||||
HB_STRFORMAT() C-like string formatting function
|
||||
hb_MilliSeconds()<br />
|
||||
hb_FTempCreateEx( @<cName>, <cDir>, <cPrefix>, <cExt> ) -> <nHandle><br />
|
||||
hb_StrDecodEscape( <cEscSeqStr> ) -> <cStr><br />
|
||||
hb_StrCDecode( <cStr> [, @<lCont> ] ) -> <cResult> | NIL<br />
|
||||
hb_StrXor( <cStr1>, <cStr2> | <nNum> ) -> <cResult><br />
|
||||
hb_ProgName() -> <cProgramNameWithPath><br />
|
||||
hb_DispOutAtBox() similar to hb_DispOutAt() but for drawing chars.<br />
|
||||
hb_FGetAttr( <cFileName>, @<nAttr> ) -> <lSuccess><br />
|
||||
hb_FSetAttr( <cFileName>, <nAttr> ) -> <lSuccess><br />
|
||||
hb_FSetDateTime( <cFileName>, [<dDate>], [<cTime HH:MM:SS>], [<nMilliSec>] ) -> <lSuccess><br />
|
||||
hb_FGetDateTime()<br />
|
||||
hb_WildMatchI() like hb_WildMatch() but case-insentitive.<br />
|
||||
hb_cdpSelect() same as hb_SetCodepage() (please upgrade to new function name).<br />
|
||||
hb_cdpUniID( <cHarbourCP> ) -> <cCPName><br />
|
||||
hb_gtInfo( HB_GTI_CARGO[, <xValue ] ) -> <xPrevValue><br />
|
||||
hb_DirBase() -> <cBaseDirectory><br />
|
||||
hb_dbCreateTemp()/DBCREATETEMP() to create temporary tables.<br />
|
||||
HB_MMIDDLEDOWN/MMiddleDown() new Harbour function.<br />
|
||||
dbInfo( DBI_ISTEMPORARY )<br />
|
||||
hb_Version( HB_VERSION_BUILD_PLAT )<br />
|
||||
hb_Version( HB_VERSION_BUILD_COMP )<br />
|
||||
hb_StrFormat() C-like string formatting function
|
||||
(also as C level API named hb_StrFormat())<br />
|
||||
HB_SETENV( <cEnvName>, [<cNewVal>] [, <lOsCP>] ) -> <lOK> (also as C level API named hb_setenv())<br />
|
||||
hb_SetEnv( <cEnvName>, [<cNewVal>] [, <lOsCP>] ) -> <lOK> (also as C level API named hb_setenv())<br />
|
||||
<br />
|
||||
</li>
|
||||
<li> Fixed UNSELECTED color updating in SetColor().<br />
|
||||
@@ -341,7 +341,7 @@ Core</span>
|
||||
</li>
|
||||
<li> Added hb_osDecode(), hb_osEncode() C APIs.<br />
|
||||
</li>
|
||||
<li> HB_GETENV() extended with 3rd parameter to control OS codepage
|
||||
<li> hb_GetEnv() extended with 3rd parameter to control OS codepage
|
||||
conversion (on by default).<br />
|
||||
</li>
|
||||
<li> Added CPU dump support for AMD64/x64.<br />
|
||||
@@ -351,10 +351,10 @@ Core</span>
|
||||
<li> GTXWC potential GPF fixed.<br />
|
||||
</li>
|
||||
<li> Added process handling:<br />
|
||||
HB_PROCESSOPEN()<br />
|
||||
hb_processOpen()<br />
|
||||
|
||||
HB_PROCESSVALUE()<br />
|
||||
HB_PROCESSCLOSE()<br />
|
||||
hb_processValue()<br />
|
||||
hb_processClose()<br />
|
||||
</li>
|
||||
<li> Added HB_GTI_BOXCP to control box drawing CP for GTs.<br />
|
||||
</li>
|
||||
@@ -388,7 +388,7 @@ HB_PROCESSVALUE()<br />
|
||||
</li>
|
||||
<li> Some compiler optimizations are now enabled using new -ko switch.<br />
|
||||
</li>
|
||||
<li> Added array preallocation on AADD().<br />
|
||||
<li> Added array preallocation on AAdd().<br />
|
||||
</li>
|
||||
<li> Optimization to string reallocation.<br />
|
||||
</li>
|
||||
@@ -400,7 +400,7 @@ HB_PROCESSVALUE()<br />
|
||||
<li> __HRB*() functions marked as compatibility, please update your
|
||||
code to use HB_HRB*().<br />
|
||||
</li>
|
||||
<li> __RDDGETTEMPALIAS() marked as compatibility, please update your code to use HB_RDDGETTEMPALIAS().<br />
|
||||
<li> __RDDGETTEMPALIAS() marked as compatibility, please update your code to use hb_rddGetTempAlias().<br />
|
||||
</li>
|
||||
<li> Added hb_spFileExists() a more efficient version of hb_spFile().<br />
|
||||
</li>
|
||||
@@ -420,7 +420,7 @@ HB_PROCESSVALUE()<br />
|
||||
present in common.ch so if you're overriding std.ch, make sure to add
|
||||
this macro to your header file.<br />
|
||||
</li>
|
||||
<li> BIN2W(), BIN2I(), BIN2L(), I2BIN(), L2BIN(), BIN2U(), W2BIN(), U2BIN() functions rewritten in a more efficient way. Previous pure GPL
|
||||
<li> Bin2W(), Bin2I(), Bin2L(), I2Bin(), L2Bin(), Bin2U(), W2Bin(), U2Bin() functions rewritten in a more efficient way. Previous pure GPL
|
||||
license changed to standard Harbour license (including exception).<br />
|
||||
</li>
|
||||
<li> Fixed Ukrainian localization files.<br />
|
||||
@@ -448,7 +448,7 @@ HB_PROCESSVALUE()<br />
|
||||
</li>
|
||||
<li> Added all missing non-multibyte codepages.<br />
|
||||
</li>
|
||||
<li> LISTBOX() doesn't modify _SET_EXACT settings anymore in :Find*() methods.<br />
|
||||
<li> ListBox() doesn't modify _SET_EXACT settings anymore in :Find*() methods.<br />
|
||||
</li>
|
||||
<li> HVM pcode evaluation speed improvement.<br />
|
||||
</li>
|
||||
@@ -510,17 +510,17 @@ HB_PROCESSVALUE()<br />
|
||||
<li> Forbid some usage of __clsModMsg() and unblock some othersIt should make some xHarbour users using OVERRIDE METHOD happy<br />
|
||||
but please remember it's still undocumented and unsupportedfunctionality - use for your own risk.<br />
|
||||
</li>
|
||||
<li> Fixed typo in HB_INETDATAREADY() - the second parameter (timeout) was ignored.<br />
|
||||
<li> Fixed typo in hb_inetDataReady() - the second parameter (timeout) was ignored.<br />
|
||||
</li>
|
||||
<li> Changed the NOT operator precedence - it should be bigger then logical .and./.or. operators in #if expressions.<br />
|
||||
</li>
|
||||
<li> Fixed HB_REGEXMATCH(). Now the HAS/LIKE mode can be controlled by 5th logical parameter (was 3rd), so 3rd parameter is solely<br />
|
||||
controlling case-sensitivity as indicated in the documentation. Users are recommended to use HB_REGEXHAS() and HB_REGEXLIKE()<br />
|
||||
<li> Fixed hb_regexMatch(). Now the HAS/LIKE mode can be controlled by 5th logical parameter (was 3rd), so 3rd parameter is solely<br />
|
||||
controlling case-sensitivity as indicated in the documentation. Users are recommended to use hb_regexHas() and HB_REGEXLIKE()<br />
|
||||
functions as unambiguous alternatives, which work equally
|
||||
well on all Harbour versions. HB_REGEXMATCH() is now deprecated,
|
||||
well on all Harbour versions. hb_regexMatch() is now deprecated,
|
||||
but kept for compatibility.<br />
|
||||
</li>
|
||||
<li> ACHOICE() fixed to redisplay itself when exiting with <Esc> or
|
||||
<li> AChoice() fixed to redisplay itself when exiting with <Esc> or
|
||||
equivalent.</li>
|
||||
</ul>
|
||||
<span class="title"><br />
|
||||
@@ -529,16 +529,16 @@ Contrib</span>
|
||||
<li> hbblat new Blat interface class for Windows
|
||||
(Contributed by Francesco Saverio Giudice).<br />
|
||||
</li>
|
||||
<li> hbmzip fixed GPF in HB_ZIPDELETEFILE() when file has comment.<br />
|
||||
<li> hbmzip fixed GPF in hb_zipDeleteFile() when file has comment.<br />
|
||||
</li>
|
||||
<li> hbmzip fixed handling attributes in HB_ZIPFILECREATE().<br />
|
||||
<li> hbmzip fixed handling attributes in hb_zipFileCreate().<br />
|
||||
</li>
|
||||
<li> hbmzip fixed timestamps stored in .zip files.<br />
|
||||
</li>
|
||||
<li> hbmzip added HB_ZIPSTOREFILEHANDLE(),
|
||||
HB_UNZIPEXTRACTCURRENTFILETOHANDLE() functions.<br />
|
||||
hb_unzipExtractCurrentFileToHandle() functions.<br />
|
||||
</li>
|
||||
<li> hbwin WIN_REGREAD()/GETREGISTRY() got new parameter to supply
|
||||
<li> hbwin win_regRead()/GetRegistry() got new parameter to supply
|
||||
a default value when the entry isn't found.<br />
|
||||
</li>
|
||||
<li> hbtip FTP handling fixed some accidental typos.<br />
|
||||
@@ -549,15 +549,15 @@ Contrib</span>
|
||||
</li>
|
||||
<li> rddads now autodetects version 9.10.<br />
|
||||
</li>
|
||||
<li> hbct XTOC(), FTOC() and CTOF() fixed to be properly multiplatform.<br />
|
||||
<li> hbct XToC(), FToC() and CTOF() fixed to be properly multiplatform.<br />
|
||||
</li>
|
||||
<li> hbct unbuffered drawing speed improvement in windowing code.<br />
|
||||
</li>
|
||||
<li> hbct DIRNAME() fixed.<br />
|
||||
<li> hbct DirName() fixed.<br />
|
||||
</li>
|
||||
<li> hbct other fixes.<br />
|
||||
</li>
|
||||
<li> hbct FILESEEK(), FILEATTR(), FILESIZE(), FILEDATE() now MT compatible.<br />
|
||||
<li> hbct FileSeek(), FileAttr(), FileSize(), FileDate() now MT compatible.<br />
|
||||
</li>
|
||||
<li> hbct added support for thread local current window pointer in CT Windows.<br />
|
||||
</li>
|
||||
@@ -575,57 +575,57 @@ Contrib</span>
|
||||
</li>
|
||||
<li> hbw32 library renamed to hbwin.<br />
|
||||
</li>
|
||||
<li> hbwin added WIN_ABORTDOC(), WIN_RUNDETACHED(), WIN_SHELLEXECUTE(),
|
||||
WIN_LOADRESOURCE().<br />
|
||||
<li> hbwin added WIN_ABORTDOC(), win_RunDetached(), WIN_SHELLEXECUTE(),
|
||||
win_LoadResource().<br />
|
||||
</li>
|
||||
<li> dbu patch now adds SET DATE ANSI and SET CENTURY ON.<br />
|
||||
</li>
|
||||
<li> hbwin WIN_MULDIV(), WIN_RECTANGLE(), WIN_SETBKMODE() extended to
|
||||
<li> hbwin win_MulDiv(), win_Rectangle(), win_SetBkMode() extended to
|
||||
accept handles passed using alternate methods.<br />
|
||||
</li>
|
||||
<li> hbwin function names changed as below: <br />
|
||||
|
||||
W32_REGPATHSPLIT() -> WIN_REGPATHSPLIT()<br />
|
||||
W32_REGREAD() -> WIN_REGREAD()<br />
|
||||
W32_REGWRITE() -> WIN_REGWRITE()<br />
|
||||
WIN32_REGCREATEKEYEX() -> WIN_REGCREATEKEYEX()<br />
|
||||
WIN32_REGOPENKEYEX() -> WIN_REGOPENKEYEX()<br />
|
||||
WIN32_REGQUERYVALUEEX() -> WIN_REGQUERYVALUEEX()<br />
|
||||
WIN32_REGSETVALUEEX() -> WIN_REGSETVALUEEX()<br />
|
||||
WIN32_REGCLOSEKEY() -> WIN_REGCLOSEKEY()<br />
|
||||
WIN32_ARC() -> WIN_ARC()<br />
|
||||
WIN32_BITMAPSOK() -> WIN_BITMAPSOK()<br />
|
||||
WIN32_CREATEDC() -> WIN_CREATEDC()<br />
|
||||
WIN32_CREATEFONT() -> WIN_CREATEFONT()<br />
|
||||
WIN32_DELETEDC() -> WIN_DELETEDC()<br />
|
||||
WIN32_DRAWBITMAP() -> WIN_DRAWBITMAP()<br />
|
||||
WIN32_ELLIPSE() -> WIN_ELLIPSE()<br />
|
||||
WIN32_ENDDOC() -> WIN_ENDDOC()<br />
|
||||
WIN32_ENDPAGE() -> WIN_ENDPAGE()<br />
|
||||
WIN32_ENUMFONTS() -> WIN_ENUMFONTS()<br />
|
||||
WIN32_FILLRECT() -> WIN_FILLRECT()<br />
|
||||
WIN32_GETCHARSIZE() -> WIN_GETCHARSIZE()<br />
|
||||
WIN32_GETDEVICECAPS() -> WIN_GETDEVICECAPS()<br />
|
||||
W32_REGPATHSPLIT() -> win_regPathSplit()<br />
|
||||
W32_REGREAD() -> win_regRead()<br />
|
||||
W32_REGWRITE() -> win_regWrite()<br />
|
||||
WIN32_REGCREATEKEYEX() -> win_regCreateKeyEx()<br />
|
||||
WIN32_REGOPENKEYEX() -> win_regOpenKeyEx()<br />
|
||||
WIN32_REGQUERYVALUEEX() -> win_regQueryValueEx()<br />
|
||||
WIN32_REGSETVALUEEX() -> win_regSetValueEx()<br />
|
||||
WIN32_REGCLOSEKEY() -> win_regCloseKey()<br />
|
||||
WIN32_ARC() -> win_Arc()<br />
|
||||
WIN32_BITMAPSOK() -> win_BitmapsOK()<br />
|
||||
WIN32_CREATEDC() -> win_CreateDC()<br />
|
||||
WIN32_CREATEFONT() -> win_CreateFont()<br />
|
||||
WIN32_DELETEDC() -> win_DeleteDC()<br />
|
||||
WIN32_DRAWBITMAP() -> win_DrawBitmap()<br />
|
||||
WIN32_ELLIPSE() -> win_Ellipse()<br />
|
||||
WIN32_ENDDOC() -> win_EndDoc()<br />
|
||||
WIN32_ENDPAGE() -> win_EndPage()<br />
|
||||
WIN32_ENUMFONTS() -> win_EnumFonts()<br />
|
||||
WIN32_FILLRECT() -> win_FillRect()<br />
|
||||
WIN32_GETCHARSIZE() -> win_GetCharSize()<br />
|
||||
WIN32_GETDEVICECAPS() -> win_GetDeviceCaps()<br />
|
||||
WIN32_GETEXEFILENAME() -> WIN_GETEXEFILENAME()<br />
|
||||
WIN32_GETPRINTERFONTNAME() -> WIN_GETPRINTERFONTNAME()<br />
|
||||
WIN32_GETTEXTSIZE() -> WIN_GETTEXTSIZE()<br />
|
||||
WIN32_LINETO() -> WIN_LINETO()<br />
|
||||
WIN32_LOADBITMAPFILE() -> WIN_LOADBITMAPFILE()<br />
|
||||
WIN32_MULDIV() -> WIN_MULDIV()<br />
|
||||
WIN32_GETPRINTERFONTNAME() -> win_GetPrinterFontName()<br />
|
||||
WIN32_GETTEXTSIZE() -> win_GetTextSize()<br />
|
||||
WIN32_LINETO() -> win_LineTo()<br />
|
||||
WIN32_LOADBITMAPFILE() -> win_LoadBitmapFile()<br />
|
||||
WIN32_MULDIV() -> win_MulDiv()<br />
|
||||
WIN32_OS_ISWIN9X() -> WIN_OS_ISWIN9X()<br />
|
||||
WIN32_RECTANGLE() -> WIN_RECTANGLE()<br />
|
||||
WIN32_SETBKMODE() -> WIN_SETBKMODE()<br />
|
||||
WIN32_SETCOLOR() -> WIN_SETCOLOR()<br />
|
||||
WIN32_SETDOCUMENTPROPERTIES() -> WIN_SETDOCUMENTPROPERTIES()<br />
|
||||
WIN32_SETMAPMODE() -> WIN_SETMAPMODE()<br />
|
||||
WIN32_SETPEN() -> WIN_SETPEN()<br />
|
||||
WIN32_STARTDOC() -> WIN_STARTDOC()<br />
|
||||
WIN32_STARTPAGE() -> WIN_STARTPAGE()<br />
|
||||
WIN32_TEXTOUT() -> WIN_TEXTOUT()<br />
|
||||
WIN32_RECTANGLE() -> win_Rectangle()<br />
|
||||
WIN32_SETBKMODE() -> win_SetBkMode()<br />
|
||||
WIN32_SETCOLOR() -> win_SetColor()<br />
|
||||
WIN32_SETDOCUMENTPROPERTIES() -> win_SetDocumentProperties()<br />
|
||||
WIN32_SETMAPMODE() -> win_SetMapMode()<br />
|
||||
WIN32_SETPEN() -> win_SetPen()<br />
|
||||
WIN32_STARTDOC() -> win_StartDoc()<br />
|
||||
WIN32_STARTPAGE() -> win_StartPage()<br />
|
||||
WIN32_TEXTOUT() -> win_TextOut()<br />
|
||||
WIN32PRN class -> WIN_PRN class<br />
|
||||
WIN32BMP class -> WIN_BMP class </li>
|
||||
<li>hbct GPF and wrong RTE messages fixed in:
|
||||
CHARADD(), CHARSUB(), CHARAND(), CHAROR(), CHARXOR()<br />
|
||||
CharAdd(), CharSub(), CharAnd(), CharOr(), CharXor()<br />
|
||||
</li>
|
||||
<li> hbct string optimizations in thrown RTEs.<br />
|
||||
</li>
|
||||
@@ -642,8 +642,8 @@ Contrib</span>
|
||||
<li> hbgt now properly checks for package version and includes
|
||||
feature accordingly.<br />
|
||||
</li>
|
||||
<li> hbwin added WAPI_GETCOMMANDLINE(), WIN_GETCOMMANDLINEPARAM(),
|
||||
WAPI_GETLASTERROR(), WAPI_SETLASTERROR(), WAPI_SETERRORMODE().<br />
|
||||
<li> hbwin added WAPI_GETCOMMANDLINE(), win_GetCommandLineParam(),
|
||||
wapi_GetLastError(), wapi_SetLastError(), wapi_SetErrorMode().<br />
|
||||
</li>
|
||||
<li> hbwhat removed from contrib list and moved to examples instead.<br />
|
||||
</li>
|
||||
@@ -825,20 +825,20 @@ Known build issues</span>
|
||||
</li>
|
||||
<li> Added hb_fsCreateTempEx(), hb_fileCreateTempEx() C level APIs.<br />
|
||||
</li>
|
||||
<li> Fixed to not use C RTL CP dependent character functions in Harbour code. (islower(), toupper(), etc). Added new macros instead.<br />
|
||||
<li> Fixed to not use C RTL CP dependent character functions in Harbour code. (IsLower(), toupper(), etc). Added new macros instead.<br />
|
||||
</li>
|
||||
<li> __NATISNEGATIVE() and __NATISAFFIRM() are now using
|
||||
<li> __natIsNegative() and __NATISAFFIRM() are now using
|
||||
CP sensitive case conversion.<br />
|
||||
</li>
|
||||
<li> Added hb_charIsUpper()/hb_charIsLower() APIs.<br />
|
||||
</li>
|
||||
<li> CURDRIVE() and DISKNAME() fixed for systems that don't support
|
||||
<li> CurDrive() and DISKNAME() fixed for systems that don't support
|
||||
drive letters.<br />
|
||||
</li>
|
||||
<li> Xbase++ compatible TBROWSE()/TBCOLUMN()/GET() related methods<br />
|
||||
<li> Xbase++ compatible TBrowse()/TBColumn()/Get() related methods<br />
|
||||
moved to derived classes xpp_TBrowse()/xpp_TBColumn()/xpp_Get().<br />
|
||||
</li>
|
||||
<li> Fixed potential GPF in HB_RASCAN().<br />
|
||||
<li> Fixed potential GPF in hb_RAScan().<br />
|
||||
</li>
|
||||
<li> Debugger improvements and fixes.<br />
|
||||
</li>
|
||||
@@ -865,20 +865,20 @@ Known build issues</span>
|
||||
<li> Added __FILE__ support for .prg code.<br />
|
||||
</li>
|
||||
<li> Added:<br />
|
||||
- HB_MILLISECONDS()<br />
|
||||
- HB_FTEMPCREATEEX( @<cName>, <cDir>, <cPrefix>, <cExt> ) -> <nHandle><br />
|
||||
- HB_STRDECODESCAPE( <cEscSeqStr> ) -> <cStr><br />
|
||||
- HB_STRCDECODE( <cStr> [, @<lCont> ] ) -> <cResult> | NIL<br />
|
||||
- HB_STRXOR( <cStr1>, <cStr2> | <nNum> ) -> <cResult><br />
|
||||
- HB_PROGNAME() -> <cProgramNameWithPath><br />
|
||||
- HB_DISPOUTATBOX() similar to HB_DISPOUTAT() but for drawing chars.<br />
|
||||
- HB_FGETATTR( <cFileName>, @<nAttr> ) -> <lSuccess><br />
|
||||
- HB_FSETATTR( <cFileName>, <nAttr> ) -> <lSuccess><br />
|
||||
- HB_FSETDATETIME( <cFileName>, [<dDate>], [<cTime HH:MM:SS>] ) -> <lSuccess><br />
|
||||
- HB_WILDMATCHI() like HB_WILDMATCH() but case-insentitive.<br />
|
||||
- HB_CDPSELECT() same as HB_SETCODEPAGE() (please upgrade to new function name).<br />
|
||||
- HB_CDPUNIID( <cHarbourCP> ) -> <cCPName><br />
|
||||
- HB_GTINFO( HB_GTI_CARGO[, <xValue ] ) -> <xPrevValue><br />
|
||||
- hb_MilliSeconds()<br />
|
||||
- hb_FTempCreateEx( @<cName>, <cDir>, <cPrefix>, <cExt> ) -> <nHandle><br />
|
||||
- hb_StrDecodEscape( <cEscSeqStr> ) -> <cStr><br />
|
||||
- hb_StrCDecode( <cStr> [, @<lCont> ] ) -> <cResult> | NIL<br />
|
||||
- hb_StrXor( <cStr1>, <cStr2> | <nNum> ) -> <cResult><br />
|
||||
- hb_ProgName() -> <cProgramNameWithPath><br />
|
||||
- hb_DispOutAtBox() similar to hb_DispOutAt() but for drawing chars.<br />
|
||||
- hb_FGetAttr( <cFileName>, @<nAttr> ) -> <lSuccess><br />
|
||||
- hb_FSetAttr( <cFileName>, <nAttr> ) -> <lSuccess><br />
|
||||
- hb_FSetDateTime( <cFileName>, [<dDate>], [<cTime HH:MM:SS>] ) -> <lSuccess><br />
|
||||
- hb_WildMatchI() like hb_WildMatch() but case-insentitive.<br />
|
||||
- hb_cdpSelect() same as hb_SetCodepage() (please upgrade to new function name).<br />
|
||||
- hb_cdpUniID( <cHarbourCP> ) -> <cCPName><br />
|
||||
- hb_gtInfo( HB_GTI_CARGO[, <xValue ] ) -> <xPrevValue><br />
|
||||
</li>
|
||||
<li>Fixed UNSELECTED color updating in SetColor().<br />
|
||||
</li>
|
||||
@@ -907,7 +907,7 @@ Known build issues</span>
|
||||
</li>
|
||||
<li> Added hb_osDecode(), hb_osEncode() C APIs.<br />
|
||||
</li>
|
||||
<li> HB_GETENV() extended with 3rd parameter to control OS codepage conversion (on by default).<br />
|
||||
<li> hb_GetEnv() extended with 3rd parameter to control OS codepage conversion (on by default).<br />
|
||||
</li>
|
||||
<li> Added CPU dump support for AMD64/x64.<br />
|
||||
</li>
|
||||
@@ -916,7 +916,7 @@ Known build issues</span>
|
||||
<li> GTXWC potential GPF fixed.<br />
|
||||
</li>
|
||||
<li> Added process handling:
|
||||
HB_PROCESSOPEN(), HB_PROCESSVALUE(), HB_PROCESSCLOSE()<br />
|
||||
hb_processOpen(), hb_processValue(), hb_processClose()<br />
|
||||
</li>
|
||||
<li> Added HB_GTI_BOXCP to control box drawing CP for GTs.<br />
|
||||
</li>
|
||||
@@ -946,7 +946,7 @@ Known build issues</span>
|
||||
</li>
|
||||
<li> Some compiler optimizations are now enabled using new -ko switch.<br />
|
||||
</li>
|
||||
<li> Added array preallocation on AADD().<br />
|
||||
<li> Added array preallocation on AAdd().<br />
|
||||
</li>
|
||||
<li> Optimization to string reallocation.<br />
|
||||
</li>
|
||||
@@ -959,20 +959,20 @@ Known build issues</span>
|
||||
code to use HB_HRB*().<br />
|
||||
</li>
|
||||
<li> __RDDGETTEMPALIAS() marked as compatibility, please update your
|
||||
code to use HB_RDDGETTEMPALIAS().</li>
|
||||
code to use hb_rddGetTempAlias().</li>
|
||||
</ul>
|
||||
<br />
|
||||
<font><span class="title">Contrib</span></font>
|
||||
<ul>
|
||||
<li>hbmzip fixed GPF in HB_ZIPDELETEFILE() when file has comment.<br />
|
||||
<li>hbmzip fixed GPF in hb_zipDeleteFile() when file has comment.<br />
|
||||
</li>
|
||||
<li> hbmzip fixed handling attributes in HB_ZIPFILECREATE().<br />
|
||||
<li> hbmzip fixed handling attributes in hb_zipFileCreate().<br />
|
||||
</li>
|
||||
<li>hbmzip fixed timestamps stored in .zip files.<br />
|
||||
</li>
|
||||
<li> hbmzip added HB_ZIPSTOREFILEHANDLE(),HB_UNZIPEXTRACTCURRENTFILETOHANDLE() functions.<br />
|
||||
<li> hbmzip added HB_ZIPSTOREFILEHANDLE(),hb_unzipExtractCurrentFileToHandle() functions.<br />
|
||||
</li>
|
||||
<li> hbwin WIN_REGREAD()/GETREGISTRY() got new parameter to supply
|
||||
<li> hbwin win_regRead()/GetRegistry() got new parameter to supply
|
||||
a default value when the entry isn't found.<br />
|
||||
</li>
|
||||
<li> hbtip FTP handling fixed some accidental typos.<br />
|
||||
@@ -983,11 +983,11 @@ Known build issues</span>
|
||||
</li>
|
||||
<li> rddads now autodetects version 9.10.<br />
|
||||
</li>
|
||||
<li> hbct XTOC(), FTOC() and CTOF() fixed to be properly multiplatform.<br />
|
||||
<li> hbct XToC(), FToC() and CTOF() fixed to be properly multiplatform.<br />
|
||||
</li>
|
||||
<li> hbct unbuffered drawing speed improvement in windowing code.<br />
|
||||
</li>
|
||||
<li>hbct DIRNAME() fixed.<br />
|
||||
<li>hbct DirName() fixed.<br />
|
||||
</li>
|
||||
<li> hbct other fixes.<br />
|
||||
</li>
|
||||
@@ -1001,57 +1001,57 @@ Known build issues</span>
|
||||
</li>
|
||||
<li> hbw32 library renamed to hbwin.<br />
|
||||
</li>
|
||||
<li> hbwin added WIN_ABORTDOC(), WIN_RUNDETACHED(), WIN_SHELLEXECUTE(),
|
||||
WIN_LOADRESOURCE().<br />
|
||||
<li> hbwin added WIN_ABORTDOC(), win_RunDetached(), WIN_SHELLEXECUTE(),
|
||||
win_LoadResource().<br />
|
||||
</li>
|
||||
<li> dbu patch now adds SET DATE ANSI and SET CENTURY ON.<br />
|
||||
</li>
|
||||
<li> hbwin WIN_MULDIV(), WIN_RECTANGLE(), WIN_SETBKMODE() extended to
|
||||
<li> hbwin win_MulDiv(), win_Rectangle(), win_SetBkMode() extended to
|
||||
accept handles passed using alternate methods.<br />
|
||||
</li>
|
||||
<li> hbwin function names changed as below:<br />
|
||||
- W32_REGPATHSPLIT() -> WIN_REGPATHSPLIT()<br />
|
||||
- W32_REGREAD() -> WIN_REGREAD()<br />
|
||||
- W32_REGWRITE() -> WIN_REGWRITE()<br />
|
||||
- WIN32_REGCREATEKEYEX() -> WIN_REGCREATEKEYEX()<br />
|
||||
- WIN32_REGOPENKEYEX() -> WIN_REGOPENKEYEX()<br />
|
||||
- WIN32_REGQUERYVALUEEX() -> WIN_REGQUERYVALUEEX()<br />
|
||||
- WIN32_REGSETVALUEEX() -> WIN_REGSETVALUEEX()<br />
|
||||
- WIN32_REGCLOSEKEY() -> WIN_REGCLOSEKEY()<br />
|
||||
- WIN32_ARC() -> WIN_ARC()<br />
|
||||
- WIN32_BITMAPSOK() -> WIN_BITMAPSOK()<br />
|
||||
- WIN32_CREATEDC() -> WIN_CREATEDC()<br />
|
||||
- WIN32_CREATEFONT() -> WIN_CREATEFONT()<br />
|
||||
- WIN32_DELETEDC() -> WIN_DELETEDC()<br />
|
||||
- WIN32_DRAWBITMAP() -> WIN_DRAWBITMAP()<br />
|
||||
- WIN32_ELLIPSE() -> WIN_ELLIPSE()<br />
|
||||
- WIN32_ENDDOC() -> WIN_ENDDOC()<br />
|
||||
- WIN32_ENDPAGE() -> WIN_ENDPAGE()<br />
|
||||
- WIN32_ENUMFONTS() -> WIN_ENUMFONTS()<br />
|
||||
- WIN32_FILLRECT() -> WIN_FILLRECT()<br />
|
||||
- WIN32_GETCHARSIZE() -> WIN_GETCHARSIZE()<br />
|
||||
- WIN32_GETDEVICECAPS() -> WIN_GETDEVICECAPS()<br />
|
||||
- W32_REGPATHSPLIT() -> win_regPathSplit()<br />
|
||||
- W32_REGREAD() -> win_regRead()<br />
|
||||
- W32_REGWRITE() -> win_regWrite()<br />
|
||||
- WIN32_REGCREATEKEYEX() -> win_regCreateKeyEx()<br />
|
||||
- WIN32_REGOPENKEYEX() -> win_regOpenKeyEx()<br />
|
||||
- WIN32_REGQUERYVALUEEX() -> win_regQueryValueEx()<br />
|
||||
- WIN32_REGSETVALUEEX() -> win_regSetValueEx()<br />
|
||||
- WIN32_REGCLOSEKEY() -> win_regCloseKey()<br />
|
||||
- WIN32_ARC() -> win_Arc()<br />
|
||||
- WIN32_BITMAPSOK() -> win_BitmapsOK()<br />
|
||||
- WIN32_CREATEDC() -> win_CreateDC()<br />
|
||||
- WIN32_CREATEFONT() -> win_CreateFont()<br />
|
||||
- WIN32_DELETEDC() -> win_DeleteDC()<br />
|
||||
- WIN32_DRAWBITMAP() -> win_DrawBitmap()<br />
|
||||
- WIN32_ELLIPSE() -> win_Ellipse()<br />
|
||||
- WIN32_ENDDOC() -> win_EndDoc()<br />
|
||||
- WIN32_ENDPAGE() -> win_EndPage()<br />
|
||||
- WIN32_ENUMFONTS() -> win_EnumFonts()<br />
|
||||
- WIN32_FILLRECT() -> win_FillRect()<br />
|
||||
- WIN32_GETCHARSIZE() -> win_GetCharSize()<br />
|
||||
- WIN32_GETDEVICECAPS() -> win_GetDeviceCaps()<br />
|
||||
- WIN32_GETEXEFILENAME() -> WIN_GETEXEFILENAME()<br />
|
||||
- WIN32_GETPRINTERFONTNAME() -> WIN_GETPRINTERFONTNAME()<br />
|
||||
- WIN32_GETTEXTSIZE() -> WIN_GETTEXTSIZE()<br />
|
||||
- WIN32_LINETO() -> WIN_LINETO()<br />
|
||||
- WIN32_LOADBITMAPFILE() -> WIN_LOADBITMAPFILE()<br />
|
||||
- WIN32_MULDIV() -> WIN_MULDIV()<br />
|
||||
- WIN32_GETPRINTERFONTNAME() -> win_GetPrinterFontName()<br />
|
||||
- WIN32_GETTEXTSIZE() -> win_GetTextSize()<br />
|
||||
- WIN32_LINETO() -> win_LineTo()<br />
|
||||
- WIN32_LOADBITMAPFILE() -> win_LoadBitmapFile()<br />
|
||||
- WIN32_MULDIV() -> win_MulDiv()<br />
|
||||
- WIN32_OS_ISWIN9X() -> WIN_OS_ISWIN9X()<br />
|
||||
- WIN32_RECTANGLE() -> WIN_RECTANGLE()<br />
|
||||
- WIN32_SETBKMODE() -> WIN_SETBKMODE()<br />
|
||||
- WIN32_SETCOLOR() -> WIN_SETCOLOR()<br />
|
||||
- WIN32_SETDOCUMENTPROPERTIES() -> WIN_SETDOCUMENTPROPERTIES()<br />
|
||||
- WIN32_SETMAPMODE() -> WIN_SETMAPMODE()<br />
|
||||
- WIN32_SETPEN() -> WIN_SETPEN()<br />
|
||||
- WIN32_STARTDOC() -> WIN_STARTDOC()<br />
|
||||
- WIN32_STARTPAGE() -> WIN_STARTPAGE()<br />
|
||||
- WIN32_TEXTOUT() -> WIN_TEXTOUT()<br />
|
||||
- WIN32_RECTANGLE() -> win_Rectangle()<br />
|
||||
- WIN32_SETBKMODE() -> win_SetBkMode()<br />
|
||||
- WIN32_SETCOLOR() -> win_SetColor()<br />
|
||||
- WIN32_SETDOCUMENTPROPERTIES() -> win_SetDocumentProperties()<br />
|
||||
- WIN32_SETMAPMODE() -> win_SetMapMode()<br />
|
||||
- WIN32_SETPEN() -> win_SetPen()<br />
|
||||
- WIN32_STARTDOC() -> win_StartDoc()<br />
|
||||
- WIN32_STARTPAGE() -> win_StartPage()<br />
|
||||
- WIN32_TEXTOUT() -> win_TextOut()<br />
|
||||
- WIN32PRN class -> WIN_PRN class<br />
|
||||
- WIN32BMP class -> WIN_BMP class<br />
|
||||
</li>
|
||||
<li> hbct GPF and wrong RTE message fixed in:
|
||||
CHARADD(), CHARSUB(), CHARAND(), CHAROR(), CHARXOR()<br />
|
||||
CharAdd(), CharSub(), CharAnd(), CharOr(), CharXor()<br />
|
||||
</li>
|
||||
<li> hbct string optimizations in thrown RTEs.<br />
|
||||
</li>
|
||||
|
||||
@@ -94,7 +94,7 @@ ul {
|
||||
<span class="title">Core</span><br />
|
||||
</font></li>
|
||||
<li><font>Fixed __HARBOUR__ macro on .prg level, when compiled with -u switch.</font></li>
|
||||
<li><font>HB_ARRAYID() moved to xhb.lib, synced with xhb and made 64 bit
|
||||
<li><font>hb_ArrayId() moved to xhb.lib, synced with xhb and made 64 bit
|
||||
compatible.</font></li>
|
||||
<li><font>File handle usage cleanup and 64 bit compatibility.</font></li>
|
||||
<li><font>Automatic destructors for .hrb modules.</font></li>
|
||||
@@ -109,11 +109,11 @@ ul {
|
||||
compatibility fixes.</font></li>
|
||||
<li><font>MD5 calculation fixes.</font></li>
|
||||
<li><font>Added C level hb_hashAddNew().</font></li>
|
||||
<li><font>Compile time optimization of EMPTY() function.</font></li>
|
||||
<li><font>Compile time optimization of Empty() function.</font></li>
|
||||
<li><font>Compress trailing spaces during string item serialization.</font></li>
|
||||
<li><font>Replicated CA-Cl*pper compile time optimization bugs.</font></li>
|
||||
<li><font>TCP/IP function (HB_INET*()) fixes.</font></li>
|
||||
<li><font>Added HB_OSFILEMASK(), HB_DIRSCAN(), HB_FILEMATCH() Harbour level
|
||||
<li><font>Added HB_OSFILEMASK(), hb_DirScan(), hb_FileMatch() Harbour level
|
||||
functions.</font></li>
|
||||
<li><font>Fixed RTE in HBReportForm() class.</font></li>
|
||||
<li><font>Added __OBJGETPROPERTIES(), extended __CLSGETPROPERTIES().</font></li>
|
||||
@@ -127,12 +127,12 @@ ul {
|
||||
</font></li>
|
||||
<li><font>Better cross-build support for contribs with external dependencies.</font></li>
|
||||
<li><font>hbmzip OS/2 support, Unix .zip header fix, using Harbour memory
|
||||
management functions, global and file comment support, HB_ZIPDELETEFILE()
|
||||
management functions, global and file comment support, hb_zipDeleteFile()
|
||||
function.</font></li>
|
||||
<li><font>hbziparch fixes and better portability.</font></li>
|
||||
<li><font>hbcurl fixes, now using Harbour memory allocation functions, now older
|
||||
libcurl versions are supported as well,</font></li>
|
||||
<li><font>CURL_EASY_GETINFO() fixed for unsupported info types.</font></li>
|
||||
<li><font>curl_easy_getinfo() fixed for unsupported info types.</font></li>
|
||||
<li><font>64bit compatibility fixes. hbmysql/SQLLISTF() function now uses pointer
|
||||
instead of numeric type.</font></li>
|
||||
<li><font>Fixed adordd to be _SET_EXACT independent.</font></li>
|
||||
@@ -199,7 +199,7 @@ ul {
|
||||
<li><font>hbziparch updated, bugs fixed and ZipArchive library <br />
|
||||
updated to latest version.</font></li>
|
||||
<li><font>Added DLL call functionality to hbw32 contrib.</font></li>
|
||||
<li><font>Added HB_FREADLINE(), HB_CRYPT(), HB_DECRYPT() to xhb contrib.</font></li>
|
||||
<li><font>Added HB_FREADLINE(), hb_Crypt(), hb_Decrypt() to xhb contrib.</font></li>
|
||||
<li><font>Added hbtip contrib tests.</font></li>
|
||||
<li><font>GTWVG contrib enhancements.</font></li>
|
||||
<li><font>Added SQL_SPRINTF() to hbmisc contrib.</font></li>
|
||||
@@ -209,9 +209,9 @@ ul {
|
||||
incompatible, because numeric addresses have been converted to <br />
|
||||
pointer types:</font></li>
|
||||
<li><font>hbwhat32: wndproc/dlgproc parameters in related functions.</font></li>
|
||||
<li><font>hbmysql: SQLCONNECT(), SQLSTORER(), SQLUSERES()</font></li>
|
||||
<li><font>hbmysql: SQLConnect(), SQLSTORER(), SQLUSERES()</font></li>
|
||||
<li><font>hbmsql: MSQLSTORER(), MSQLLISTFI()</font></li>
|
||||
<li><font>Removed function CEIL() from hbmisc. Please use CEILING() from
|
||||
<li><font>Removed function CEIL() from hbmisc. Please use Ceiling() from
|
||||
hbct <br />
|
||||
instead.</font></li>
|
||||
<li><font>Optimizations and minor fixes.</font></li>
|
||||
@@ -384,10 +384,10 @@ ul {
|
||||
c := Upper( c )<br />
|
||||
NEXT</font></li>
|
||||
<li><font>added full support for FOR EACH overloading</font></li>
|
||||
<li><font>extended PROCFILE() function - now it can accept <nLevel> | <sFuncSym>
|
||||
<li><font>extended ProcFile() function - now it can accept <nLevel> | <sFuncSym>
|
||||
|<br />
|
||||
<cFuncName> as first parameter, f.e.: PROCFILE( @someFunc() ) or<br />
|
||||
PROCFILE( "PUBLICFUNC" ) or PROCFILE( nStackLevel ). For non character<br />
|
||||
<cFuncName> as first parameter, f.e.: ProcFile( @someFunc() ) or<br />
|
||||
ProcFile( "PUBLICFUNC" ) or ProcFile( nStackLevel ). For non character<br />
|
||||
parameters it fully works also for static functions even if source code<br />
|
||||
have many static functions with the same name</font></li>
|
||||
<li><font>added support for detecting not cleanly overloaded by linker .prg<br />
|
||||
@@ -414,9 +414,9 @@ ul {
|
||||
to/from hexadecimal format</font></li>
|
||||
<li><font>added set of functions with hb_ prefix supported extended
|
||||
parameters,<br />
|
||||
f.e.: HB_AINS(), HB_ADEL(), HB_ASCAN(), HB_RASCAN(), HB_GETENV(),<br />
|
||||
HB_AT(), ...</font></li>
|
||||
<li><font> added HB_FILEEXISTS(), HB_DIREXISTS()</font></li>
|
||||
f.e.: hb_AIns(), hb_ADel(), hb_AScan(), hb_RAScan(), hb_GetEnv(),<br />
|
||||
hb_At(), ...</font></li>
|
||||
<li><font> added HB_FILEEXISTS(), hb_DirExists()</font></li>
|
||||
<li><font> new TBROWSE class which is now very highly compatible with Clipper<br />
|
||||
It should resolve 99.9&percnt; problems with BROWSE reported in the past.</font></li>
|
||||
<li><font> TBCOLUMN class is now fully Clipper compatible</font></li>
|
||||
@@ -437,9 +437,9 @@ ul {
|
||||
functions strip<br />
|
||||
trailing and leading spaces from file names to emulate DOS like behavior</font></li>
|
||||
<li><font> added support for _SET_DEFEXTENSIONS to native all RDDs</font></li>
|
||||
<li><font> many fixes in transform() function and fixed 64bit integer
|
||||
<li><font> many fixes in Transform() function and fixed 64bit integer
|
||||
transformation.<br />
|
||||
Now transform() passes our all compatibility tests</font></li>
|
||||
Now Transform() passes our all compatibility tests</font></li>
|
||||
<li><font> added undocumented Clipper error functions</font></li>
|
||||
<li><font>- added functions to manage .ini files: HB_INI*()</font></li>
|
||||
<li><font> extended HB_KEYPUT to support strings and arrays.</font></li>
|
||||
@@ -493,7 +493,7 @@ ul {
|
||||
escape key sequences in terminal based GTs. It's supported by<br />
|
||||
GTCRS and GTTRM</font></li>
|
||||
<li><font> fixed color string decoding to be fully Clipper compatible</font></li>
|
||||
<li><font> OUTSTD()/OUTERR() respects automatic CP translation when they<br />
|
||||
<li><font> OutStd()/OutErr() respects automatic CP translation when they<br />
|
||||
are not redirected to GT screen</font></li>
|
||||
<li><font> added common for all GTs CLIPBOARD support. If possible low level
|
||||
GT<br />
|
||||
@@ -538,8 +538,8 @@ ul {
|
||||
<li><font> added xHarbour compatibility library: xhb. It emulates many of
|
||||
xHarbour<br />
|
||||
behavior which cannot be covered by PP rules like extended operators,<br />
|
||||
strings like arrays, one byte string in math operations, HB_ENUMINDEX(),<br />
|
||||
HB_QWith(), HB_QSelf(), accessing hash item using OOP interface,<br />
|
||||
strings like arrays, one byte string in math operations, hb_enumIndex(),<br />
|
||||
hb_QWith(), hb_QSelf(), accessing hash item using OOP interface,<br />
|
||||
accessing/assigning string characters using [] operators (many of the<br />
|
||||
above fully works only in Harbour but not in native xHarbour code :-))<br />
|
||||
and many extensions like HBLOG, HBXML, HBCSTRUCT, HASH, INET*(), etc.</font></li>
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
<td > </td>
|
||||
<td valign="top"><ul>
|
||||
<li><a href="samples/array16.html" class="blue_link">Multidimensional arrays demo (array16.prg)</a></li>
|
||||
<li><a href="samples/arreval.html" class="blue_link">aEval() sample (arreval.prg)</a></li>
|
||||
<li><a href="samples/arreval.html" class="blue_link">AEval() sample (arreval.prg)</a></li>
|
||||
</ul></td>
|
||||
<td > </td>
|
||||
</tr>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<td width="2%" class="tabela_box_trans_TL"> </td>
|
||||
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td width="96%" height="26" valign="bottom" class="title">aEval() sample</td>
|
||||
<td width="96%" height="26" valign="bottom" class="title">AEval() sample</td>
|
||||
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -139,7 +139,7 @@ RETURN
|
||||
</SPAN><SPAN class=any1-symbol>? </SPAN><SPAN class=any1-string>"Printed value in Clipper .T. ="</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>Eval</SPAN><SPAN class=any1-symbol>( bResult )
|
||||
?
|
||||
</SPAN><SPAN class=any1-comment>// Notice the Clipper bug: GetBlock is receiving the reference to
|
||||
// the codeblock parameter than the value of EVAL(bResult) shouldn't
|
||||
// the codeblock parameter than the value of Eval(bResult) shouldn't
|
||||
// depend on the order of block creation/value changing (GetBlock/SetRef).
|
||||
|
||||
</SPAN><SPAN class=any1-variable>PassByRef</SPAN><SPAN class=any1-symbol>( {|lEnd| ;
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="99%" valign="top">This example demonstrates the manipulation of date values and the use of SET (_SET_DATEFORMAT) to format the return of function DATE().</td>
|
||||
<td width="99%" valign="top">This example demonstrates the manipulation of date values and the use of SET (_SET_DATEFORMAT) to format the return of function Date().</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
|
||||
@@ -105,7 +105,7 @@ body { color: #000000; background-color: #FFFFFF; }
|
||||
</SPAN><SPAN class=any1-space> ? a
|
||||
</SPAN><SPAN class=any1-reservedword>EXIT
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>CASE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>CHR</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>12</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>CHR</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>15</SPAN><SPAN class=any1-symbol>)
|
||||
? </SPAN><SPAN class=any1-string>"CHR()"
|
||||
? </SPAN><SPAN class=any1-string>"Chr()"
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>EXIT
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>OTHERWISE
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"NOT FOUND: running OTHER"
|
||||
|
||||
@@ -336,7 +336,7 @@ body { color: #000000; background-color: #FFFFFF; }
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>/* TODO: Clear remaining (not matched) tags */
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>/*
|
||||
cRes := ""
|
||||
FOR i := 1 TO len( ::cContent )
|
||||
FOR i := 1 TO Len( ::cContent )
|
||||
IF SubStr( ::cContent, i, 1 ) == "<" .AND. ;
|
||||
SubStr( ::cContent, i + 1, 1 ) == "#"
|
||||
lFlag := .t.
|
||||
|
||||
@@ -122,11 +122,11 @@ RETURN</SPAN><SPAN class=any1-symbol>( oClass:</SPAN><SPAN class=any1-variable>I
|
||||
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> bErr:=</SPAN><SPAN class=any1-function>ERRORBLOCK</SPAN><SPAN class=any1-symbol>({|e|</SPAN><SPAN class=any1-function>BREAK</SPAN><SPAN class=any1-symbol>(e)}), oE
|
||||
|
||||
?
|
||||
? </SPAN><SPAN class=any1-string>"=========== TYPE() function ================="
|
||||
? </SPAN><SPAN class=any1-string>"=========== Type() function ================="
|
||||
</SPAN><SPAN class=any1-space> v1 := </SPAN><SPAN class=any1-string>"UDF()"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF()') - should be 'UI': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF()') - should be 'UI': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
v2 := </SPAN><SPAN class=any1-string>"UDF_STATIC()"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF_STATIC()') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF_STATIC()') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
? </SPAN><SPAN class=any1-string>"Test for &"</SPAN><SPAN class=any1-symbol>+</SPAN><SPAN class=any1-string>"'UDF()' - should print 'udf': "</SPAN><SPAN class=any1-symbol>, &v1
|
||||
? </SPAN><SPAN class=any1-string>"Test for &"</SPAN><SPAN class=any1-symbol>+</SPAN><SPAN class=any1-string>"'UDF_STATIC()' - should print 'ERROR: undefined function': "
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>BEGIN</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>SEQUENCE
|
||||
@@ -137,38 +137,38 @@ RETURN</SPAN><SPAN class=any1-symbol>( oClass:</SPAN><SPAN class=any1-variable>I
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>ERRORBLOCK</SPAN><SPAN class=any1-symbol>(bErr)
|
||||
|
||||
v1 := </SPAN><SPAN class=any1-string>"UDF"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
v2 := </SPAN><SPAN class=any1-string>"UDF_STATIC"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF_STATIC') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF_STATIC') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
|
||||
v1a := </SPAN><SPAN class=any1-string>"UDF:=1"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF:=1') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1a)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF:=1') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1a)
|
||||
v2a := </SPAN><SPAN class=any1-string>"UDF_STATIC:=1"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF_STATIC:=1') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2a)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF_STATIC:=1') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2a)
|
||||
|
||||
? </SPAN><SPAN class=any1-string>"=== after the assignment ==="
|
||||
</SPAN><SPAN class=any1-space> v1 := </SPAN><SPAN class=any1-string>"UDF"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
v2 := </SPAN><SPAN class=any1-string>"UDF_STATIC"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF_STATIC') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF_STATIC') - should be 'N': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
|
||||
v1 := </SPAN><SPAN class=any1-string>"UDF()"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF()') - should be 'UI': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF()') - should be 'UI': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
v2 := </SPAN><SPAN class=any1-string>"UDF_STATIC()"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF_STATIC()') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF_STATIC()') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
|
||||
|
||||
? </SPAN><SPAN class=any1-string>"=== declared public variable ==="
|
||||
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>PUBLIC</SPAN><SPAN class=any1-space> UDF2, UDF2_STATIC
|
||||
v1 := </SPAN><SPAN class=any1-string>"UDF2()"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF2()') - should be 'UI': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF2()') - should be 'UI': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
v2 := </SPAN><SPAN class=any1-string>"UDF2_STATIC()"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF2_STATIC()') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF2_STATIC()') - should be 'U': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
|
||||
v1 := </SPAN><SPAN class=any1-string>"UDF2"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF') - should be 'L': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF') - should be 'L': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v1)
|
||||
v2 := </SPAN><SPAN class=any1-string>"UDF2_STATIC"
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for TYPE('UDF_STATIC') - should be 'L': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Test for Type('UDF_STATIC') - should be 'L': "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>TYPE</SPAN><SPAN class=any1-symbol>(v2)
|
||||
|
||||
?
|
||||
</SPAN><SPAN class=any1-reservedword>RETURN
|
||||
|
||||
Reference in New Issue
Block a user