diff --git a/harbour/ChangeLog b/harbour/ChangeLog
index 4ac97c169b..21b6dc32de 100644
--- a/harbour/ChangeLog
+++ b/harbour/ChangeLog
@@ -16,6 +16,42 @@
The license applies to all entries newer than 2009-04-28.
*/
+2012-07-23 17:17 UTC+0200 Viktor Szakats (harbour syenar.net)
+ * contrib/gtwvg/tests/demoxbp.prg
+ * contrib/gtwvg/tests/wvgactivex.prg
+ * contrib/gtwvg/tests/wvgmodal.prg
+ * contrib/gtwvg/tests/wvgxbp.prg
+ * contrib/gtwvg/wvgcheck.prg
+ * contrib/hbide/ideconsole.prg
+ * contrib/hbide/idetags.prg
+ * contrib/hbnf/tests/nftest.prg
+ * contrib/hbxbp/tests/demoxbp.prg
+ * contrib/hbxbp/tests/dialogqt.prg
+ * contrib/hbxbp/tests/xbpqtc.prg
+ * contrib/hbxbp/xbpappevent.prg
+ * contrib/hbxbp/xbptreeview.prg
+ * contrib/xhb/hjwindow.prg
+ * contrib/xhb/hterrsys.prg
+ * contrib/xhb/htjlist.prg
+ * contrib/xhb/htmutil.prg
+ * contrib/xhb/ttable.prg
+ * contrib/xhb/xhberr.prg
+ * extras/gtwvw/tests/cbtest6.prg
+ * extras/guestbk/cgi.ch
+ * extras/guestbk/guestbk.prg
+ * extras/guestbk/guestbk.txt
+ * extras/guestbk/inifiles.prg
+ * extras/hbapollo/fblock.prg
+ * extras/hbapollo/tests/test45.prg
+ * extras/hbxlsxml/xlsxml_y.prg
+ * extras/httpsrv/cgifunc.prg
+ * extras/httpsrv/session.prg
+ * extras/httpsrv/uhttpd.prg
+ ! if() -> iif()
+ * formatting
+ * *trim( str() ) -> hb_ntos()
+ * modernized generated html
+
2012-07-23 16:52 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/lang/msgelutf.c
* src/lang/msgko.c
diff --git a/harbour/contrib/gtwvg/tests/demoxbp.prg b/harbour/contrib/gtwvg/tests/demoxbp.prg
index 74dc738baa..00ea6d296e 100644
--- a/harbour/contrib/gtwvg/tests/demoxbp.prg
+++ b/harbour/contrib/gtwvg/tests/demoxbp.prg
@@ -122,7 +122,7 @@ FUNCTION Main()
oTree:create()
oTree:setColorBG( RGB( 120,15,240 ) )
oTree:setColorFG( RGB( 15,240,120 ) )
- oTree:itemSelected := {|oItem| IF( oItem != NIL, WVG_MessageBox( , oItem:caption ), NIL ) }
+ oTree:itemSelected := {|oItem| iif( oItem != NIL, WVG_MessageBox( , oItem:caption ), NIL ) }
oItem1 := oTree:rootItem:addItem( "First level A" )
@@ -185,7 +185,7 @@ FUNCTION Main()
oRadio := WvgRadioButton():new( oStatic2,, { 10,10 }, { 100,15 } )
oRadio:caption := "Com 1"
oRadio:selection := .T.
- oRadio:selected := {|m1,m2,obj| m1:=m1, m2:=m2, WVG_MessageBox( , obj:caption + IF( obj:selection, '< S >', '< N >' ) ) }
+ oRadio:selected := {|m1,m2,obj| m1:=m1, m2:=m2, WVG_MessageBox( , obj:caption + iif( obj:selection, '< S >', '< N >' ) ) }
oRadio:create()
oRadio := WvgRadioButton():new( oStatic2,, { 10,35 }, { 100,15 } )
@@ -195,7 +195,7 @@ FUNCTION Main()
oCheck := WvgCheckBox():New( oStatic2, , { 10,70 }, { 100,15 }, , .t. )
oCheck:caption := 'Checkbox A'
oCheck:create()
- oCheck:selected := {|m1,m2,o| m1:=m1,m2:=m2, WVG_MessageBox( , IF( o:getData(), 'I am selected','I am not selected' ) ) }
+ oCheck:selected := {|m1,m2,o| m1:=m1,m2:=m2, WVG_MessageBox( , iif( o:getData(), 'I am selected','I am not selected' ) ) }
// Create first 3State button, passing the position to :create()
oXbp := Wvg3State():new()
@@ -245,11 +245,11 @@ FUNCTION Main()
oMLE:setData()
//--------------------------- Misc Config ------------------------\\
- oTBar:buttonClick := {|oBtn| IF( oBtn:caption == 'Hide' , oStatic:hide(), nil ),;
- IF( oBtn:caption == 'Show' , oStatic:show(), nil ),;
- IF( oBtn:caption == 'Tools' , oStatic2:show():toFront(), nil ),;
- IF( oBtn:caption == 'FontDlg', ExeFontDialog( oCrt ), nil ),;
- IF( oBtn:caption $ 'Hide,Show', oCrt:sendMessage( WM_SIZE, 0, 0 ), NIL ),;
+ oTBar:buttonClick := {|oBtn| iif( oBtn:caption == 'Hide' , oStatic:hide(), nil ),;
+ iif( oBtn:caption == 'Show' , oStatic:show(), nil ),;
+ iif( oBtn:caption == 'Tools' , oStatic2:show():toFront(), nil ),;
+ iif( oBtn:caption == 'FontDlg', ExeFontDialog( oCrt ), nil ),;
+ iif( oBtn:caption $ 'Hide,Show', oCrt:sendMessage( WM_SIZE, 0, 0 ), NIL ),;
oPanel2:caption := "Button [ " + oBtn:caption + " ] clicked!" }
oCrt:resize := {|| ResizeDialogXbp( oCrt, oTBar, oSBar, oStatic, oCom, oTree, oAddr ) }
@@ -325,7 +325,7 @@ Static Function ActiveXBuildMenuXbp( oCrt, oStatic, oStatic2 )
oSubMenu := WvgMenu():new( oMenuBar ):create()
oSubMenu:title := "F~eatures"
- oSubMenu:addItem( { "~Hide or Show Left Panel" , {|| IF( oStatic:isVisible, ;
+ oSubMenu:addItem( { "~Hide or Show Left Panel" , {|| iif( oStatic:isVisible, ;
oStatic:hide(), oStatic:show() ), oCrt:sendMessage( WM_SIZE,0,0 ) } } )
oSubMenu:addItem( { "~Show My Panel" , {|| oStatic2:show():toFront() } } )
oSubMenu:addItem()
diff --git a/harbour/contrib/gtwvg/tests/wvgactivex.prg b/harbour/contrib/gtwvg/tests/wvgactivex.prg
index 36fc4f65dd..53484767af 100644
--- a/harbour/contrib/gtwvg/tests/wvgactivex.prg
+++ b/harbour/contrib/gtwvg/tests/wvgactivex.prg
@@ -86,7 +86,7 @@ FUNCTION ExecuteActiveX( nActiveX, xParam )
oRadio := WvgRadioButton():new( oStatic2,, { 10,10 }, { 100,15 } )
oRadio:caption := "Com 1"
oRadio:selection := .T.
- oRadio:selected := {|m1,m2,obj| m1:=m1, m2:=m2, WVG_MessageBox( , obj:caption + IF( obj:selection, '< S >', '< N >' ) ) }
+ oRadio:selected := {|m1,m2,obj| m1:=m1, m2:=m2, WVG_MessageBox( , obj:caption + iif( obj:selection, '< S >', '< N >' ) ) }
oRadio:create()
oRadio := WvgRadioButton():new( oStatic2,, { 10,35 }, { 100,15 } )
@@ -96,7 +96,7 @@ FUNCTION ExecuteActiveX( nActiveX, xParam )
oCheck := WvgCheckBox():New( oStatic2, , { 10,70 }, { 100,15 }, , .t. )
oCheck:caption := 'Checkbox A'
oCheck:create()
- oCheck:selected := {|m1,m2,o| m1:=m1,m2:=m2, WVG_MessageBox( , IF( o:getData(), 'I am selected','I am not selected' ) ) }
+ oCheck:selected := {|m1,m2,o| m1:=m1,m2:=m2, WVG_MessageBox( , iif( o:getData(), 'I am selected','I am not selected' ) ) }
// Create first 3State button, passing the position to :create()
oXbp := Wvg3State():new( oStatic2 )
@@ -188,7 +188,7 @@ FUNCTION ExecuteActiveX( nActiveX, xParam )
oTree:create()
oTree:setColorBG( RGB( 120,15,240 ) )
oTree:setColorFG( RGB( 15,240,120 ) )
- oTree:itemSelected := {|oItem| IF( oItem != NIL, WVG_MessageBox( , oItem:caption ), NIL ) }
+ oTree:itemSelected := {|oItem| iif( oItem != NIL, WVG_MessageBox( , oItem:caption ), NIL ) }
oItem1 := oTree:rootItem:addItem( "First level A" )
@@ -210,10 +210,10 @@ FUNCTION ExecuteActiveX( nActiveX, xParam )
oTree:setData( oItem2 )
//--------------------------- Misc Config ------------------------\\
- oTBar:buttonClick := {|oBtn| IF( oBtn:caption == 'Hide' , oStatic:hide(), nil ),;
- IF( oBtn:caption == 'Show' , oStatic:show(), nil ),;
- IF( oBtn:caption == 'Tools', oStatic2:show():toFront(), nil ),;
- IF( oBtn:caption $ 'Hide,Show', oCrt:sendMessage( WM_SIZE, 0, 0 ), NIL ),;
+ oTBar:buttonClick := {|oBtn| iif( oBtn:caption == 'Hide' , oStatic:hide(), nil ),;
+ iif( oBtn:caption == 'Show' , oStatic:show(), nil ),;
+ iif( oBtn:caption == 'Tools', oStatic2:show():toFront(), nil ),;
+ iif( oBtn:caption $ 'Hide,Show', oCrt:sendMessage( WM_SIZE, 0, 0 ), NIL ),;
oPanel2:caption := "Button [ " + oBtn:caption + " ] clicked!" }
oDA:resize := {|| ResizeDialog( oCrt, oTBar, oSBar, oStatic, oCom, oTree ) }
@@ -296,7 +296,7 @@ Static Function ActiveXBuildMenu( oCrt, oStatic, oStatic2 )
oSubMenu := WvgMenu():new( oMenuBar ):create()
oSubMenu:title := "F~eatures"
- oSubMenu:addItem( { "~Hide or Show Left Panel" , {|| IF( oStatic:isVisible, ;
+ oSubMenu:addItem( { "~Hide or Show Left Panel" , {|| iif( oStatic:isVisible, ;
oStatic:hide(), oStatic:show() ), oCrt:sendMessage( WM_SIZE,0,0 ) } } )
oSubMenu:addItem( { "~Show My Panel" , {|| oStatic2:show() } } )
oMenuBar:addItem( { oSubMenu, NIL } )
@@ -344,7 +344,7 @@ STATIC FUNCTION BuildActiveXControl( nActiveX, oDA )
oCom:showAboutBox() ;
} )
- oCom:mapEvent( evBtnUp, {|nBtn| if( nBtn == 2, oCom:oParent:sendMessage( WM_CLOSE,0,0 ), NIL ) } )
+ oCom:mapEvent( evBtnUp, {|nBtn| iif( nBtn == 2, oCom:oParent:sendMessage( WM_CLOSE,0,0 ), NIL ) } )
case nActiveX == 3
hb_gtInfo( HB_GTI_WINTITLE, 'file://' + hb_DirBase() + 'myharu.pdf' )
diff --git a/harbour/contrib/gtwvg/tests/wvgmodal.prg b/harbour/contrib/gtwvg/tests/wvgmodal.prg
index 8b9891562e..fb7d40af41 100644
--- a/harbour/contrib/gtwvg/tests/wvgmodal.prg
+++ b/harbour/contrib/gtwvg/tests/wvgmodal.prg
@@ -115,9 +115,9 @@ FUNCTION DialogAlert( cCaption, aText_, aButtons_, sel, aMessage_, nTop, nTime )
aButtons_:= {aButtons_}
endif
- nLinesRqd := len( aText_ )+ if( len( aText_ )== 0, 4, 5 )
+ nLinesRqd := len( aText_ )+ iif( len( aText_ )== 0, 4, 5 )
nTopReq := int( ( maxRow - nLinesRqd ) / 2 )
- nTop := if( nTop == nil, nTopReq, if( nTop > nTopReq, nTop, nTopReq ) )
+ nTop := iif( nTop == nil, nTopReq, iif( nTop > nTopReq, nTop, nTopReq ) )
nBottom := nTop + nLinesRqd - 1 // 1 for shadow
// check for columns
@@ -135,7 +135,7 @@ FUNCTION DialogAlert( cCaption, aText_, aButtons_, sel, aMessage_, nTop, nTime )
nColRqd := 0
aeval( { nColCap, nColTxt, nColBut }, {|e| nColRqd := max( nColRqd, e ) } )
- nLeft := IF( maxCol > nColRqd, int( ( maxCol - nColRqd ) / 2 ), 0 )
+ nLeft := iif( maxCol > nColRqd, int( ( maxCol - nColRqd ) / 2 ), 0 )
nRight := nLeft+nColRqd
aTrg_:= array( len( aButtons_ ) )
@@ -151,7 +151,7 @@ FUNCTION DialogAlert( cCaption, aText_, aButtons_, sel, aMessage_, nTop, nTime )
nLeft := 0
nBottom := nTop + nLinesRqd - 1
nRight := nLeft + nColRqd
- nBtnRow := nTop + 1 + len( aText_ ) + if( len( aText_ ) == 0, 1, 2 )
+ nBtnRow := nTop + 1 + len( aText_ ) + iif( len( aText_ ) == 0, 1, 2 )
nBtnCol_ := array( len( aButtons_ ) )
@@ -288,7 +288,7 @@ FUNCTION CreateOCrt( nT, nL, nB, nR, cTitle, xIcon, lModal, lRowCols, lHidden, ;
DEFAULT lCenter TO .F.
DEFAULT lNoTitleBar TO .F.
- aPos := IF( lCenter, {-1,-1}, IF( nRow == NIL, { nT, nL }, { nRow,nCol } ) )
+ aPos := iif( lCenter, {-1,-1}, iif( nRow == NIL, { nT, nL }, { nRow,nCol } ) )
oCrt := WvgCrt():new( , , aPos, { nB - nT, nR - nL }, , !lHidden )
oCrt:lModal := lModal
diff --git a/harbour/contrib/gtwvg/tests/wvgxbp.prg b/harbour/contrib/gtwvg/tests/wvgxbp.prg
index 82fe8c10ee..eb3bd4c612 100644
--- a/harbour/contrib/gtwvg/tests/wvgxbp.prg
+++ b/harbour/contrib/gtwvg/tests/wvgxbp.prg
@@ -120,7 +120,7 @@ FUNCTION demoxbp()
oTree:create()
oTree:setColorBG( RGB( 120,15,240 ) )
oTree:setColorFG( RGB( 15,240,120 ) )
- oTree:itemSelected := {|oItem| IF( oItem != NIL, WVG_MessageBox( , oItem:caption ), NIL ) }
+ oTree:itemSelected := {|oItem| iif( oItem != NIL, WVG_MessageBox( , oItem:caption ), NIL ) }
oItem1 := oTree:rootItem:addItem( "First level A" )
@@ -184,7 +184,7 @@ FUNCTION demoxbp()
oRadio := WvgRadioButton():new( oStatic2,, { 10,10 }, { 100,15 } )
oRadio:caption := "Com 1"
oRadio:selection := .T.
- oRadio:selected := {|m1,m2,obj| m1:=m1, m2:=m2, WVG_MessageBox( , obj:caption + IF( obj:selection, '< S >', '< N >' ) ) }
+ oRadio:selected := {|m1,m2,obj| m1:=m1, m2:=m2, WVG_MessageBox( , obj:caption + iif( obj:selection, '< S >', '< N >' ) ) }
oRadio:create()
oRadio := WvgRadioButton():new( oStatic2,, { 10,35 }, { 100,15 } )
@@ -194,7 +194,7 @@ FUNCTION demoxbp()
oCheck := WvgCheckBox():New( oStatic2, , { 10,70 }, { 100,15 }, , .t. )
oCheck:caption := 'Checkbox A'
oCheck:create()
- oCheck:selected := {|m1,m2,o| m1:=m1,m2:=m2, WVG_MessageBox( , IF( o:getData(), 'I am selected','I am not selected' ) ) }
+ oCheck:selected := {|m1,m2,o| m1:=m1,m2:=m2, WVG_MessageBox( , iif( o:getData(), 'I am selected','I am not selected' ) ) }
// Create first 3State button, passing the position to :create()
oXbp := Wvg3State():new()
@@ -244,11 +244,11 @@ FUNCTION demoxbp()
oMLE:setData()
//--------------------------- Misc Config ------------------------\\
- oTBar:buttonClick := {|oBtn| IF( oBtn:caption == 'Hide' , oStatic:hide(), nil ),;
- IF( oBtn:caption == 'Show' , oStatic:show(), nil ),;
- IF( oBtn:caption == 'Tools' , oStatic2:show():toFront(), nil ),;
- IF( oBtn:caption == 'FontDlg', ExeFontDialogXbp( oCrt ), nil ),;
- IF( oBtn:caption $ 'Hide,Show', oCrt:sendMessage( WM_SIZE, 0, 0 ), NIL ),;
+ oTBar:buttonClick := {|oBtn| iif( oBtn:caption == 'Hide' , oStatic:hide(), nil ),;
+ iif( oBtn:caption == 'Show' , oStatic:show(), nil ),;
+ iif( oBtn:caption == 'Tools' , oStatic2:show():toFront(), nil ),;
+ iif( oBtn:caption == 'FontDlg', ExeFontDialogXbp( oCrt ), nil ),;
+ iif( oBtn:caption $ 'Hide,Show', oCrt:sendMessage( WM_SIZE, 0, 0 ), NIL ),;
oPanel2:caption := "Button [ " + oBtn:caption + " ] clicked!" }
oCrt:resize := {|| ResizeDialogXbp( oCrt, oTBar, oSBar, oStatic, oCom, oTree, oAddr ) }
@@ -325,7 +325,7 @@ STATIC FUNCTION ActiveXBuildMenuXbp( oCrt, oStatic, oStatic2 )
oSubMenu := WvgMenu():new( oMenuBar ):create()
oSubMenu:title := "F~eatures"
- oSubMenu:addItem( { "~Hide or Show Left Panel" , {|| IF( oStatic:isVisible, ;
+ oSubMenu:addItem( { "~Hide or Show Left Panel" , {|| iif( oStatic:isVisible, ;
oStatic:hide(), oStatic:show() ), oCrt:sendMessage( WM_SIZE,0,0 ) } } )
oSubMenu:addItem( { "~Show My Panel" , {|| oStatic2:show():toFront() } } )
oSubMenu:addItem()
diff --git a/harbour/contrib/gtwvg/wvgcheck.prg b/harbour/contrib/gtwvg/wvgcheck.prg
index 743822bd59..46f6d7c7c3 100644
--- a/harbour/contrib/gtwvg/wvgcheck.prg
+++ b/harbour/contrib/gtwvg/wvgcheck.prg
@@ -92,7 +92,7 @@ CLASS WvgCheckBox INHERIT WvgWindow, WvgDataRef
#if 0
METHOD editBuffer() INLINE ( WVG_Button_GetCheck( ::hWnd ) == BST_CHECKED )
METHOD getData() INLINE ( WVG_Button_GetCheck( ::hWnd ) == BST_CHECKED )
- METHOD setData( lCheck ) INLINE ::sendMessage( BM_SETCHECK, IF( lCheck, BST_CHECKED, BST_UNCHECKED ), 0 )
+ METHOD setData( lCheck ) INLINE ::sendMessage( BM_SETCHECK, iif( lCheck, BST_CHECKED, BST_UNCHECKED ), 0 )
#endif
METHOD setCaption( xCaption )
diff --git a/harbour/contrib/hbide/ideconsole.prg b/harbour/contrib/hbide/ideconsole.prg
index 18645e6488..3cde1fe393 100644
--- a/harbour/contrib/hbide/ideconsole.prg
+++ b/harbour/contrib/hbide/ideconsole.prg
@@ -2644,7 +2644,7 @@ METHOD hbCUIEditor:scrAddTxt( nMode )
ENDIF
DO WHILE .t.
- IF( n := ascan( ::obj_, {|e_| e_[ OBJ_TYPE ] == OBJ_O_TEXT .AND. e_[ OBJ_ROW ] == ::nRowRep } ) ) > 0
+ IF ( n := ascan( ::obj_, {|e_| e_[ OBJ_TYPE ] == OBJ_O_TEXT .AND. e_[ OBJ_ROW ] == ::nRowRep } ) ) > 0
VouchAShrink( ::obj_,n )
ELSE
EXIT
@@ -2654,7 +2654,7 @@ METHOD hbCUIEditor:scrAddTxt( nMode )
aeval( txt_, {|e_| iif( e_[ OBJ_ROW ] > 0, aadd( ::obj_, e_ ), '' ) } )
DO WHILE .t.
- IF( n := ascan( ::obj_,{|e_| e_[ OBJ_TO_COL ] < e_[ OBJ_COL ] } ) ) > 0
+ IF ( n := ascan( ::obj_,{|e_| e_[ OBJ_TO_COL ] < e_[ OBJ_COL ] } ) ) > 0
VouchAShrink( ::obj_, n )
ELSE
EXIT
@@ -3426,7 +3426,7 @@ STATIC FUNCTION scan_ff( elem, a_, c /*, nFrom */ )
c := lower( substr( c,1,1 ) )
nLen := Len( c )
- IF( na := ascan( a_,{|e| lower( substr( ltrim( e ),1,nLen ) ) == c }, min( elem+1, Len( a_ ) ) ) ) == 0
+ IF ( na := ascan( a_,{|e| lower( substr( ltrim( e ),1,nLen ) ) == c }, min( elem+1, Len( a_ ) ) ) ) == 0
na := ascan( a_,{|e| lower( substr( ltrim( e ),1,nlen ) ) == c },1,elem-1 )
ENDIF
@@ -3589,7 +3589,7 @@ FUNCTION VouchMenuMM( mnu_,nInit,msg,lExact,aSel )
aeval( mnu_,{|e_| aadd( m_,e_[ 1 ] ) } )
- IF( t := valtype( nInit ) == 'C' )
+ IF ( t := valtype( nInit ) ) == 'C'
//nInit := iif( lExact, nInit, trim( nInit ) )
ENDIF
@@ -3996,11 +3996,11 @@ FUNCTION VouchFunc2( nMode, nElem, nRel, nKey, cgo_ )
cgo_[CGO_POS] := min( cgo_[CGO_POS]+1,Len( cgo_[CGO_CH_] ) )
RETURN AC_ABORT
ELSE
- IF( n:=val( substr( cgo_[CGO_CH_,cgo_[CGO_POS]],1,4 ) ) )>0
+ IF ( n:=val( substr( cgo_[CGO_CH_,cgo_[CGO_POS]],1,4 ) ) )>0
cgo_[CGO_CH_,cgo_[CGO_POS]] := " "+substr( cgo_[CGO_CH_,cgo_[CGO_POS]],5 )
cgo_[CGO_POS] := min( cgo_[CGO_POS]+1,Len( cgo_[CGO_CH_] ) )
FOR i := 1 TO Len( cgo_[CGO_CH_] )
- IF( nn := val( left( cgo_[CGO_CH_,i],4 ) ) )>0
+ IF ( nn := val( left( cgo_[CGO_CH_,i],4 ) ) )>0
IF nn > n
nn := nn - 1
s := iif( nn > 0,pad( hb_ntos( nn ),4 )," " )
@@ -4578,7 +4578,7 @@ METHOD AChoiceNew:init( nTop, nLft, nBtm, nRgt, acItems, xSelect, ;
::nAtTop := 1 // The number of the item at the top
::nAtBtm := 1 // The number of the item at the bottom
::nItems := 0 // The number of items
- ::bScan := {| cX | IF( left( cX, 1 ) == upper( chr( ::nKey ) ), .T., .F. ) }
+ ::bScan := {| cX | iif( left( cX, 1 ) == upper( chr( ::nKey ) ), .T., .F. ) }
::lUserFunc := ( !empty( ::cUserFunc ) )
::nUserFunc := 0 // RETURN value FROM user FUNCTION
::bUserFunc := {|| AC_ABORT } // Block form of user FUNCTION
@@ -4605,7 +4605,7 @@ METHOD AChoiceNew:init( nTop, nLft, nBtm, nRgt, acItems, xSelect, ;
::nNumCols := ::nRight - ::nLeft + 1
::nNumRows := ::nBottom - ::nTop + 1
- aeval( ::acItems, {| x | IF( valtype( x ) == "C", aadd( ::acCopy, padr( x, ::nNumCols ) ), .F. ) } )
+ aeval( ::acItems, {| x | iif( valtype( x ) == "C", aadd( ::acCopy, padr( x, ::nNumCols ) ), .F. ) } )
::nItems := Len( ::acCopy )
::alSelect := array( ::nItems )
@@ -4833,8 +4833,8 @@ METHOD AChoiceNew:DispPageNew()
METHOD AChoiceNew:DispLineNew( nPos, nRow, lHiLite )
DispOutAt( nRow, ::nLeft, ::acCopy[ nPos ],;
- IF( ::alSelect[ nPos ], ;
- IF( lHiLite, ::cHiClr, ::cLoClr ), ::cUnClr ), ::oWin )
+ iif( ::alSelect[ nPos ], ;
+ iif( lHiLite, ::cHiClr, ::cLoClr ), ::cUnClr ), ::oWin )
RETURN SELF
diff --git a/harbour/contrib/hbide/idetags.prg b/harbour/contrib/hbide/idetags.prg
index 9bda6f5e12..13045677be 100644
--- a/harbour/contrib/hbide/idetags.prg
+++ b/harbour/contrib/hbide/idetags.prg
@@ -176,13 +176,13 @@ FUNCTION UpdateTags( cModule, aSummary, aSumData, aFuncList, aLines, aText )
cModule ,;
cSyntax ,;
cType ,;
- Iif( LEFTEQUAL( cType, "METH" ), ":", "" ) + cSyntax, ;
+ iif( LEFTEQUAL( cType, "METH" ), ":", "" ) + cSyntax, ;
aText[ aSumData[ i,2 ] ] ;
};
)
ENDIF
- AAdd( aFuncList, { Iif( LEFTEQUAL( cType, "METH" ), ":", "" ) + cSyntax, aSumData[ i, 2 ], aSumData[ i, 1 ] } )
+ AAdd( aFuncList, { iif( LEFTEQUAL( cType, "METH" ), ":", "" ) + cSyntax, aSumData[ i, 2 ], aSumData[ i, 1 ] } )
AAdd( aLines, i )
NEXT
diff --git a/harbour/contrib/hbnf/tests/nftest.prg b/harbour/contrib/hbnf/tests/nftest.prg
index 3708d734b2..13cf085588 100644
--- a/harbour/contrib/hbnf/tests/nftest.prg
+++ b/harbour/contrib/hbnf/tests/nftest.prg
@@ -1084,6 +1084,6 @@ RETURN(.t.)
?? ' '
?? STR(aTest[nk, 3])
?? ' '
- ?? IF(aTest[nk, 4], 'true', 'false')
+ ?? iif(aTest[nk, 4], 'true', 'false')
NEXT
RETURN Nil
diff --git a/harbour/contrib/hbxbp/tests/demoxbp.prg b/harbour/contrib/hbxbp/tests/demoxbp.prg
index 10c79fe796..e3b982e89e 100644
--- a/harbour/contrib/hbxbp/tests/demoxbp.prg
+++ b/harbour/contrib/hbxbp/tests/demoxbp.prg
@@ -93,8 +93,8 @@ PROCEDURE Main()
LOCAL q, a_, j
LOCAL nTimes := 20
LOCAL nLoops := 5
-
- FOR j := 1 TO nLoops
+
+ FOR j := 1 TO nLoops
msgbox( hb_ntos( j ) + " : Building start..." )
a_:= {}
FOR q := 1 TO nTimes
@@ -106,20 +106,20 @@ PROCEDURE Main()
//aadd( a_, QTreeWidget() )
//aadd( a_, QMainWindow() )
//aadd( a_, QWidget() )
- NEXT
+ NEXT
msgbox( "Destroying Starts..." )
FOR q := 1 TO nTimes
- __hbqt_destroy( a_[ q ] )
- a_[ q ] := NIL
- NEXT
- NEXT
- msgbox( "Done" )
+ __hbqt_destroy( a_[ q ] )
+ a_[ q ] := NIL
+ NEXT
+ NEXT
+ msgbox( "Done" )
#else
_BuildADialog()
-#endif
-
- RETURN
-
+#endif
+
+ RETURN
+
/*----------------------------------------------------------------------*/
FUNCTION _BuildADialog()
@@ -278,7 +278,7 @@ STATIC FUNCTION uiXtoS( xVar )
CASE cType == "D"
RETURN dtoc( xVar )
CASE cType == "L"
- RETURN IF( xVar, "Yes", "No" )
+ RETURN iif( xVar, "Yes", "No" )
CASE cType == "M"
RETURN xVar
CASE cType == "C"
@@ -320,7 +320,7 @@ STATIC FUNCTION PP_Debug( oXbp )
LOCAL s := ''
aeval( aPP, {|e_| s += ( hb_ntos( e_[ 1 ] ) +' '+ valtype( e_[ 2 ] ) +' '+ ;
- IF( valtype( e_[ 2 ] )=='N', hb_ntos( e_[ 2 ] ), ' ' ) + '; '+ CRLF ) } )
+ iif( valtype( e_[ 2 ] )=='N', hb_ntos( e_[ 2 ] ), ' ' ) + '; '+ CRLF ) } )
MsgBox( s )
@@ -381,7 +381,7 @@ STATIC FUNCTION Build_MenuBar( oDlg )
oMenuBar:addItem( { oSubMenu, NIL } )
//
oSubMenu:insItem( 2, { "This executes MsgBox()" , {|| MyFunctionXbp( 103 ) }, , XBPMENUBAR_MIA_CHECKED } )
- oSubMenu:itemMarked := {|mp1| IF( mp1 == 5, MsgBox( "WOW - ::itemMarked - Activated" ), NIL ) }
+ oSubMenu:itemMarked := {|mp1| iif( mp1 == 5, MsgBox( "WOW - ::itemMarked - Activated" ), NIL ) }
/* Menu colors are being honored in Harbour only */
// oSubMenu:setColorBG( GraMakeRGBColor( { 134,128,250 } ) )
@@ -711,7 +711,7 @@ FUNCTION Build_RadioButton( oStatic )
/*----------------------------------------------------------------------*/
STATIC FUNCTION SetMaximized( aTabs, nMax )
- RETURN {|| aeval( aTabs, {|o,i| IF( i != nMax, o:minimize(), ) } ), aTabs[ nMax ]:maximize() }
+ RETURN {|| aeval( aTabs, {|o,i| iif( i != nMax, o:minimize(), ) } ), aTabs[ nMax ]:maximize() }
/*----------------------------------------------------------------------*/
@@ -1327,7 +1327,7 @@ FUNCTION Build_FileDialog( oWnd, cMode )
aFiles := oDlg:open( "c:\temp", , .t. )
IF !empty( aFiles )
aeval( aFiles, {|e| HB_SYMBOL_UNUSED( e ) } )
- ENDIF
+ ENDIF
ELSE
oDlg:title := "Save this Database"
oDlg:fileFilters := { { "Database Files", "*.dbf" } }
@@ -1520,12 +1520,12 @@ FUNCTION Build_Rtf( oWnd )
oBtn := XbpPushButton():new( oWnd, , {10+(nW+nG)*2, nT-25}, {nW,nH} )
oBtn:caption := 'Font++'
oBtn:create()
- oBtn:activate := {|x| x := oRTF:selFontSize, IF( x == 0, x := 11, ), oRTF:selFontSize := x+1 }
+ oBtn:activate := {|x| x := oRTF:selFontSize, iif( x == 0, x := 11, ), oRTF:selFontSize := x+1 }
oBtn := XbpPushButton():new( oWnd, , {10+(nW+nG)*3, nT-25}, {nW,nH} )
oBtn:caption := 'Font--'
oBtn:create()
- oBtn:activate := {|x| x := oRTF:selFontSize, IF( x == 0, x := 11, ), oRTF:selFontSize := x-1 }
+ oBtn:activate := {|x| x := oRTF:selFontSize, iif( x == 0, x := 11, ), oRTF:selFontSize := x-1 }
oBtn := XbpPushButton():new( oWnd, , {10+(nW+nG)*4, nT-25}, {nW,nH} )
oBtn:caption := 'Print'
@@ -1668,7 +1668,7 @@ STATIC FUNCTION RtfApplyFont( oRTF )
FUNCTION Build_Browse_Y( oWnd )
LOCAL cPath := hb_DirBase() + ".." + hb_ps() + ".." + hb_ps() + ".." + hb_ps() + "tests" + hb_ps()
LOCAL oXbpBrowse, aStruct, a_, oXbpColumn , aPresParam
-
+
USE ( cPath + "test.dbf" ) NEW SHARED READONLY VIA 'DBFCDX'
dbGotop()
aStruct := DbStruct()
@@ -1689,7 +1689,7 @@ FUNCTION Build_Browse_Y( oWnd )
oXbpBrowse:posBlock := {| | RecNo() }
oXbpBrowse:goPosBlock := {|n| DbGoto( n ) }
oXbpBrowse:phyPosBlock := {| | RecNo() }
-
+
FOR EACH a_ IN aStruct
aPresParam := getPP( a_ )
@@ -1699,11 +1699,11 @@ FUNCTION Build_Browse_Y( oWnd )
oXbpBrowse:addColumn( oXbpColumn )
NEXT
-
+
RETURN NIL
-
+
/*----------------------------------------------------------------------*/
-
+
FUNCTION dataLink( nField )
RETURN {|| fieldget( nField ) }
@@ -1804,7 +1804,7 @@ FUNCTION Build_Browse( oWnd )
aadd( aPresParam, { XBP_PP_COL_FA_FGCLR , GRA_CLR_BLACK } )
aadd( aPresParam, { XBP_PP_COL_FA_BGCLR , GRA_CLR_DARKGRAY } )
aadd( aPresParam, { XBP_PP_COL_FA_HEIGHT , 25 } )
- //
+ //
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := {|| test->Last }
oXbpColumn:colorBlock := {|x| iif( left( x,1 ) $ "L,H", { GRA_CLR_BLUE, GRA_CLR_YELLOW }, { NIL, NIL } ) }
@@ -1857,7 +1857,7 @@ FUNCTION Build_Browse( oWnd )
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := {|| test->Salary }
oXbpColumn:create( , , , , aPresParam )
- oXbpColumn:colorBlock := {|x| IF( x < 40000, { NIL, RGB( 255,0,0 ) }, {NIL,NIL} ) }
+ oXbpColumn:colorBlock := {|x| iif( x < 40000, { NIL, RGB( 255,0,0 ) }, {NIL,NIL} ) }
//
oXbpBrowse:addColumn( oXbpColumn )
@@ -2065,4 +2065,3 @@ STATIC FUNCTION Build_ConfirmBox( oWnd )
str( ConfirmBox( oWnd, "What do you want ?", "Confirm Status", XBPMB_YESNOCANCEL, XBPMB_WARNING, 2 ) ) )
/*----------------------------------------------------------------------*/
-
diff --git a/harbour/contrib/hbxbp/tests/dialogqt.prg b/harbour/contrib/hbxbp/tests/dialogqt.prg
index 4db853514a..030de3dee6 100644
--- a/harbour/contrib/hbxbp/tests/dialogqt.prg
+++ b/harbour/contrib/hbxbp/tests/dialogqt.prg
@@ -203,7 +203,7 @@ STATIC FUNCTION uiXtoS( xVar )
CASE cType == "D"
RETURN dtoc( xVar )
CASE cType == "L"
- RETURN IF( xVar, "Yes", "No" )
+ RETURN iif( xVar, "Yes", "No" )
CASE cType == "M"
RETURN xVar
CASE cType == "C"
@@ -245,7 +245,7 @@ STATIC FUNCTION PP_Debug( oXbp )
LOCAL s := ''
aeval( aPP, {|e_| s += ( hb_ntos( e_[ 1 ] ) +' '+ valtype( e_[ 2 ] ) +' '+ ;
- IF( valtype( e_[ 2 ] )=='N', hb_ntos( e_[ 2 ] ), ' ' ) + '; '+ CRLF ) } )
+ iif( valtype( e_[ 2 ] )=='N', hb_ntos( e_[ 2 ] ), ' ' ) + '; '+ CRLF ) } )
MsgBox( s )
@@ -307,7 +307,7 @@ STATIC FUNCTION Build_MenuBar( oDlg )
oMenuBar:addItem( { oSubMenu, NIL } )
//
oSubMenu:insItem( 2, { "This executes MsgBox()" , {|| MyFunctionXbp( 103 ) }, , XBPMENUBAR_MIA_CHECKED } )
- oSubMenu:itemMarked := {|mp1| IF( mp1 == 5, MsgBox( "WOW - ::itemMarked - Activated" ), NIL ) }
+ oSubMenu:itemMarked := {|mp1| iif( mp1 == 5, MsgBox( "WOW - ::itemMarked - Activated" ), NIL ) }
/* Menu colors are being honored in Harbour only */
oSubMenu:setColorBG( GraMakeRGBColor( { 134,128,250 } ) )
@@ -609,7 +609,7 @@ FUNCTION Build_RadioButton( oStatic )
/*----------------------------------------------------------------------*/
STATIC FUNCTION SetMaximized( aTabs, nMax )
- RETURN {|| aeval( aTabs, {|o,i| IF( i != nMax, o:minimize(), ) } ), aTabs[ nMax ]:maximize() }
+ RETURN {|| aeval( aTabs, {|o,i| iif( i != nMax, o:minimize(), ) } ), aTabs[ nMax ]:maximize() }
/*----------------------------------------------------------------------*/
@@ -1412,12 +1412,12 @@ STATIC FUNCTION Build_Rtf( oWnd )
oBtn := XbpPushButton():new( oWnd, , {10+(nW+nG)*2, nT-25}, {nW,nH} )
oBtn:caption := 'Font++'
oBtn:create()
- oBtn:activate := {|x| x := oRTF:selFontSize, IF( x == 0, x := 11, ), oRTF:selFontSize := x+1 }
+ oBtn:activate := {|x| x := oRTF:selFontSize, iif( x == 0, x := 11, ), oRTF:selFontSize := x+1 }
oBtn := XbpPushButton():new( oWnd, , {10+(nW+nG)*3, nT-25}, {nW,nH} )
oBtn:caption := 'Font--'
oBtn:create()
- oBtn:activate := {|x| x := oRTF:selFontSize, IF( x == 0, x := 11, ), oRTF:selFontSize := x-1 }
+ oBtn:activate := {|x| x := oRTF:selFontSize, iif( x == 0, x := 11, ), oRTF:selFontSize := x-1 }
oBtn := XbpPushButton():new( oWnd, , {10+(nW+nG)*4, nT-25}, {nW,nH} )
oBtn:caption := 'Print'
@@ -1616,7 +1616,7 @@ STATIC FUNCTION Build_Browse( oWnd )
oXbpColumn := XbpColumn():new()
oXbpColumn:type := XBPCOL_TYPE_FILEICON
cPath := hb_DirBase() + hb_ps()
- oXbpColumn:dataLink := {|n| n := recno(), IF( n%3 == 0, cPath + "abs3.png", IF( n%5 == 0, cPath + "copy.png", cPath + "vr.png" ) ) }
+ oXbpColumn:dataLink := {|n| n := recno(), iif( n%3 == 0, cPath + "abs3.png", iif( n%5 == 0, cPath + "copy.png", cPath + "vr.png" ) ) }
oXbpColumn:create( , , , , aPresParam )
//
oXbpBrowse:addColumn( oXbpColumn )
@@ -1641,7 +1641,7 @@ STATIC FUNCTION Build_Browse( oWnd )
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := {|| test->Last }
- oXbpColumn:colorBlock := {|x| IF( left( x,1 ) $ "L,H", { GRA_CLR_BLUE, GRA_CLR_YELLOW }, { NIL, NIL } ) }
+ oXbpColumn:colorBlock := {|x| iif( left( x,1 ) $ "L,H", { GRA_CLR_BLUE, GRA_CLR_YELLOW }, { NIL, NIL } ) }
oXbpColumn:create( , , , , aPresParam )
//
oXbpBrowse:addColumn( oXbpColumn )
@@ -1691,7 +1691,7 @@ STATIC FUNCTION Build_Browse( oWnd )
oXbpColumn := XbpColumn():new()
oXbpColumn:dataLink := {|| test->Salary }
oXbpColumn:create( , , , , aPresParam )
- oXbpColumn:colorBlock := {|x| IF( x < 40000, { NIL, RGB( 255,0,0 ) }, {NIL,NIL} ) }
+ oXbpColumn:colorBlock := {|x| iif( x < 40000, { NIL, RGB( 255,0,0 ) }, {NIL,NIL} ) }
//
oXbpBrowse:addColumn( oXbpColumn )
diff --git a/harbour/contrib/hbxbp/tests/xbpqtc.prg b/harbour/contrib/hbxbp/tests/xbpqtc.prg
index cf963f3762..5d6f495e64 100644
--- a/harbour/contrib/hbxbp/tests/xbpqtc.prg
+++ b/harbour/contrib/hbxbp/tests/xbpqtc.prg
@@ -185,7 +185,7 @@ STATIC FUNCTION Build_MenuBar( oDlg )
oMenuBar:addItem( { oSubMenu, NIL } )
//
oSubMenu:insItem( 2, { "This executes MsgBox()" , {|| MyFunctionXbp( 103 ) }, , XBPMENUBAR_MIA_CHECKED } )
- oSubMenu:itemMarked := {|mp1| IF( mp1 == 5, MsgBox( "WOW - ::itemMarked - Activated" ), NIL ) }
+ oSubMenu:itemMarked := {|mp1| iif( mp1 == 5, MsgBox( "WOW - ::itemMarked - Activated" ), NIL ) }
/* Menu colors are being honored in Harbour only */
oSubMenu:setColorBG( GraMakeRGBColor( { 134,128,250 } ) )
@@ -545,7 +545,7 @@ STATIC FUNCTION uiXtoS( xVar )
CASE cType == "D"
RETURN dtoc( xVar )
CASE cType == "L"
- RETURN IF( xVar, "Yes", "No" )
+ RETURN iif( xVar, "Yes", "No" )
CASE cType == "M"
RETURN xVar
CASE cType == "C"
@@ -587,7 +587,7 @@ STATIC FUNCTION PP_Debug( oXbp )
LOCAL s := ''
aeval( aPP, {|e_| s += ( hb_ntos( e_[ 1 ] ) +' '+ valtype( e_[ 2 ] ) +' '+ ;
- IF( valtype( e_[ 2 ] )=='N', hb_ntos( e_[ 2 ] ), ' ' ) + '; '+ CRLF ) } )
+ iif( valtype( e_[ 2 ] )=='N', hb_ntos( e_[ 2 ] ), ' ' ) + '; '+ CRLF ) } )
MsgBox( s )
diff --git a/harbour/contrib/hbxbp/xbpappevent.prg b/harbour/contrib/hbxbp/xbpappevent.prg
index eda4e7b5fc..54ea1aa209 100644
--- a/harbour/contrib/hbxbp/xbpappevent.prg
+++ b/harbour/contrib/hbxbp/xbpappevent.prg
@@ -509,7 +509,7 @@ FUNCTION hbxbp_QKeyEventToAppEvent( oKeyEvent )
c := xbeK_ ; EXIT
#endif
OTHERWISE
- IF( ( key >= 0 ) .and. ( key <= 255 ) )
+ IF key >= 0 .and. key <= 255
c := key
ENDIF
EXIT
@@ -1062,4 +1062,3 @@ FUNCTION hbxbp_appEventModifier( key )
ENDSWITCH
RETURN Qt_NoModifier
-
diff --git a/harbour/contrib/hbxbp/xbptreeview.prg b/harbour/contrib/hbxbp/xbptreeview.prg
index 2d377638b9..84dacec4e8 100644
--- a/harbour/contrib/hbxbp/xbptreeview.prg
+++ b/harbour/contrib/hbxbp/xbptreeview.prg
@@ -117,7 +117,7 @@ CLASS XbpTreeView INHERIT XbpWindow, DataRef
METHOD setColorBG( nRGB ) INLINE WVG_TreeView_SetBkColor( ::hWnd, nRGB )
METHOD setColorLines( nRGB ) INLINE WVG_TreeView_SetLineColor( ::hWnd, nRGB )
METHOD showExpanded( lExpanded, nLevels ) INLINE Wvg_TreeView_ShowExpanded( ::hWnd, ;
- IF( HB_ISNIL( lExpanded ), .f., lExpanded ), nLevels )
+ iif( HB_ISNIL( lExpanded ), .f., lExpanded ), nLevels )
#endif
ENDCLASS
diff --git a/harbour/contrib/xhb/hjwindow.prg b/harbour/contrib/xhb/hjwindow.prg
index 31d127bcf2..cee6d2a61b 100644
--- a/harbour/contrib/xhb/hjwindow.prg
+++ b/harbour/contrib/xhb/hjwindow.prg
@@ -94,13 +94,13 @@ CLASS TJsWindow
METHOD Paragraph() INLINE ::QOut( "
" )
- METHOD CENTER( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD CENTER( l ) INLINE ::QOut( iif( l, "", "" ) )
- METHOD bold( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD bold( l ) INLINE ::QOut( iif( l, "", "" ) )
- METHOD Italic( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD Italic( l ) INLINE ::QOut( iif( l, "", "" ) )
- METHOD ULine( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD ULine( l ) INLINE ::QOut( iif( l, "", "" ) )
METHOD Put()
@@ -245,7 +245,7 @@ METHOD SetFeatures( alwaysRaised, alwaysLowered, ;
cStr += "copyHistory=no,"
ENDIF
- ::features += IF( Empty( ::Features ), cStr + ",", cStr )
+ ::features += iif( Empty( ::Features ), cStr + ",", cStr )
RETURN Self
@@ -274,7 +274,7 @@ METHOD SetSize( x, y, h, w ) CLASS TJsWindow
cStr += "height=" + hb_ntos( ::height ) + ","
cStr += "width=" + hb_ntos( ::width )
- ::features += IF( Empty( ::Features ), cStr + ",", cStr )
+ ::features += iif( Empty( ::Features ), cStr + ",", cStr )
RETURN Self
diff --git a/harbour/contrib/xhb/hterrsys.prg b/harbour/contrib/xhb/hterrsys.prg
index 56f753751f..cce31bb453 100644
--- a/harbour/contrib/xhb/hterrsys.prg
+++ b/harbour/contrib/xhb/hterrsys.prg
@@ -203,7 +203,7 @@ STATIC FUNC ErrorMessage( e )
LOCAL cMessage := ""
// start error message
- cMessage += IF( e:severity > ES_WARNING, "Error ", "Warning " )
+ cMessage += iif( e:severity > ES_WARNING, "Error ", "Warning " )
// add subsystem name if available
IF HB_ISSTRING( e:subsystem )
diff --git a/harbour/contrib/xhb/htjlist.prg b/harbour/contrib/xhb/htjlist.prg
index 55a9ab8254..f5295c1a01 100644
--- a/harbour/contrib/xhb/htjlist.prg
+++ b/harbour/contrib/xhb/htjlist.prg
@@ -134,7 +134,7 @@ METHOD New( name, lOpen, width, height, bgColor, ;
cStr += "" //SPACE(10)
cStr += name + " = new List("
- cStr += IF( lOpen, "true,", "false," )
+ cStr += iif( lOpen, "true,", "false," )
cStr += hb_ntos( width ) + ","
cStr += hb_ntos( height ) + ","
cStr += '"' + BGCOLOR + '"' + ");" + CRLF()
@@ -161,7 +161,7 @@ METHOD NewNode( name, lOpen, width, height, bgColor ) CLASS TJsList
DEFAULT BGCOLOR TO "white"
cStr += "" //SPACE(10)
cStr += name + "= new List("
- cStr += IF( lOpen, "true,", "false," )
+ cStr += iif( lOpen, "true,", "false," )
cStr += hb_ntos( width ) + ","
cStr += hb_ntos( height ) + ","
cStr += '"' + BGCOLOR + '"' + ");" + CRLF()
@@ -230,7 +230,7 @@ METHOD AddLink( name, url, img, bgColor ) CLASS TJsList
DEFAULT url TO ""
DEFAULT img TO "webpage.jpg"
cUrl := "
" + htmlSpace( 2 ) + name + htmlSpace( 2 )
- cStr += ::cCurrentNode + '.addItem( "' + curl + '"' + IF( bgColor != NIL, ',"' + bgColor + '"', "" ) + ');' + CRLF()
+ cStr += ::cCurrentNode + '.addItem( "' + curl + '"' + iif( bgColor != NIL, ',"' + bgColor + '"', "" ) + ');' + CRLF()
::nItems ++
Aadd( ::aScript, cStr )
RETURN self
diff --git a/harbour/contrib/xhb/htmutil.prg b/harbour/contrib/xhb/htmutil.prg
index a14813f6b2..88fcb06c80 100644
--- a/harbour/contrib/xhb/htmutil.prg
+++ b/harbour/contrib/xhb/htmutil.prg
@@ -200,7 +200,7 @@ oHtm:endTable()
// --> put the formatted fields data...
FOR i := 1 TO Len( aFlds )
- cAlign := IF( aFlds[ i, 2 ] == "N", "RIGHT", "CENTER" )
+ cAlign := iif( aFlds[ i, 2 ] == "N", "RIGHT", "CENTER" )
oHtm:newTableCell( cAlign,,,, "black" )
oHtm:Write( greek2Html( htmlany2Str( Fieldget( i ) ) ) )
oHtm:EndTableCell()
@@ -274,7 +274,7 @@ oHtm:endTable()
FOR i := 1 TO oquery:fcount()
- cAlign := IF( oCurRow:FieldType( i ) == "N", "RIGHT", "CENTER" )
+ cAlign := iif( oCurRow:FieldType( i ) == "N", "RIGHT", "CENTER" )
oHtm:newTableCell( cAlign,,,, "black" )
oHtm:Write( greek2Html( htmlany2Str( oCurRow:FieldGet( i ) ) ) )
oHtm:EndTableCell()
@@ -338,13 +338,13 @@ Class JWindow
METHOD Paragraph() INLINE ::QOut( "" )
- METHOD CENTER( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD CENTER( l ) INLINE ::QOut( iif( l, "", "" ) )
- METHOD bold( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD bold( l ) INLINE ::QOut( iif( l, "", "" ) )
- METHOD Italic( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD Italic( l ) INLINE ::QOut( iif( l, "", "" ) )
- METHOD ULine( l ) INLINE ::QOut( If( l, "", "" ) )
+ METHOD ULine( l ) INLINE ::QOut( iif( l, "", "" ) )
METHOD Put()
@@ -495,7 +495,7 @@ METHOD SetFeatures( alwaysRaised, alwaysLowered, ;
cStr += "copyHistory=no,"
ENDIF
- ::features += IF( Empty( ::Features ), cStr + ",", cStr )
+ ::features += iif( Empty( ::Features ), cStr + ",", cStr )
RETURN Self
@@ -526,7 +526,7 @@ METHOD SetSize( x, y, h, w ) Class JWindow
cStr += "height=" + hb_ntos( ::height ) + ","
cStr += "width=" + hb_ntos( ::width )
- ::features += IF( Empty( ::Features ), cStr + ",", cStr )
+ ::features += iif( Empty( ::Features ), cStr + ",", cStr )
RETURN Self
diff --git a/harbour/contrib/xhb/ttable.prg b/harbour/contrib/xhb/ttable.prg
index de5d67ca91..446c1eb98b 100644
--- a/harbour/contrib/xhb/ttable.prg
+++ b/harbour/contrib/xhb/ttable.prg
@@ -660,7 +660,7 @@ CLASS HBTable
METHOD goTop() INLINE ( ::Alias )->( DBGOTOP() )
METHOD goBottom() INLINE ( ::Alias )->( DBGOBOTTOM() )
METHOD SetFocus() INLINE ( ::Alias )->( SELECT( ::ALias ) )
- METHOD Append( l ) INLINE IF( ::isNet, ( ::Alias )->( NetAppend( l ) ), ;
+ METHOD Append( l ) INLINE iif( ::isNet, ( ::Alias )->( NetAppend( l ) ), ;
( ::alias )->( DBAPPEND() ) )
METHOD RECALL( ) INLINE ( ::Alias )->( NetRecall( ) )
@@ -758,7 +758,7 @@ CLASS HBTable
METHOD DBFILTER() INLINE ( ::Alias )->( DBFILTER() )
METHOD SetFilter( c ) INLINE ;
- IF( c != NIL, ( ::Alias )->( DBSETFILTER( hb_macroBlock( c ), c ) ), ;
+ iif( c != NIL, ( ::Alias )->( DBSETFILTER( hb_macroBlock( c ), c ) ), ;
( ::Alias )->( DBCLEARFILTER() ) )
METHOD AddChild( oChild, cKey )
@@ -1087,7 +1087,7 @@ METHOD __oTDelete( lKeepBuffer ) // ::Delete()
::Read()
IF ::isNet
- lRet := IF( ( ::Alias )->( NetDelete() ), .T., .F. )
+ lRet := iif( ( ::Alias )->( NetDelete() ), .T., .F. )
ELSE
( ::alias )->( DBDELETE() ) ; lRet := .T.
ENDIF
@@ -1428,7 +1428,7 @@ RETURN
STATIC FUNCTION FixExt( cFileName )
LOCAL nLeft := AT( ".", cFilename )
-RETURN LEFT( cFileName, IF( nLeft == 0, ;
+RETURN LEFT( cFileName, iif( nLeft == 0, ;
LEN( cFilename ), ;
nLeft - 1 ) )
@@ -1467,7 +1467,7 @@ METHOD OnError( uParam ) CLASS HBTable
nPos := (::Alias)->( FieldPos(cMsg) )
if nPos != 0
- uRet := (::Alias)->( if(uParam == nil, FieldGet(nPos), FieldPut(nPos, uParam)) )
+ uRet := (::Alias)->( iif( uParam == nil, FieldGet(nPos), FieldPut(nPos, uParam)) )
else
oErr := ErrorNew()
diff --git a/harbour/contrib/xhb/xhberr.prg b/harbour/contrib/xhb/xhberr.prg
index 07df7572ec..a9585637c2 100644
--- a/harbour/contrib/xhb/xhberr.prg
+++ b/harbour/contrib/xhb/xhberr.prg
@@ -250,7 +250,7 @@ STATIC FUNCTION ErrorMessage( oError )
LOCAL cMessage
// start error message
- cMessage := Iif( oError:severity > ES_WARNING, "Error", "Warning" ) + " "
+ cMessage := iif( oError:severity > ES_WARNING, "Error", "Warning" ) + " "
// add subsystem name if available
If HB_ISSTRING( oError:subsystem )
@@ -355,7 +355,7 @@ STATIC FUNCTION LogError( oerr )
FWriteLine( nHandle, "xHarbour built on..: " + hb_builddate() )
FWriteLine( nHandle, "C/C++ compiler.....: " + hb_compiler() )
- FWriteLine( nHandle, "Multi Threading....: " + If( hb_mtvm(),"YES","NO" ) )
+ FWriteLine( nHandle, "Multi Threading....: " + iif( hb_mtvm(),"YES","NO" ) )
FWriteLine( nHandle, "VM Optimization....: " + strvalue( Hb_VmMode() ) )
IF hb_IsFunction( "Select" )
@@ -577,11 +577,11 @@ STATIC FUNCTION LogError( oerr )
* cVarName := Left( nMemWidth, At( Chr( 0 ), nMemWidth ) - 1 )
* cVarType := Substr( nMemWidth, 12, 1 )
* cVarRec := Bin2w( Right( nMemWidth, 2 ) )
- * nMemCount := If( cVarType IN Chr( 195 ) + Chr( 204 ), 14 + cVarRec, 22 )
+ * nMemCount := iif( cVarType IN Chr( 195 ) + Chr( 204 ), 14 + cVarRec, 22 )
* Fseek( nMemHandle, nMemCount, 1 )
* cTemp := Left( cVarName + Space( 10 ), 10 )
* cTemp += " TYPE " + Type( cVarName )
- * cTemp += " " + If( Type( cVarName ) == "C", '"' + &cVarName + '"', strvalue( &cVarName ) )
+ * cTemp += " " + iif( Type( cVarName ) == "C", '"' + &cVarName + '"', strvalue( &cVarName ) )
* nBytes := 0
* Switch ValType( cVarName )
* Case "C"
diff --git a/harbour/extras/gtwvw/tests/cbtest6.prg b/harbour/extras/gtwvw/tests/cbtest6.prg
index 843844f1b6..d52cd59bc6 100644
--- a/harbour/extras/gtwvw/tests/cbtest6.prg
+++ b/harbour/extras/gtwvw/tests/cbtest6.prg
@@ -46,7 +46,7 @@ MEMVAR __nCBid__,__temp__
NIL,NIL,s_nCB_Kbd,NIL); ;
AADD(s_aComboList, {__nCBid__, <"var"> }); ;
__temp__ := wvw_cbFindString(NIL, __nCBid__, ); ;
- if(__temp__>=0, wvw_cbSetIndex(NIL, __nCBid__, __temp__),NIL); ;
+ iif(__temp__>=0, wvw_cbSetIndex(NIL, __nCBid__, __temp__),NIL); ;
setpos(,); ;
AAdd(GetList,_GET_(,<"var">,repl("X",),,) ) ; ;
ATAIL(GetList):cargo := __nCBid__; ;
diff --git a/harbour/extras/guestbk/cgi.ch b/harbour/extras/guestbk/cgi.ch
index 11a71c7b40..54441ad5d8 100644
--- a/harbour/extras/guestbk/cgi.ch
+++ b/harbour/extras/guestbk/cgi.ch
@@ -2,19 +2,15 @@
* $Id$
*/
-//+
-// 99.05.31 initial posting.
-//-
-
-#define CGI_SERVER_SOFTWARE 01
-#define CGI_SERVER_NAME 02
-#define CGI_GATEWAY_INTERFACE 03
-#define CGI_SERVER_PROTOCOL 04
-#define CGI_SERVER_PORT 05
-#define CGI_REQUEST_METHOD 06
-#define CGI_HTTP_ACCEPT 07
-#define CGI_HTTP_USER_AGENT 08
-#define CGI_HTTP_REFERER 09
+#define CGI_SERVER_SOFTWARE 1
+#define CGI_SERVER_NAME 2
+#define CGI_GATEWAY_INTERFACE 3
+#define CGI_SERVER_PROTOCOL 4
+#define CGI_SERVER_PORT 5
+#define CGI_REQUEST_METHOD 6
+#define CGI_HTTP_ACCEPT 7
+#define CGI_HTTP_USER_AGENT 8
+#define CGI_HTTP_REFERER 9
#define CGI_PATH_INFO 10
#define CGI_PATH_TRANSLATED 11
#define CGI_SCRIPT_NAME 12
diff --git a/harbour/extras/guestbk/guestbk.prg b/harbour/extras/guestbk/guestbk.prg
index 4634fcb90b..45159dd44e 100644
--- a/harbour/extras/guestbk/guestbk.prg
+++ b/harbour/extras/guestbk/guestbk.prg
@@ -70,22 +70,22 @@ FUNCTION Main()
// Reads all "Header" fields from CGI
FOR i := 1 TO oIni:ReadNumber( "Header", "DataFields", 0 )
- cField := oIni:ReadString( "Header", "DataField"+ltrim(str(i)), "" )
- oIni:WriteString( "Entries", cField + ltrim(str(nEntry)), ;
- strtran( strtran( oHTML:QueryFields( cField ), chr(10), "" ), chr(13), "
" ) )
+ cField := oIni:ReadString( "Header", "DataField" + hb_ntos( i ), "" )
+ oIni:WriteString( "Entries", cField + hb_ntos( nEntry ), ;
+ StrTran( StrTran( oHTML:QueryFields( cField ), Chr( 10 ), "" ), Chr( 13 ), "
" ) )
NEXT
// Write fields to .ini file
- oIni:WriteString( "Entries", "DateTime" + ltrim(str(nEntry)), ;
- cmonth( date() ) + " " + ltrim(str(day(date()))) + ", " + ;
- ltrim(str(year(date()))) + " " + time() )
+ oIni:WriteString( "Entries", "DateTime" + hb_ntos( nEntry ), ;
+ CMonth( Date() ) + " " + hb_ntos( Day( Date() ) ) + ", " + ;
+ hb_ntos( Year( Date() ) ) + " " + Time() )
oIni:UpdateFile()
- oHTML:cContent := '' + ;
- ''
+ oHTML:cContent := '' + ;
+ ''
oHTML:ShowResult()
@@ -111,13 +111,13 @@ FUNCTION Main()
FOR j := 1 TO oIni:ReadNumber( "Header", "DataFields", 0 )
- cField := oIni:ReadString( "Header", "DataField" + ltrim( str(j) ), "" )
- aadd( aLine, { cField, ;
- oIni:ReadString( "Entries", cField + ltrim( str(i) ), "" ) } )
+ cField := oIni:ReadString( "Header", "DataField" + hb_ntos( j ), "" )
+ AAdd( aLine, { cField, ;
+ oIni:ReadString( "Entries", cField + hb_ntos( i ), "" ) } )
NEXT
- aadd( aEntries, aLine )
+ AAdd( aEntries, aLine )
i--
@@ -126,29 +126,29 @@ FUNCTION Main()
cCode := ""
// Formats each line according to the INI file
- FOR i := 1 TO len( aEntries )
+ FOR i := 1 TO Len( aEntries )
- cCode += "" + chr(13) + chr(10)
+ cCode += "" + Chr( 13 ) + Chr( 10 )
cColor := iif( Mod( i, 2 ) == 0, cEvenColor, cOddColor )
FOR j := 1 TO oIni:ReadNumber( "Format", "FormatLines", 0 )
- cCode += "| "
+ cCode += " |
| "
- cLine := oIni:ReadString( "Format", "Format" + ltrim(str(j)), "" )
- FOR l := 1 TO len( aEntries[i] )
- cLine := strtran( cLine, "<#" + aEntries[i,l,1] + ">", ;
- aEntries[i,l,2] )
+ cLine := oIni:ReadString( "Format", "Format" + hb_ntos( j ), "" )
+ FOR l := 1 TO Len( aEntries[ i ] )
+ cLine := StrTran( cLine, "<#" + aEntries[ i, l, 1 ] + ">", ;
+ aEntries[ i, l, 2 ] )
NEXT
- cLine := strtran( cLine, "<#DateTime>", ;
- oIni:ReadString( "Entries", "DateTime" + ltrim(str(len(aEntries)-i+1)), "" ) )
+ cLine := StrTran( cLine, "<#DateTime>", ;
+ oIni:ReadString( "Entries", "DateTime" + hb_ntos( Len(aEntries ) - i + 1 ), "" ) )
- cCode += cLine + " |
" + chr(13)+chr(10)
+ cCode += cLine + "" + Chr( 13 ) + Chr( 10 )
NEXT
- cCode += "
" + chr(13)+chr(10)
+ cCode += "
" + Chr( 13 ) + Chr( 10 )
NEXT
diff --git a/harbour/extras/guestbk/guestbk.txt b/harbour/extras/guestbk/guestbk.txt
index ebd3a0592e..b5c60c0264 100644
--- a/harbour/extras/guestbk/guestbk.txt
+++ b/harbour/extras/guestbk/guestbk.txt
@@ -1,3 +1,7 @@
+/*
+ * $Id$
+ */
+
Harbour Guestbook
Felipe Coury
@@ -17,8 +21,8 @@ The best thing about this guestbook is its highly
configurable architecture. Please review guestbk.ini
for configuration options and further explanation.
-That's it !!!
+That's it!
PS: If you don't have a WebServer, I will be pleased to
demonstrate it to you. Just contact me via ICQ, my
-UIN is #19504786. Thanks!!!
+UIN is #19504786. Thanks!
diff --git a/harbour/extras/guestbk/inifiles.prg b/harbour/extras/guestbk/inifiles.prg
index db814c6359..b5cf6467a1 100644
--- a/harbour/extras/guestbk/inifiles.prg
+++ b/harbour/extras/guestbk/inifiles.prg
@@ -2,10 +2,11 @@
* $Id$
*/
-function TIniFile()
- static oClass
+FUNCTION TIniFile()
- if oClass == nil
+ STATIC oClass
+
+ IF oClass == nil
oClass := HBClass():New( "TINIFILE" ) // starts a new class definition
oClass:AddData( "FileName" ) // define this class objects datas
@@ -27,284 +28,307 @@ function TIniFile()
oClass:AddMethod( "UpdateFile", @UpdateFile() )
oClass:Create() // builds this class
- endif
-return oClass:Instance() // builds an object of this class
+ ENDIF
-static function New(cFileName)
- local Self := QSelf()
- local Done, hFile, cFile, cLine, cIdent, nPos
- local CurrArray
+ RETURN oClass:Instance() // builds an object of this class
- if empty(cFileName)
+STATIC FUNCTION New( cFileName )
+
+ LOCAL Self := QSelf()
+ LOCAL Done, hFile, cFile, cLine, cIdent, nPos
+ LOCAL CurrArray
+
+ IF Empty( cFileName )
// raise an error?
- outerr("No filename passed to TIniFile():New()")
- return nil
+ OutErr( "No filename passed to TIniFile():New()" )
+ RETURN nil
- else
+ ELSE
::FileName := cFilename
::Contents := {}
CurrArray := ::Contents
- if File(cFileName)
- hFile := fopen(cFilename, 0)
-
- else
- hFile := fcreate(cFilename)
- endif
+ IF File( cFileName )
+ hFile := FOpen( cFilename, 0 )
+ ELSE
+ hFile := FCreate( cFilename )
+ ENDIF
cLine := ""
- Done := .f.
- while !Done
- cFile := space(256)
- Done := (fread(hFile, @cFile, 256) <= 0)
+ Done := .F.
+ WHILE ! Done
+ cFile := Space( 256 )
+ Done := ( FRead( hFile, @cFile, 256 ) <= 0 )
- cFile := strtran(cFile, chr(10), "") // so we can just search for CHR(13)
+ cFile := StrTran( cFile, Chr( 10 ), "" ) // so we can just search for CHR(13)
// prepend last read
cFile := cLine + cFile
- while !empty(cFile)
- if (nPos := at(chr(13), cFile)) > 0
- cLine := left(cFile, nPos - 1)
- cFile := substr(cFile, nPos + 1)
+ WHILE ! Empty( cFile )
+ IF ( nPos := At( Chr(13 ), cFile ) ) > 0
+ cLine := Left( cFile, nPos - 1 )
+ cFile := SubStr( cFile, nPos + 1 )
- if !empty(cLine)
- if Left(cLine, 1) == "[" // new section
- if (nPos := At("]", cLine)) > 1
- cLine := substr(cLine, 2, nPos - 2);
+ IF ! Empty( cLine )
+ IF Left( cLine, 1 ) == "[" // new section
+ IF ( nPos := At( "]", cLine ) ) > 1
+ cLine := SubStr( cLine, 2, nPos - 2 )
+ ELSE
+ cLine := SubStr( cLine, 2 )
+ ENDIF
- else
- cLine := substr(cLine, 2)
- endif
+ AAdd( ::Contents, { cLine, { /* this will be CurrArray */ } } )
+ CurrArray := ::Contents[ Len( ::Contents ) ][ 2 ]
- AAdd(::Contents, { cLine, { /* this will be CurrArray */ } } )
- CurrArray := ::Contents[Len(::Contents)][2]
-
- elseif Left(cLine, 1) == ";" // preserve comments
+ ELSEIF Left( cLine, 1 ) == ";" // preserve comments
AAdd( CurrArray, { NIL, cLine } )
- else
- if (nPos := At("=", cLine)) > 0
- cIdent := Left(cLine, nPos - 1)
- cLine := SubStr(cLine, nPos + 1)
+ ELSE
+ IF ( nPos := At( "=", cLine ) ) > 0
+ cIdent := Left( cLine, nPos - 1 )
+ cLine := SubStr( cLine, nPos + 1 )
AAdd( CurrArray, { cIdent, cLine } )
- else
+ ELSE
AAdd( CurrArray, { cLine, "" } )
- endif
- endif
+ ENDIF
+ ENDIF
cLine := "" // to stop prepend later on
- endif
+ ENDIF
- else
+ ELSE
cLine := cFile
cFile := ""
- endif
+ ENDIF
end
end
- fclose(hFile)
- endif
-return Self
+ FClose( hFile )
+ ENDIF
-static function ReadString(cSection, cIdent, cDefault)
- local Self := QSelf()
- local cResult := cDefault
- local i, j, cFind
+ RETURN Self
- if Empty(cSection)
- cFind := lower(cIdent)
- j := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cFind .and. HB_ISSTRING(x[2]) } )
+STATIC FUNCTION ReadString( cSection, cIdent, cDefault )
- if j > 0
- cResult := ::Contents[j][2]
- endif
+ LOCAL Self := QSelf()
+ LOCAL cResult := cDefault
+ LOCAL i, j, cFind
- else
- cFind := lower(cSection)
- i := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cFind} )
+ IF Empty( cSection )
+ cFind := Lower( cIdent )
+ j := AScan( ::Contents, {| x | HB_ISSTRING( x[ 1 ] ) .AND. Lower( x[ 1 ] ) == cFind .AND. HB_ISSTRING( x[ 2 ] ) } )
- if i > 0
- cFind := lower(cIdent)
- j := AScan( ::Contents[i][2], {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cFind} )
+ IF j > 0
+ cResult := ::Contents[ j ][ 2 ]
+ ENDIF
- if j > 0
- cResult := ::Contents[i][2][j][2]
- endif
- endif
- endif
-return cResult
+ ELSE
+ cFind := Lower( cSection )
+ i := AScan( ::Contents, {| x | HB_ISSTRING( x[ 1 ] ) .AND. Lower( x[ 1 ] ) == cFind } )
-static procedure WriteString(cSection, cIdent, cString)
- local Self := QSelf()
- local i, j, cFind
+ IF i > 0
+ cFind := Lower( cIdent )
+ j := AScan( ::Contents[ i ][ 2 ], {| x | HB_ISSTRING( x[ 1 ] ) .AND. Lower( x[ 1 ] ) == cFind } )
- if Empty(cIdent)
- outerr("Must specify an identifier")
+ IF j > 0
+ cResult := ::Contents[ i ][ 2 ][ j ][ 2 ]
+ ENDIF
+ ENDIF
+ ENDIF
- elseif Empty(cSection)
- cFind := lower(cIdent)
- j := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cFind .and. HB_ISSTRING(x[2]) } )
+ RETURN cResult
- if j > 0
- ::Contents[j][2] := cString
+STATIC PROCEDURE WriteString( cSection, cIdent, cString )
- else
- AAdd(::Contents, nil)
- AIns(::Contents, 1)
- ::Contents[1] := {cIdent, cString}
- endif
+ LOCAL Self := QSelf()
+ LOCAL i, j, cFind
- else
- cFind := lower(cSection)
- if (i := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cFind .and. HB_ISARRAY(x[2]) })) > 0
- cFind := lower(cIdent)
- j := AScan( ::Contents[i][2], {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cFind} )
+ IF Empty( cIdent )
+ OutErr( "Must specify an identifier" )
- if j > 0
- ::Contents[i][2][j][2] := cString
+ ELSEIF Empty( cSection )
+ cFind := Lower( cIdent )
+ j := AScan( ::Contents, {| x | HB_ISSTRING( x[ 1 ] ) .AND. Lower( x[ 1 ] ) == cFind .AND. HB_ISSTRING( x[ 2 ] ) } )
- else
- AAdd( ::Contents[i][2], {cIdent, cString} )
- endif
+ IF j > 0
+ ::Contents[ j ][ 2 ] := cString
+ ELSE
+ AAdd( ::Contents, nil )
+ AIns( ::Contents, 1 )
+ ::Contents[ 1 ] := { cIdent, cString }
+ ENDIF
- else
- AAdd( ::Contents, {cSection, {{cIdent, cString}}} )
- endif
- endif
-return
+ ELSE
+ cFind := Lower( cSection )
+ IF ( i := AScan( ::Contents, {| x | HB_ISSTRING(x[ 1 ] ) .AND. Lower(x[ 1 ] ) == cFind .AND. HB_ISARRAY(x[ 2 ] ) } ) ) > 0
+ cFind := Lower( cIdent )
+ j := AScan( ::Contents[ i ][ 2 ], {| x | HB_ISSTRING( x[ 1 ] ) .AND. Lower( x[ 1 ] ) == cFind } )
-static function ReadNumber(cSection, cIdent, nDefault)
- local Self := QSelf()
-return Val( ::ReadString(cSection, cIdent, str(nDefault)) )
+ IF j > 0
+ ::Contents[ i ][ 2 ][ j ][ 2 ] := cString
+ ELSE
+ AAdd( ::Contents[ i ][ 2 ], { cIdent, cString } )
+ ENDIF
-static procedure WriteNumber(cSection, cIdent, nNumber)
- local Self := QSelf()
+ ELSE
+ AAdd( ::Contents, { cSection, { {cIdent, cString} } } )
+ ENDIF
+ ENDIF
- ::WriteString( cSection, cIdent, alltrim(str(nNumber)) )
-return
+ RETURN
-static function ReadDate(cSection, cIdent, dDefault)
- local Self := QSelf()
-return SToD( ::ReadString(cSection, cIdent, DToS(dDefault)) )
+STATIC FUNCTION ReadNumber( cSection, cIdent, nDefault )
-static procedure WriteDate(cSection, cIdent, dDate)
- local Self := QSelf()
+ LOCAL Self := QSelf()
- ::WriteString( cSection, cIdent, DToS(dDate) )
-return
+ RETURN Val( ::ReadString( cSection, cIdent, Str(nDefault ) ) )
-static function ReadBool(cSection, cIdent, lDefault)
- local Self := QSelf()
- local cDefault := Iif( lDefault, ".t.", ".f." )
+STATIC PROCEDURE WriteNumber( cSection, cIdent, nNumber )
-return ::ReadString(cSection, cIdent, cDefault) == ".t."
+ LOCAL Self := QSelf()
-static procedure WriteBool(cSection, cIdent, lBool)
- local Self := QSelf()
+ ::WriteString( cSection, cIdent, hb_ntos( nNumber ) )
- ::WriteString( cSection, cIdent, Iif(lBool, ".t.", ".f.") )
-return
+ RETURN
-static procedure DeleteKey(cSection, cIdent)
- local Self := QSelf()
- local i, j
+STATIC FUNCTION ReadDate( cSection, cIdent, dDefault )
- cSection := lower(cSection)
- i := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cSection} )
+ LOCAL Self := QSelf()
- if i > 0
- cIdent := lower(cIdent)
- j := AScan( ::Contents[i][2], {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cIdent} )
+ RETURN SToD( ::ReadString( cSection, cIdent, DToS(dDefault ) ) )
- ADel( ::Contents[i][2], j )
- ASize( ::Contents[i][2], Len(::Contents[i][2]) - 1 )
- endif
-return
+STATIC PROCEDURE WriteDate( cSection, cIdent, dDate )
-static procedure EraseSection(cSection)
- local Self := QSelf()
- local i
+ LOCAL Self := QSelf()
- if Empty(cSection)
- while (i := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. HB_ISSTRING(x[2]) })) > 0
+ ::WriteString( cSection, cIdent, DToS( dDate ) )
+
+ RETURN
+
+STATIC FUNCTION ReadBool( cSection, cIdent, lDefault )
+
+ LOCAL Self := QSelf()
+ LOCAL cDefault := iif( lDefault, ".t.", ".f." )
+
+ RETURN ::ReadString( cSection, cIdent, cDefault ) == ".t."
+
+STATIC PROCEDURE WriteBool( cSection, cIdent, lBool )
+
+ LOCAL Self := QSelf()
+
+ ::WriteString( cSection, cIdent, iif( lBool, ".t.", ".f." ) )
+
+ RETURN
+
+STATIC PROCEDURE DeleteKey( cSection, cIdent )
+
+ LOCAL Self := QSelf()
+ LOCAL i, j
+
+ cSection := Lower( cSection )
+ i := AScan( ::Contents, {| x | HB_ISSTRING( x[ 1 ] ) .AND. Lower( x[ 1 ] ) == cSection } )
+
+ IF i > 0
+ cIdent := Lower( cIdent )
+ j := AScan( ::Contents[ i ][ 2 ], {| x | HB_ISSTRING( x[ 1 ] ) .AND. Lower( x[ 1 ] ) == cIdent } )
+
+ ADel( ::Contents[ i ][ 2 ], j )
+ ASize( ::Contents[ i ][ 2 ], Len( ::Contents[ i ][ 2 ] ) - 1 )
+ ENDIF
+
+ RETURN
+
+STATIC PROCEDURE EraseSection( cSection )
+
+ LOCAL Self := QSelf()
+ LOCAL i
+
+ IF Empty( cSection )
+ WHILE ( i := AScan( ::Contents, {| x | HB_ISSTRING(x[ 1 ] ) .AND. HB_ISSTRING(x[ 2 ] ) } ) ) > 0
ADel( ::Contents, i )
- ASize( ::Contents, len(::Contents) - 1 )
+ ASize( ::Contents, Len( ::Contents ) - 1 )
end
- else
- cSection := lower(cSection)
- if (i := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. lower(x[1]) == cSection .and. HB_ISARRAY(x[2]) })) > 0
+ ELSE
+ cSection := Lower( cSection )
+ IF ( i := AScan( ::Contents, {| x | HB_ISSTRING(x[ 1 ] ) .AND. Lower(x[ 1 ] ) == cSection .AND. HB_ISARRAY(x[ 2 ] ) } ) ) > 0
ADel( ::Contents, i )
- ASize( ::Contents, Len(::Contents) - 1 )
- endif
- endif
-return
+ ASize( ::Contents, Len( ::Contents ) - 1 )
+ ENDIF
+ ENDIF
-static function ReadSection(cSection)
- local Self := QSelf()
- local i, j, aSection := {}
+ RETURN
- if Empty(cSection)
- for i := 1 to len(::Contents)
- if HB_ISSTRING(::Contents[i][1]) .and. HB_ISSTRING(::Contents[i][2])
- aadd(aSection, ::Contents[i][1])
- endif
- next
+STATIC FUNCTION ReadSection( cSection )
- else
- cSection := lower(cSection)
- if (i := AScan( ::Contents, {|x| HB_ISSTRING(x[1]) .and. x[1] == cSection .and. HB_ISARRAY(x[2]) })) > 0
+ LOCAL Self := QSelf()
+ LOCAL i, j, aSection := {}
- for j := 1 to Len(::Contents[i][2])
+ IF Empty( cSection )
+ FOR i := 1 TO Len( ::Contents )
+ IF HB_ISSTRING( ::Contents[ i ][ 1 ] ) .AND. HB_ISSTRING( ::Contents[ i ][ 2 ] )
+ AAdd( aSection, ::Contents[ i ][ 1 ] )
+ ENDIF
+ NEXT
- if ::Contents[i][2][j][1] != NIL
- AAdd(aSection, ::Contents[i][2][j][1])
- endif
- next
- endif
- endif
-return aSection
+ ELSE
+ cSection := Lower( cSection )
+ IF ( i := AScan( ::Contents, {| x | HB_ISSTRING(x[ 1 ] ) .AND. x[ 1 ] == cSection .AND. HB_ISARRAY(x[ 2 ] ) } ) ) > 0
-static function ReadSections()
- local Self := QSelf()
- local i, aSections := {}
+ FOR j := 1 TO Len( ::Contents[ i ][ 2 ] )
- for i := 1 to Len(::Contents)
+ IF ::Contents[ i ][ 2 ][ j ][ 1 ] != NIL
+ AAdd( aSection, ::Contents[ i ][ 2 ][ j ][ 1 ] )
+ ENDIF
+ NEXT
+ ENDIF
+ ENDIF
- if HB_ISARRAY(::Contents[i][2])
- AAdd(aSections, ::Contents[i][1])
- endif
- next
-return aSections
+ RETURN aSection
-static procedure UpdateFile()
- local Self := QSelf()
- local i, j, hFile
+STATIC FUNCTION ReadSections()
- hFile := fcreate(::Filename)
+ LOCAL Self := QSelf()
+ LOCAL i, aSections := {}
- for i := 1 to Len(::Contents)
- if ::Contents[i][1] == NIL
- fwrite(hFile, ::Contents[i][2] + Chr(13) + Chr(10))
+ FOR i := 1 TO Len( ::Contents )
- elseif HB_ISARRAY(::Contents[i][2])
- fwrite(hFile, "[" + ::Contents[i][1] + "]" + Chr(13) + Chr(10))
- for j := 1 to Len(::Contents[i][2])
+ IF HB_ISARRAY( ::Contents[ i ][ 2 ] )
+ AAdd( aSections, ::Contents[ i ][ 1 ] )
+ ENDIF
+ NEXT
- if ::Contents[i][2][j][1] == NIL
- fwrite(hFile, ::Contents[i][2][j][2] + Chr(13) + Chr(10))
+ RETURN aSections
- else
- fwrite(hFile, ::Contents[i][2][j][1] + "=" + ::Contents[i][2][j][2] + Chr(13) + Chr(10))
- endif
- next
- fwrite(hFile, Chr(13) + Chr(10))
+STATIC PROCEDURE UpdateFile()
- elseif HB_ISSTRING(::Contents[i][2])
- fwrite(hFile, ::Contents[i][1] + "=" + ::Contents[i][2] + Chr(13) + Chr(10))
+ LOCAL Self := QSelf()
+ LOCAL i, j, hFile
- endif
- next
- fclose(hFile)
-return
+ hFile := FCreate( ::Filename )
+
+ FOR i := 1 TO Len( ::Contents )
+ if ::Contents[ i ][ 1 ] == NIL
+ FWrite( hFile, ::Contents[ i ][ 2 ] + Chr( 13 ) + Chr( 10 ) )
+
+ ELSEIF HB_ISARRAY( ::Contents[ i ][ 2 ] )
+ FWrite( hFile, "[" + ::Contents[ i ][ 1 ] + "]" + Chr( 13 ) + Chr( 10 ) )
+ FOR j := 1 TO Len( ::Contents[ i ][ 2 ] )
+
+ if ::Contents[ i ][ 2 ][ j ][ 1 ] == NIL
+ FWrite( hFile, ::Contents[ i ][ 2 ][ j ][ 2 ] + Chr( 13 ) + Chr( 10 ) )
+ ELSE
+ FWrite( hFile, ::Contents[ i ][ 2 ][ j ][ 1 ] + "=" + ::Contents[ i ][ 2 ][ j ][ 2 ] + Chr( 13 ) + Chr( 10 ) )
+ ENDIF
+ NEXT
+ FWrite( hFile, Chr( 13 ) + Chr( 10 ) )
+
+ ELSEIF HB_ISSTRING( ::Contents[ i ][ 2 ] )
+ FWrite( hFile, ::Contents[ i ][ 1 ] + "=" + ::Contents[ i ][ 2 ] + Chr( 13 ) + Chr( 10 ) )
+
+ ENDIF
+ NEXT
+ FClose( hFile )
+
+ RETURN
diff --git a/harbour/extras/hbapollo/fblock.prg b/harbour/extras/hbapollo/fblock.prg
index 73fb2599e2..66c191e717 100644
--- a/harbour/extras/hbapollo/fblock.prg
+++ b/harbour/extras/hbapollo/fblock.prg
@@ -25,4 +25,4 @@
FUNCTION sx_FieldBlock( cFieldName )
- RETURN {| arg | if( arg == NIL, sx_GetValue( cFieldName ), sx_Replace( cFieldName, arg ) ) }
+ RETURN {| arg | iif( arg == NIL, sx_GetValue( cFieldName ), sx_Replace( cFieldName, arg ) ) }
diff --git a/harbour/extras/hbapollo/tests/test45.prg b/harbour/extras/hbapollo/tests/test45.prg
index 60bc67668a..1d9458702b 100644
--- a/harbour/extras/hbapollo/tests/test45.prg
+++ b/harbour/extras/hbapollo/tests/test45.prg
@@ -45,7 +45,7 @@ PROCEDURE MAIN()
? 'sxApi way ...'
?
? "TEST" $ sx_GetValue( "MYCHAR" )
- ? IF( sx_GetValue( "MYLOGIC" ), "TRUE", "FALSE" )
+ ? iif( sx_GetValue( "MYLOGIC" ), "TRUE", "FALSE" )
? sx_GetValue( "MYNUMBER1" ) + sx_GetValue( "MYNUMBER2" )
? sx_GetValue( "MYDATE" ) + 30
?
diff --git a/harbour/extras/hbxlsxml/xlsxml_y.prg b/harbour/extras/hbxlsxml/xlsxml_y.prg
index 468c73c073..de85bca888 100644
--- a/harbour/extras/hbxlsxml/xlsxml_y.prg
+++ b/harbour/extras/hbxlsxml/xlsxml_y.prg
@@ -203,7 +203,7 @@ METHOD ExcelWriterXML_Style:getStyleXML()
ENDIF
ENDIF
- IF( ::useFont )
+ IF ::useFont
IF ! empty( ::fontColor )
fontColor := 'ss:Color="' + ::fontColor + '"'
ENDIF
diff --git a/harbour/extras/httpsrv/cgifunc.prg b/harbour/extras/httpsrv/cgifunc.prg
index 9fe71a80e0..f98f43c287 100644
--- a/harbour/extras/httpsrv/cgifunc.prg
+++ b/harbour/extras/httpsrv/cgifunc.prg
@@ -680,23 +680,23 @@ STATIC FUNCTION FT_ELAPSED(dStart, dEnd, cTimeStart, cTimeEnd)
dEnd := DATE()
ENDIF
- IF( VALTYPE(cTimeStart) != 'C', cTimeStart := '00:00:00', )
- IF( VALTYPE(cTimeEnd) != 'C', cTimeEnd := '00:00:00', )
+ iif( VALTYPE(cTimeStart) != 'C', cTimeStart := '00:00:00', )
+ iif( VALTYPE(cTimeEnd) != 'C', cTimeEnd := '00:00:00', )
nTotalSec := (dEnd - dStart) * 86400 + ;
VAL(cTimeEnd) * 3600 + ;
VAL(SUBSTR(cTimeEnd,AT(':', cTimeEnd)+1,2)) * 60 + ;
- IF(RAT(':', cTimeEnd) == AT(':', cTimeEnd), 0, ;
+ iif(RAT(':', cTimeEnd) == AT(':', cTimeEnd), 0, ;
VAL(SUBSTR(cTimeEnd,RAT(':', cTimeEnd)+1))) - ;
VAL(cTimeStart) * 3600 - ;
VAL(SUBSTR(cTimeStart,AT(':', cTimeStart)+1,2)) * 60 - ;
- IF(RAT(':', cTimeStart) == AT(':', cTimeStart), 0, ;
+ iif(RAT(':', cTimeStart) == AT(':', cTimeStart), 0, ;
VAL(SUBSTR(cTimeStart,RAT(':', cTimeStart)+1)))
nTemp := nTotalSec
FOR nCtr := 1 to 4
- nConstant := IF(nCtr == 1, 86400, IF(nCtr == 2, 3600, IF( nCtr == 3, 60, 1)))
+ nConstant := iif(nCtr == 1, 86400, iif(nCtr == 2, 3600, iif( nCtr == 3, 60, 1)))
aRetVal[nCtr,1] := INT(nTemp/nConstant)
aRetval[nCtr,2] := nTotalSec / nConstant
nTemp -= aRetVal[nCtr,1] * nConstant
diff --git a/harbour/extras/httpsrv/session.prg b/harbour/extras/httpsrv/session.prg
index 67dd4315ba..a07de7d4d6 100644
--- a/harbour/extras/httpsrv/session.prg
+++ b/harbour/extras/httpsrv/session.prg
@@ -751,23 +751,23 @@ STATIC FUNCTION FT_ELAPSED(dStart, dEnd, cTimeStart, cTimeEnd)
dEnd := DATE()
ENDIF
- IF( VALTYPE(cTimeStart) != 'C', cTimeStart := '00:00:00', )
- IF( VALTYPE(cTimeEnd) != 'C', cTimeEnd := '00:00:00', )
+ iif( VALTYPE(cTimeStart) != 'C', cTimeStart := '00:00:00', )
+ iif( VALTYPE(cTimeEnd) != 'C', cTimeEnd := '00:00:00', )
nTotalSec := (dEnd - dStart) * 86400 + ;
VAL(cTimeEnd) * 3600 + ;
VAL(SUBSTR(cTimeEnd,AT(':', cTimeEnd)+1,2)) * 60 + ;
- IF(RAT(':', cTimeEnd) == AT(':', cTimeEnd), 0, ;
+ iif(RAT(':', cTimeEnd) == AT(':', cTimeEnd), 0, ;
VAL(SUBSTR(cTimeEnd,RAT(':', cTimeEnd)+1))) - ;
VAL(cTimeStart) * 3600 - ;
VAL(SUBSTR(cTimeStart,AT(':', cTimeStart)+1,2)) * 60 - ;
- IF(RAT(':', cTimeStart) == AT(':', cTimeStart), 0, ;
+ iif(RAT(':', cTimeStart) == AT(':', cTimeStart), 0, ;
VAL(SUBSTR(cTimeStart,RAT(':', cTimeStart)+1)))
nTemp := nTotalSec
FOR nCtr := 1 to 4
- nConstant := IF(nCtr == 1, 86400, IF(nCtr == 2, 3600, IF( nCtr == 3, 60, 1)))
+ nConstant := iif(nCtr == 1, 86400, iif(nCtr == 2, 3600, iif( nCtr == 3, 60, 1)))
aRetVal[nCtr,1] := INT(nTemp/nConstant)
aRetval[nCtr,2] := nTotalSec / nConstant
nTemp -= aRetVal[nCtr,1] * nConstant
diff --git a/harbour/extras/httpsrv/uhttpd.prg b/harbour/extras/httpsrv/uhttpd.prg
index cf1258a9ad..9e044f2c02 100644
--- a/harbour/extras/httpsrv/uhttpd.prg
+++ b/harbour/extras/httpsrv/uhttpd.prg
@@ -1813,7 +1813,7 @@ FUNCTION uhttpd_join( cSeparator, aData )
ENDIF
IF VALTYPE(aData[nI]) $ "CM"; cRet += aData[nI]
ELSEIF VALTYPE(aData[nI]) == "N"; cRet += LTRIM(STR(aData[nI]))
- ELSEIF VALTYPE(aData[nI]) == "D"; cRet += IF(!EMPTY(aData[nI]), DTOC(aData[nI]), "")
+ ELSEIF VALTYPE(aData[nI]) == "D"; cRet += iif(!EMPTY(aData[nI]), DTOC(aData[nI]), "")
ELSE
ENDIF
NEXT