2008-10-16 08:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/common.ch
* contrib/hbziparc/hbziparc.prg
* source/rtl/tclass.prg
* source/rtl/hbini.prg
* Minor formatting. (hb_Is*() -> hb_is*())
* contrib/hbct/ctrand.prg
* contrib/hbct/numconv.prg
* contrib/hbct/cttime.prg
* contrib/hbct/showtime.prg
* contrib/hbwhat/hbwhat.ch
* utils/hbrun/hbrun.prg
* source/debug/dbgtobj.prg
* source/debug/dbgbrwsr.prg
* source/debug/dbgthsh.prg
* source/debug/dbgtarr.prg
* source/rtl/alert.prg
* source/rtl/tbrowse.prg
% ValType() -> IS*() / hb_is*()
* contrib/hbwhat/hbwhat.ch
% Using common.ch instead of replicating logic.
* Some formatting.
* utils/hbtest/hbtest.prg
* Minor formatting.
This commit is contained in:
@@ -8,6 +8,34 @@
|
||||
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2008-10-16 08:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* include/common.ch
|
||||
* contrib/hbziparc/hbziparc.prg
|
||||
* source/rtl/tclass.prg
|
||||
* source/rtl/hbini.prg
|
||||
* Minor formatting. (hb_Is*() -> hb_is*())
|
||||
|
||||
* contrib/hbct/ctrand.prg
|
||||
* contrib/hbct/numconv.prg
|
||||
* contrib/hbct/cttime.prg
|
||||
* contrib/hbct/showtime.prg
|
||||
* contrib/hbwhat/hbwhat.ch
|
||||
* utils/hbrun/hbrun.prg
|
||||
* source/debug/dbgtobj.prg
|
||||
* source/debug/dbgbrwsr.prg
|
||||
* source/debug/dbgthsh.prg
|
||||
* source/debug/dbgtarr.prg
|
||||
* source/rtl/alert.prg
|
||||
* source/rtl/tbrowse.prg
|
||||
% ValType() -> IS*() / hb_is*()
|
||||
|
||||
* contrib/hbwhat/hbwhat.ch
|
||||
% Using common.ch instead of replicating logic.
|
||||
* Some formatting.
|
||||
|
||||
* utils/hbtest/hbtest.prg
|
||||
* Minor formatting.
|
||||
|
||||
2008-10-16 08:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* contrib/hbwhat/wincore.prg
|
||||
! One STATIC made THREAD STATIC.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* CT3 functions: RANDOM(), RAND()
|
||||
@@ -52,7 +53,7 @@
|
||||
#include "common.ch"
|
||||
|
||||
FUNCTION Random( lMode )
|
||||
RETURN IIF( VALTYPE( lMode ) == "L" .AND. lMode, ;
|
||||
RETURN IIF( ISLOGICAL( lMode ) .AND. lMode, ;
|
||||
HB_RandomInt( -32768, 32767 ), HB_RandomInt( 0, 65535 ) )
|
||||
|
||||
FUNCTION Rand( nStart )
|
||||
|
||||
@@ -51,11 +51,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "common.ch"
|
||||
|
||||
function TIMETOSEC( cTime )
|
||||
local nSec := 0, nLen, i, aLim, aMod, nInd, n
|
||||
if cTime == NIL
|
||||
nSec := seconds()
|
||||
elseif valtype( cTime ) == "C"
|
||||
elseif ISCHARACTER( cTime )
|
||||
nLen := len( cTime )
|
||||
if ( nLen + 1 ) % 3 == 0 .and. nLen <= 11
|
||||
nInd := 1
|
||||
@@ -80,8 +82,8 @@ return round( nSec, 2) /* round FL val to be sure that you can compare it */
|
||||
|
||||
function SECTOTIME( nSec, lHundr )
|
||||
local i, h, n
|
||||
n := iif( !valtype( nSec ) == "N", seconds(), nSec )
|
||||
if valtype( lHundr ) == "L" .and. lHundr
|
||||
n := iif( !ISNUMBER( nSec ), seconds(), nSec )
|
||||
if ISLOGICAL( lHundr ) .and. lHundr
|
||||
h := ":" + strzero( ( nSec * 100 ) % 100, 2 )
|
||||
else
|
||||
h := ""
|
||||
|
||||
@@ -88,7 +88,7 @@ LOCAL cNum
|
||||
Default cPad to " "
|
||||
Default nBase to 10
|
||||
|
||||
IF VALTYPE( xNum ) == "C"
|
||||
IF ISCHARACTER( xNum )
|
||||
xNum := UPPER( ALLTRIM( xNum ) )
|
||||
xNum := CTON( xNum, 16 )
|
||||
ENDIF
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
FUNCTION SHOWTIME( nRow, nCol, lNoSec, cColor, l12, lAmPm )
|
||||
STATIC s_hTimer := NIL
|
||||
|
||||
IF VALTYPE( nRow ) == "N" .AND. nRow >= 0 .AND. nRow <= MAXROW( .T. )
|
||||
IF ISNUMBER( nRow ) .AND. nRow >= 0 .AND. nRow <= MAXROW( .T. )
|
||||
IF s_hTimer != NIL
|
||||
HB_IDLEDEL( s_hTimer )
|
||||
ENDIF
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include "common.ch"
|
||||
|
||||
#xCommand ? ? < x > = > OutputDebugString( asString( < x > ) )
|
||||
#xCommand ? < x > = > OutputDebugString( asString( < x > ) + chr( 13 ) )
|
||||
|
||||
@@ -56,45 +58,36 @@ GET < Var > ;
|
||||
// Variable type identifier pseudo-functions
|
||||
////////////////////////////////////////////
|
||||
|
||||
#translate ISNIL( <v1> ) => ( (<v1>) == NIL )
|
||||
#translate ISARRAY( <v1> ) => ( VALTYPE( <v1> ) == "A" )
|
||||
#translate ISBLOCK( <v1> ) => ( VALTYPE( <v1> ) == "B" )
|
||||
#translate ISCHARACTER( <v1> ) => ( VALTYPE( <v1> ) == "C" )
|
||||
#translate ISCHAR( <v1> ) => ( VALTYPE( <v1> ) == "C" )
|
||||
#translate ISSTRING( <v1> ) => ( VALTYPE( <v1> ) == "C" )
|
||||
#translate ISDATE( <v1> ) => ( VALTYPE( <v1> ) == "D" )
|
||||
#translate ISLOGICAL( <v1> ) => ( VALTYPE( <v1> ) == "L" )
|
||||
#translate ISNUMBER( <v1> ) => ( VALTYPE( <v1> ) == "N" )
|
||||
#translate ISNUMERIC( <v1> ) => ( VALTYPE( <v1> ) == "N" )
|
||||
#translate ISOBJECT( <v1> ) => ( VALTYPE( <v1> ) == "O" )
|
||||
#translate ISCHAR( <v1> ) => ( hb_isString( <v1> ) )
|
||||
#translate ISSTRING( <v1> ) => ( hb_isString( <v1> ) )
|
||||
#translate ISNUMERIC( <v1> ) => ( hb_isNumeric( <v1> ) )
|
||||
|
||||
#translate IFNIL( <v1>,<exp1>,<exp2> ) => IF( (<v1>) == NIL,<exp1>,<exp2> )
|
||||
#translate IFARRAY( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "A",<exp1>,<exp2> )
|
||||
#translate IFBLOCK( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "B",<exp1>,<exp2> )
|
||||
#translate IFCHARACTER( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "C",<exp1>,<exp2> )
|
||||
#translate IFCHAR( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "C",<exp1>,<exp2> )
|
||||
#translate IFSTRING( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "C",<exp1>,<exp2> )
|
||||
#translate IFDATE( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "D",<exp1>,<exp2> )
|
||||
#translate IFLOGICAL( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "L",<exp1>,<exp2> )
|
||||
#translate IFNUMBER( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "N",<exp1>,<exp2> )
|
||||
#translate IFNUMERIC( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "N",<exp1>,<exp2> )
|
||||
#translate IFOBJECT( <v1>,<exp1>,<exp2> ) => IF( VALTYPE( <v1> ) == "O",<exp1>,<exp2> )
|
||||
#translate IFEMPTY( <v1>,<exp1>,<exp2> ) => IF( EMPTY( <v1> ),<exp1>,<exp2> )
|
||||
|
||||
#translate IFARRAY( <v1>,<exp1>,<exp2> ) => IF( hb_isArray( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFBLOCK( <v1>,<exp1>,<exp2> ) => IF( hb_isBlock( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFCHARACTER( <v1>,<exp1>,<exp2> ) => IF( hb_isString( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFCHAR( <v1>,<exp1>,<exp2> ) => IF( hb_isString( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFSTRING( <v1>,<exp1>,<exp2> ) => IF( hb_isString( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFDATE( <v1>,<exp1>,<exp2> ) => IF( hb_isDate( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFLOGICAL( <v1>,<exp1>,<exp2> ) => IF( hb_isLogical( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFNUMBER( <v1>,<exp1>,<exp2> ) => IF( hb_isNumeric( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFNUMERIC( <v1>,<exp1>,<exp2> ) => IF( hb_isNumeric( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFOBJECT( <v1>,<exp1>,<exp2> ) => IF( hb_isObject( <v1> ),<exp1>,<exp2> )
|
||||
#translate IFEMPTY( <v1>,<exp1>,<exp2> ) => IF( Empty( <v1> ),<exp1>,<exp2> )
|
||||
|
||||
/////////////////////////////////////
|
||||
// Abbreviated flow control modifiers
|
||||
/////////////////////////////////////
|
||||
|
||||
#xcommand BREAKIF <log> => IF (<log>) ; BREAK ; END
|
||||
#xcommand EXITIF <log> => IF (<log>) ; EXIT ; END
|
||||
#xcommand LOOPIF <log> => IF (<log>) ; LOOP ; END
|
||||
#xcommand BREAKIF <log> => IF (<log>) ; BREAK ; ENDIF
|
||||
#xcommand EXITIF <log> => IF (<log>) ; EXIT ; ENDIF
|
||||
#xcommand LOOPIF <log> => IF (<log>) ; LOOP ; ENDIF
|
||||
|
||||
// Extended commands
|
||||
|
||||
#command UPDATE <v1> IF <exp> TO <v2> ;
|
||||
=> ;
|
||||
IF <exp> ; <v1> := <v2> ; END
|
||||
IF <exp> ; <v1> := <v2> ; ENDIF
|
||||
|
||||
#xtranslate frac(<num>) => (<num>-int(<num>))
|
||||
|
||||
|
||||
@@ -775,10 +775,10 @@ FUNCTION hb_ZipFile( cFileName,;
|
||||
DEFAULT lWithPath TO .F.
|
||||
DEFAULT lWithDrive TO .F.
|
||||
|
||||
IF hb_IsString( acFiles )
|
||||
IF hb_isString( acFiles )
|
||||
acFiles := { acFiles }
|
||||
ENDIF
|
||||
IF hb_IsString( acExclude )
|
||||
IF hb_isString( acExclude )
|
||||
acExclude := { acExclude }
|
||||
ENDIF
|
||||
|
||||
@@ -823,7 +823,7 @@ FUNCTION hb_ZipFile( cFileName,;
|
||||
|
||||
IF ( hHandle := FOpen( cFileToZip, FO_READ ) ) != F_ERROR
|
||||
|
||||
IF hb_IsBlock( bUpdate )
|
||||
IF hb_isBlock( bUpdate )
|
||||
Eval( bUpdate, cFileToZip, nPos++ )
|
||||
ENDIF
|
||||
|
||||
@@ -836,7 +836,7 @@ FUNCTION hb_ZipFile( cFileName,;
|
||||
|
||||
DO WHILE ( nLen := FRead( hHandle, @cBuffer, Len( cBuffer ) ) ) > 0
|
||||
|
||||
IF hb_IsBlock( bProgress )
|
||||
IF hb_isBlock( bProgress )
|
||||
nRead += nLen
|
||||
Eval( bProgress, nRead, nSize )
|
||||
ENDIF
|
||||
@@ -951,8 +951,8 @@ FUNCTION hb_UnzipFile( cFileName, bUpdate, lWithPath, cPassword, cPath, acFiles,
|
||||
|
||||
IF !Empty( hUnzip := hb_UnzipOpen( cFileName ) )
|
||||
|
||||
IF hb_IsNumeric( acFiles ) .OR. ;
|
||||
hb_IsString( acFiles )
|
||||
IF hb_isNumeric( acFiles ) .OR. ;
|
||||
hb_isString( acFiles )
|
||||
acFiles := { acFiles }
|
||||
ENDIF
|
||||
|
||||
@@ -972,7 +972,7 @@ FUNCTION hb_UnzipFile( cFileName, bUpdate, lWithPath, cPassword, cPath, acFiles,
|
||||
IF AScan( acFiles, nPos ) > 0 .OR. ;
|
||||
AScan( acFiles, {| cMask | hb_FileMatch( cZipName, cMask ) } ) > 0
|
||||
|
||||
IF hb_IsBlock( bUpdate )
|
||||
IF hb_isBlock( bUpdate )
|
||||
Eval( bUpdate, cZipName, nPos )
|
||||
ENDIF
|
||||
|
||||
@@ -1046,7 +1046,7 @@ FUNCTION hb_ZipDeleteFiles( cFileName, acFiles )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF hb_IsString( acFiles )
|
||||
IF hb_isString( acFiles )
|
||||
acFiles := { acFiles }
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -61,14 +61,14 @@
|
||||
|
||||
/* Type checking macros */
|
||||
#translate ISNIL( <xValue> ) => ( <xValue> == NIL )
|
||||
#translate ISARRAY( <xValue> ) => hb_IsArray( <xValue> )
|
||||
#translate ISBLOCK( <xValue> ) => hb_IsBlock( <xValue> )
|
||||
#translate ISCHARACTER( <xValue> ) => hb_IsString( <xValue> )
|
||||
#translate ISDATE( <xValue> ) => hb_IsDate( <xValue> )
|
||||
#translate ISLOGICAL( <xValue> ) => hb_IsLogical( <xValue> )
|
||||
#translate ISMEMO( <xValue> ) => hb_IsMemo( <xValue> )
|
||||
#translate ISNUMBER( <xValue> ) => hb_IsNumeric( <xValue> )
|
||||
#translate ISOBJECT( <xValue> ) => hb_IsObject( <xValue> )
|
||||
#translate ISARRAY( <xValue> ) => hb_isArray( <xValue> )
|
||||
#translate ISBLOCK( <xValue> ) => hb_isBlock( <xValue> )
|
||||
#translate ISCHARACTER( <xValue> ) => hb_isString( <xValue> )
|
||||
#translate ISDATE( <xValue> ) => hb_isDate( <xValue> )
|
||||
#translate ISLOGICAL( <xValue> ) => hb_isLogical( <xValue> )
|
||||
#translate ISMEMO( <xValue> ) => hb_isMemo( <xValue> )
|
||||
#translate ISNUMBER( <xValue> ) => hb_isNumeric( <xValue> )
|
||||
#translate ISOBJECT( <xValue> ) => hb_isObject( <xValue> )
|
||||
|
||||
/* DEFAULT and UPDATE commands */
|
||||
#xcommand DEFAULT <v1> TO <x1> [, <vn> TO <xn> ] => ;
|
||||
|
||||
@@ -169,7 +169,7 @@ METHOD ForceStable()
|
||||
xData := Eval( oCol:block )
|
||||
nClr := iif( nRow == ::rowPos, 2, 1 )
|
||||
aClr := Eval( oCol:colorBlock, xData )
|
||||
IF VALTYPE( aClr ) == "A"
|
||||
IF ISARRAY( aClr )
|
||||
nClr := aClr[ nClr ]
|
||||
ELSE
|
||||
nClr := oCol:defColor[ nClr ]
|
||||
|
||||
@@ -258,14 +258,14 @@ METHOD SetsKeyPressed( nKey, oBrwSets, oWnd, cName, aArray ) CLASS HBDbArray
|
||||
::nCurWindow--
|
||||
ENDIF
|
||||
ENDIF
|
||||
ELSEIF ISBLOCK( aArray[ nSet ] ) .OR. Valtype( aArray[ nSet ] ) == "P"
|
||||
ELSEIF ISBLOCK( aArray[ nSet ] ) .OR. hb_isPointer( aArray[ nSet ] )
|
||||
__dbgAlert( "Value cannot be edited" )
|
||||
ELSE
|
||||
IF ::lEditable
|
||||
oBrwSets:RefreshCurrent()
|
||||
IF ISOBJECT( aArray[ nSet ] )
|
||||
__DbgObject( aArray[ nSet ], cName + "[" + LTrim( Str( nSet ) ) + "]" )
|
||||
ELSEIF ValType( aArray[ nSet ] ) == "H"
|
||||
ELSEIF hb_isHash( aArray[ nSet ] )
|
||||
__DbgHashes( aArray[ nSet ], cName + "[" + LTrim( Str( nSet ) ) + "]" )
|
||||
ELSE
|
||||
::doGet( oBrwsets, aArray, nSet )
|
||||
|
||||
@@ -249,7 +249,7 @@ METHOD SetsKeyPressed( nKey, oBrwSets, oWnd, cName, hHash ) CLASS HBDbHash
|
||||
|
||||
uValue := HB_HValueAt( hHash, nSet )
|
||||
|
||||
IF ValType( uValue ) == "H"
|
||||
IF hb_isHash( uValue )
|
||||
|
||||
IF Len( uValue ) == 0
|
||||
__dbgAlert( "Hash is empty" )
|
||||
@@ -269,7 +269,7 @@ METHOD SetsKeyPressed( nKey, oBrwSets, oWnd, cName, hHash ) CLASS HBDbHash
|
||||
::nCurwindow--
|
||||
ENDIF
|
||||
ENDIF
|
||||
ELSEIF ISBLOCK( uValue ) .OR. ValType( uValue ) == "P"
|
||||
ELSEIF ISBLOCK( uValue ) .OR. hb_isPointer( uValue )
|
||||
__dbgAlert( "Value cannot be edited" )
|
||||
ELSE
|
||||
IF ::lEditable
|
||||
|
||||
@@ -307,7 +307,7 @@ METHOD SetsKeyPressed( nKey, oBrwSets, nSets, aArray ) CLASS HBDbObject
|
||||
IF Len( aArray[ nSet, 2 ] ) > 0
|
||||
HBDbArray():New( aArray[ nSet, 2 ], ::pitems[ nSet, 1 ] )
|
||||
ENDIF
|
||||
ELSEIF ValType( aArray[ nSet, 2 ] ) == "H"
|
||||
ELSEIF hb_isHash( aArray[ nSet, 2 ] )
|
||||
IF Len( aArray[ nSet, 2 ] ) > 0
|
||||
HBDbHash():New( aArray[ nSet, 2 ], ::pitems[ nSet, 1 ] )
|
||||
ENDIF
|
||||
@@ -316,7 +316,7 @@ METHOD SetsKeyPressed( nKey, oBrwSets, nSets, aArray ) CLASS HBDbObject
|
||||
ELSEIF ( ISCHARACTER( aArray[ nSet, 2 ] ) .AND. ;
|
||||
!aArray[ nSet, 3 ] ) .OR. ;
|
||||
ISBLOCK( aArray[ nSet, 2 ] ) .OR. ;
|
||||
ValType( aArray[ nSet, 2 ] ) == "P"
|
||||
hb_isPointer( aArray[ nSet, 2 ] )
|
||||
__dbgAlert( "Value cannot be edited" )
|
||||
ELSE
|
||||
IF ::lEditable
|
||||
|
||||
@@ -87,12 +87,12 @@ FUNCTION Alert( xMessage, aOptions, cColorNorm, nDelay )
|
||||
|
||||
DO CASE
|
||||
CASE ValType( xMessage ) $ "CM" ; cMessage := StrTran( xMessage, ";", Chr( 10 ) )
|
||||
CASE ValType( xMessage ) == "N" ; cMessage := LTrim( Str( xMessage ) )
|
||||
CASE ValType( xMessage ) == "D" ; cMessage := DToC( xMessage )
|
||||
CASE ValType( xMessage ) == "L" ; cMessage := iif( xMessage, ".T.", ".F." )
|
||||
CASE ValType( xMessage ) == "O" ; cMessage := xMessage:className + " Object"
|
||||
CASE ValType( xMessage ) == "S" ; cMessage := "@" + xMessage:Name + "()"
|
||||
CASE ValType( xMessage ) == "B" ; cMessage := "{|| ... }"
|
||||
CASE hb_IsNumeric( xMessage ) ; cMessage := LTrim( Str( xMessage ) )
|
||||
CASE hb_IsDate( xMessage ) ; cMessage := DToC( xMessage )
|
||||
CASE hb_IsLogical( xMessage ) ; cMessage := iif( xMessage, ".T.", ".F." )
|
||||
CASE hb_IsObject( xMessage ) ; cMessage := xMessage:className + " Object"
|
||||
CASE hb_IsSymbol( xMessage ) ; cMessage := "@" + xMessage:Name + "()"
|
||||
CASE hb_IsBlock( xMessage ) ; cMessage := "{|| ... }"
|
||||
OTHERWISE ; cMessage := "NIL"
|
||||
ENDCASE
|
||||
|
||||
|
||||
@@ -299,7 +299,7 @@ FUNCTION hb_IniWrite( xFileName, hIni, cCommentBegin, cCommentEnd, lAutoMain )
|
||||
|
||||
ELSE
|
||||
/* When automain is off, just write all the toplevel variables. */
|
||||
hb_HEval( hIni, { |cKey, xVal| iif( ! hb_IsHash( xVal ),;
|
||||
hb_HEval( hIni, { |cKey, xVal| iif( ! hb_isHash( xVal ),;
|
||||
FWrite( hFile, hb_CStr( cKey ) + " = " + ;
|
||||
hb_CStr( xVal ) + cNewLine ), /* nothing */ ) } )
|
||||
ENDIF
|
||||
@@ -314,7 +314,7 @@ FUNCTION hb_IniWrite( xFileName, hIni, cCommentBegin, cCommentEnd, lAutoMain )
|
||||
ENDIF
|
||||
ELSE
|
||||
/* When automain is off, skip all the toplevel variables. */
|
||||
IF ! hb_IsHash( cSection )
|
||||
IF ! hb_isHash( cSection )
|
||||
LOOP
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
@@ -338,7 +338,7 @@ METHOD new( nTop, nLeft, nBottom, nRight ) CLASS TBROWSE
|
||||
|
||||
STATIC FUNCTION _SKIP_RESULT( xResult )
|
||||
|
||||
RETURN iif( ValType( xResult ) == "N", Int( xResult ), 0 )
|
||||
RETURN iif( ISNUMBER( xResult ), Int( xResult ), 0 )
|
||||
|
||||
|
||||
STATIC PROCEDURE _DISP_FHSEP( nRow, nType, cColor, aColData )
|
||||
|
||||
@@ -172,7 +172,7 @@ STATIC FUNCTION New( cClassName, xSuper, sClassFunc, lModuleFriendly )
|
||||
::asSuper := {}
|
||||
ELSEIF ISCHARACTER( xSuper )
|
||||
::asSuper := { __DynsN2Sym( xSuper ) }
|
||||
ELSEIF hb_IsSymbol( xSuper )
|
||||
ELSEIF hb_isSymbol( xSuper )
|
||||
::asSuper := { xSuper }
|
||||
ELSEIF ISARRAY( xSuper )
|
||||
::asSuper := {}
|
||||
@@ -181,7 +181,7 @@ STATIC FUNCTION New( cClassName, xSuper, sClassFunc, lModuleFriendly )
|
||||
IF !Empty( xSuper[ i ] )
|
||||
IF ISCHARACTER( xSuper[ i ] )
|
||||
AAdd( ::asSuper, __DynsN2Sym( xSuper[ i ] ) )
|
||||
ELSEIF hb_IsSymbol( xSuper[ i ] )
|
||||
ELSEIF hb_isSymbol( xSuper[ i ] )
|
||||
AAdd( ::asSuper, xSuper[ i ] )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "common.ch"
|
||||
#include "inkey.ch"
|
||||
#include "setcurs.ch"
|
||||
|
||||
@@ -192,19 +193,19 @@ PROCEDURE _APPMAIN( cFile, ... )
|
||||
ENDDO
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
RETURN
|
||||
|
||||
/* ********************************************************************** */
|
||||
|
||||
STATIC PROCEDURE HB_DotUsage()
|
||||
|
||||
OutStd( 'Harbour "DOt Prompt" Console / runner ' + HBRawVersion() + HB_OSNewLine() +;
|
||||
'Copyright (c) 1999-2008, Przemyslaw Czerpak' + HB_OSNewLine() + ;
|
||||
'http://www.harbour-project.org/' + HB_OSNewLine() +;
|
||||
"Copyright (c) 1999-2008, Przemyslaw Czerpak" + HB_OSNewLine() + ;
|
||||
"http://www.harbour-project.org/" + HB_OSNewLine() +;
|
||||
HB_OSNewLine() +;
|
||||
'Syntax: hbrun [<hrbfile[.prg|.hrb]> [<parameters,...>]]' + HB_OSNewLine() )
|
||||
"Syntax: hbrun [<hrbfile[.prg|.hrb]> [<parameters,...>]]" + HB_OSNewLine() )
|
||||
|
||||
RETURN
|
||||
RETURN
|
||||
|
||||
/* ********************************************************************** */
|
||||
|
||||
@@ -235,7 +236,7 @@ STATIC PROCEDURE HB_DotInfo( cCommand )
|
||||
ENDIF
|
||||
SetPos( r, c )
|
||||
|
||||
RETURN
|
||||
RETURN
|
||||
|
||||
/* ********************************************************************** */
|
||||
|
||||
@@ -246,16 +247,16 @@ STATIC PROCEDURE HB_DotErr( oErr, cCommand )
|
||||
cMessage := "Sorry, could not execute:;;" + cCommand + ";;"
|
||||
IF oErr:ClassName == "ERROR"
|
||||
cMessage += oErr:Description
|
||||
IF ValType( oErr:Args ) == 'A' .AND. Len( oErr:Args ) > 0
|
||||
IF ISARRAY( oErr:Args ) .AND. Len( oErr:Args ) > 0
|
||||
cMessage += ";Arguments:"
|
||||
FOR EACH xArg IN oErr:Args
|
||||
cMessage += ";" + HB_CStr( xArg )
|
||||
NEXT
|
||||
ENDIF
|
||||
ELSEIF ValType( oErr ) == 'C'
|
||||
ELSEIF ISCHARACTER( oErr )
|
||||
cMessage += oErr
|
||||
ENDIF
|
||||
cMessage += ";;" + ProcName( 2 ) + '(' + LTrim( Str( ProcLine( 2 ) ) ) + ')'
|
||||
cMessage += ";;" + ProcName( 2 ) + "(" + LTrim( Str( ProcLine( 2 ) ) ) + ")"
|
||||
|
||||
Alert( cMessage )
|
||||
|
||||
@@ -296,7 +297,7 @@ STATIC PROCEDURE HB_DotExec( cCommand )
|
||||
|
||||
__MVSETBASE()
|
||||
|
||||
RETURN
|
||||
RETURN
|
||||
|
||||
STATIC FUNCTION HBRawVersion()
|
||||
RETURN StrTran( Version(), "Harbour ", "" )
|
||||
|
||||
@@ -330,11 +330,11 @@ PROCEDURE TEST_CALL( cBlock, bBlock, xResultExpected )
|
||||
|
||||
s_nCount++
|
||||
|
||||
IF !( ValType( cBlock ) == "C" )
|
||||
IF ValType( cBlock ) == "C"
|
||||
lPPError := .F.
|
||||
ELSE
|
||||
cBlock := "!! Preprocessor error !!"
|
||||
lPPError := .T.
|
||||
ELSE
|
||||
lPPError := .F.
|
||||
ENDIF
|
||||
|
||||
lSkipped := AScan( s_aSkipList, s_nCount ) > 0
|
||||
@@ -357,7 +357,7 @@ PROCEDURE TEST_CALL( cBlock, bBlock, xResultExpected )
|
||||
ErrorBlock( bOldError )
|
||||
|
||||
IF !( ValType( xResult ) == ValType( xResultExpected ) )
|
||||
IF ValType( xResultExpected) == "C" .AND. ValType( xResult ) $ "ABMO"
|
||||
IF ValType( xResultExpected ) == "C" .AND. ValType( xResult ) $ "ABMO"
|
||||
lFailed := !( XToStr( xResult ) == xResultExpected )
|
||||
ELSE
|
||||
lFailed := .T.
|
||||
|
||||
Reference in New Issue
Block a user