From a910a61f3590187c7fd7f8b9620fe3fc5bef3b41 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 4 Oct 2012 02:28:44 +0000 Subject: [PATCH] 2012-10-04 04:21 UTC+0200 Viktor Szakats (harbour syenar.net) * extras/httpsrv/home/index.html * updated reference to long deleted batch file to hbmk2 cmdline * tests/db_brows.prg * deleted inactive/broken parts + enable ADS APIs automatically ! use inkey.ch constants ! fixed keyboard handling for unicode * enabled editing (warning: do not commit modified test.dbf) ! fixed function names of Harbour extended functions (commented) * tests/newrdd.prg ! fixed failure due to wrongly selected RDD * formatting * tests/inherit.prg * tests/stripem.prg * various cleanups (do not add EOF char, unicode compatibility, use platform-specific EOL) * tests/inkeytst.prg ! fixed another unicode incompatibility for __HARBOUR__ * tests/readhrb.prg % use HB_NUMTOHEX() instead of local implementation * formatting * tests/inifiles.prg ! untested fixes for platform independent EOL handling * tests/test.prg * tests/version.prg * minor --- harbour/ChangeLog | 35 ++ harbour/extras/httpsrv/home/index.html | 4 +- harbour/tests/db_brows.prg | 522 ++++++++++--------------- harbour/tests/inherit.prg | 15 +- harbour/tests/inifiles.prg | 23 +- harbour/tests/inkeytst.prg | 8 +- harbour/tests/newrdd.prg | 37 +- harbour/tests/readhrb.prg | 35 +- harbour/tests/stripem.prg | 57 +-- harbour/tests/test.prg | 6 +- harbour/tests/version.prg | 6 +- 11 files changed, 321 insertions(+), 427 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 4a1693dd12..2b89758b22 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,41 @@ The license applies to all entries newer than 2009-04-28. */ +2012-10-04 04:21 UTC+0200 Viktor Szakats (harbour syenar.net) + * extras/httpsrv/home/index.html + * updated reference to long deleted batch file to hbmk2 cmdline + + * tests/db_brows.prg + * deleted inactive/broken parts + + enable ADS APIs automatically + ! use inkey.ch constants + ! fixed keyboard handling for unicode + * enabled editing (warning: do not commit modified test.dbf) + ! fixed function names of Harbour extended functions (commented) + + * tests/newrdd.prg + ! fixed failure due to wrongly selected RDD + * formatting + + * tests/inherit.prg + * tests/stripem.prg + * various cleanups (do not add EOF char, unicode + compatibility, use platform-specific EOL) + + * tests/inkeytst.prg + ! fixed another unicode incompatibility for __HARBOUR__ + + * tests/readhrb.prg + % use HB_NUMTOHEX() instead of local implementation + * formatting + + * tests/inifiles.prg + ! untested fixes for platform independent EOL handling + + * tests/test.prg + * tests/version.prg + * minor + 2012-10-04 02:18 UTC+0200 Viktor Szakats (harbour syenar.net) - tests/fsplit.prg - deleted very old and platform specific file splitter diff --git a/harbour/extras/httpsrv/home/index.html b/harbour/extras/httpsrv/home/index.html index 51ad591381..cdb01ba912 100644 --- a/harbour/extras/httpsrv/home/index.html +++ b/harbour/extras/httpsrv/home/index.html @@ -35,9 +35,9 @@ Examples:
-(*) Before run these examples, please build files in /uhttpd/modules folder using bldhrb.bat +(*) Before run these examples, please build files in /uhttpd/modules folder using 'hbmk2 modules.hbp'
-(**) This example requires LIBGD +(**) This example requires libgd package diff --git a/harbour/tests/db_brows.prg b/harbour/tests/db_brows.prg index 72669e36fd..30588345c8 100644 --- a/harbour/tests/db_brows.prg +++ b/harbour/tests/db_brows.prg @@ -19,7 +19,6 @@ //+ Function WNDVIVOD() //+ Static Procedure VIVSTR() //+ Function FLDSTR() -//+ Function GetBuf() //+ Function InitList() //+ Function Defpict() //+ Function NUM_STR() @@ -122,20 +121,10 @@ PROCEDURE Main( filename ) //+ //+-------------------------------------------------------------------- //+ -#ifdef VER_MOUSE - -FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey, ctrl_ar ) - -#else FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey ) -#endif - LOCAL rezproc, xkey, rez, fipos, wndbuf, predit, predxx, oldcolors -#ifdef VER_MOUSE - LOCAL ym, xm -#endif LOCAL i LOCAL fbar1, fbar2, vartmp, varbuf, razmer LOCAL GetList := {} @@ -214,7 +203,7 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey ) ENDIF LI_COLPOS := 1 LI_NLEFT := LI_FREEZE + 1 -// DO MSFNEXT WITH mslist,LI_NLEFT +// DO MSFNEXT WITH mslist, LI_NLEFT LI_LEFTVISIBLE := LI_NLEFT STORE .T. TO rez LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) @@ -223,7 +212,7 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey ) Eval( LI_BGTOP, mslist ) LI_NSTR := 1 ELSE - Eval( LI_BSKIP, mslist, - ( LI_NSTR - 1 ) ) + Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) IF Eval( LI_BBOF, mslist ) Eval( LI_BGTOP, mslist ) LI_NSTR := 1 @@ -233,303 +222,234 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey ) Eval( LI_BSKIP, mslist, ( LI_NSTR - 1 ) ) IF LI_KOLZ == 0 .AND. predit == 3 LI_NSTR := 0 - KEYBOARD Chr( 24 ) + hb_keyIns( K_DOWN ) ENDIF DO WHILE rez SetColor( LI_CLR ) Eval( LI_B1, mslist ) - // IF predit>1 - // SETCOLOR(LI_CLRV+"*") - // ELSE - SetColor( LI_CLRV ) - // ENDIF +// IF predit > 1 +// SetColor( LI_CLRV + "*" ) +// ELSE + SetColor( LI_CLRV ) +// ENDIF VIVSTR( mslist, LI_NSTR + LI_Y1, iif( predit > 1, LI_COLPOS, 0 ) ) SetColor( LI_CLR ) // -#ifdef RDD_AX - @ LI_Y1 + 2, LI_X2, LI_Y2 - 2, LI_X2 BOX str_barbox - @ LI_Y1 + 1, LI_X2 SAY SubStr( str_bar, 2, 1 ) - @ LI_Y2 - 1, LI_X2 SAY SubStr( str_bar, 1, 1 ) - @ LI_Y1 + 2 + Int( iif( LI_PRFLT, LI_TEKZP, Ax_Keyno() ) * ( LI_Y2 - LI_Y1 - 4 ) / iif( LI_PRFLT, LI_KOLZ, Ax_KeyCount() ) ), LI_X2 SAY Right( str_bar, 1 ) -#else - IF ! ( Type( "Sx_Keyno()" ) == "U" ) + DO CASE + 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()" + ENDCASE + IF ! Empty( fbar1 ) @ LI_Y1 + 2, LI_X2, LI_Y2 - 2, LI_X2 BOX str_barbox @ LI_Y1 + 1, LI_X2 SAY SubStr( str_bar, 2, 1 ) @ LI_Y2 - 1, LI_X2 SAY SubStr( str_bar, 1, 1 ) - fbar1 := "Sx_Keyno()" - fbar2 := "Sx_KeyCount()" @ LI_Y1 + 2 + Int( iif( LI_PRFLT, LI_TEKZP, &fbar1 ) * ( LI_Y2 - LI_Y1 - 4 ) / iif( LI_PRFLT, LI_KOLZ, &fbar2 ) ), LI_X2 SAY Right( str_bar, 1 ) ENDIF -#endif // IF LI_LVIEW xkey := K_ESC ELSE -#ifdef VER_MOUSE - xkey := IN_KM( .F. ) - IF xkey == 502 - DO WHILE M_STAT() != 0 - ENDDO - xkey := K_ESC - ELSEIF xkey == 501 - ym := M_YTEXT() - xm := M_XTEXT() - IF ( ym <= LI_Y1 .OR. ym >= LI_Y2 .OR. xm <= LI_X1 .OR. xm >= LI_X2 ) - IF xm <= LI_X2 .AND. xm >= LI_X1 .AND. ( ym == LI_Y1 .OR. ym == LI_Y2 ) - M_SHOW() - i := Seconds() - DO WHILE Seconds() - i < 0.05 - ENDDO - KEYBOARD Chr( iif( ym == LI_Y1, 5, 24 ) ) - M_HIDE() - LOOP - ELSEIF ctrl_ar != NIL - FOR i := 1 TO Len( ctrl_ar ) - IF ValType( ctrl_ar[ i ] ) == "C" - SetColor( ctrl_ar[ i ] ) - ELSE - rezproc := F_CTRL( ctrl_ar[ i ], , , , , , 1, ym, xm ) - IF rezproc > 0 - EXIT - ENDIF - ENDIF - NEXT - SetColor( LI_CLR ) - IF rezproc > 0 - rezproc += 500 - EXIT - ENDIF - ENDIF - ENDIF - ENDIF -#else xkey := Inkey( 0 ) -#endif ENDIF VIVSTR( mslist, LI_NSTR + LI_Y1, 0 ) - IF xkey < 500 - DO CASE - CASE xkey == K_DOWN - IF ( LI_KOLZ > 0 .OR. predit == 3 ) .AND. ( LI_KOLZ == 0 .OR. ! Eval( LI_BEOF, mslist ) ) - Eval( LI_BSKIP, mslist, 1 ) - IF Eval( LI_BEOF, mslist ) .AND. ( predit < 3 .OR. LI_PRFLT ) - Eval( LI_BSKIP, mslist, -1 ) - ELSE - IF Eval( LI_BEOF, mslist ) - vartmp := LI_NLEFT - LI_NLEFT := LI_LEFTVISIBLE - LI_COLPOS := LI_LEFTVISIBLE - LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) - IF vartmp > LI_LEFTVISIBLE - Eval( LI_BSKIP, mslist, -1 ) - Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) - WNDVIVOD( mslist ) - Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) - Eval( LI_BSKIP, mslist ) - ENDIF - ENDIF - LI_NSTR++ - IF LI_NSTR > razmer - LI_NSTR := razmer - Scroll( LI_Y1 + 1, LI_X1 + 1, LI_Y2 - 1, LI_X2 - 1, 1 ) - VIVSTR( mslist, LI_Y2 - 1, 0 ) - ENDIF - IF Eval( LI_BEOF, mslist ) - KEYBOARD Chr( 13 ) - ENDIF - ENDIF - ENDIF - CASE xkey == K_UP .AND. LI_KOLZ > 0 - Eval( LI_BSKIP, mslist, -1 ) - IF Eval( LI_BBOF, mslist ) - Eval( LI_BGTOP, mslist ) - ELSE - LI_NSTR-- - IF LI_NSTR == 0 - LI_NSTR := 1 - Scroll( LI_Y1 + 1, LI_X1 + 1, LI_Y2 - 1, LI_X2 - 1, -1 ) - VIVSTR( mslist, LI_Y1 + 1, 0 ) - ENDIF - ENDIF - CASE xkey == K_RIGHT .AND. LI_KOLZ != 0 - IF predit > 1 - IF LI_COLPOS < LI_NCOLUMNS - LI_COLPOS++ - LOOP - ENDIF - ENDIF - IF LI_NCOLUMNS + LI_NLEFT - LI_FREEZE - 1 < LI_COLCOUNT - i := LI_NLEFT + LI_NCOLUMNS - DO WHILE LI_NCOLUMNS + LI_NLEFT - LI_FREEZE - 1 < LI_COLCOUNT .AND. LI_NLEFT + LI_NCOLUMNS == i - LI_NLEFT++ - // DO MSFNEXT WITH mslist,LI_NLEFT - LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) - ENDDO - LI_COLPOS := i - LI_NLEFT + 1 - Eval( LI_BSKIP, mslist, - ( LI_NSTR - 1 ) ) - WNDVIVOD( mslist ) - Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) - ENDIF - VIVNAMES( mslist, LI_NLEFT ) - CASE xkey == K_LEFT - IF predit > 1 - IF LI_COLPOS != 1 - LI_COLPOS-- - LOOP - ENDIF - ENDIF - IF LI_NLEFT > LI_LEFTVISIBLE - LI_NLEFT-- - // DO MSFBACK WITH mslist,LI_NLEFT - LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) - LI_COLPOS := 1 - Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) - WNDVIVOD( mslist ) - Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) - ENDIF - VIVNAMES( mslist, LI_NLEFT ) - CASE xkey == K_PGDN - Eval( LI_BSKIP, mslist, razmer - LI_NSTR + 1 ) - LI_NSTR := 1 - IF Eval( LI_BEOF, mslist ) + DO CASE + CASE xkey == K_DOWN + IF ( LI_KOLZ > 0 .OR. predit == 3 ) .AND. ( LI_KOLZ == 0 .OR. ! Eval( LI_BEOF, mslist ) ) + Eval( LI_BSKIP, mslist, 1 ) + IF Eval( LI_BEOF, mslist ) .AND. ( predit < 3 .OR. LI_PRFLT ) Eval( LI_BSKIP, mslist, -1 ) - ENDIF - WNDVIVOD( mslist ) - CASE xkey == K_PGUP - IF LI_NSTR > 1 - Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) - LI_NSTR := 1 ELSE - Eval( LI_BSKIP, mslist, -razmer ) - IF Eval( LI_BBOF, mslist ) - Eval( LI_BGTOP, mslist ) - ENDIF - WNDVIVOD( mslist ) - ENDIF - CASE xkey == K_END .AND. LI_KOLZ > 0 - Eval( LI_BGBOT, mslist ) - Eval( LI_BSKIP, mslist, -( razmer - 1 ) ) - IF Eval( LI_BBOF, mslist ) - Eval( LI_BGTOP, mslist ) - ENDIF - LI_NSTR := WNDVIVOD( mslist ) - Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) - CASE xkey == K_HOME .AND. LI_KOLZ > 0 - LI_NSTR := 1 - Eval( LI_BGTOP, mslist ) - WNDVIVOD( mslist ) - CASE xkey == K_ENTER .AND. predit < 2 - rez := .F. - rezproc := xkey - CASE ( xkey == K_ENTER .OR. ( xkey > 47 .AND. xkey < 58 ) .OR. ( xkey > 64 .AND. xkey < 91 ) ; - .OR. ( xkey > 96 .AND. xkey < 123 ) .OR. ( xkey > 127 .AND. xkey < 176 ) .OR. ( xkey > 223 .AND. xkey < 240 ) ) .AND. predit > 1 - fipos := LI_COLPOS + LI_NLEFT - 1 - LI_FREEZE - IF LI_WHEN == NIL .OR. Len( LI_WHEN ) < fipos .OR. LI_WHEN[ fipos ] == NIL .OR. Eval( LI_WHEN[ fipos ] ) - IF ValType( LI_MSED ) != "N" - vartmp := iif( Len( LI_MSED ) < fipos, 1, LI_MSED[ fipos ] ) - IF ValType( vartmp ) == "N" - IF vartmp != 2 - LOOP - ENDIF - ELSE - LOOP + IF Eval( LI_BEOF, mslist ) + vartmp := LI_NLEFT + LI_NLEFT := LI_LEFTVISIBLE + LI_COLPOS := LI_LEFTVISIBLE + LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) + IF vartmp > LI_LEFTVISIBLE + Eval( LI_BSKIP, mslist, -1 ) + Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) + WNDVIVOD( mslist ) + Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) + Eval( LI_BSKIP, mslist ) ENDIF ENDIF - SET CURSOR ON - SetColor( LI_CLRV + "," + LI_CLRV ) - IF xkey != K_ENTER - KEYBOARD Chr( xkey ) + GetBuf() + LI_NSTR++ + IF LI_NSTR > razmer + LI_NSTR := razmer + Scroll( LI_Y1 + 1, LI_X1 + 1, LI_Y2 - 1, LI_X2 - 1, 1 ) + VIVSTR( mslist, LI_Y2 - 1, 0 ) ENDIF - vartmp := ReadExit( .T. ) - varbuf := FieldGet( fipos ) - @ LI_NSTR + LI_Y1, LI_XPOS GET varbuf PICTURE Defpict( mslist, fipos, LI_X2 - LI_X1 - 3 ) - IF LI_VALID != NIL .AND. Len( LI_VALID ) >= fipos .AND. LI_VALID[ fipos ] != NIL - Getlist[ 1 ] :postBlock := LI_VALID[ fipos ] - ENDIF - READ - IF LastKey() != K_ESC .AND. Updated() - IF Eval( LI_BEOF, mslist ) - APPEND BLANK - LI_KOLZ := Eval( LI_RCOU, mslist ) - ELSE - IF ! Set( _SET_EXCLUSIVE ) - RLock() - IF NetErr() - LOOP - ENDIF - ENDIF - ENDIF - IF LI_BDESHOUT != NIL .AND. ValType( varbuf ) == "C" - varbuf := Eval( LI_BDESHOUT, mslist, varbuf ) - ENDIF - FieldPut( fipos, varbuf ) - IF ! Set( _SET_EXCLUSIVE ) - UNLOCK - ENDIF - ENDIF - IF ( LastKey() == K_ESC .OR. ! Updated() ) .AND. Eval( LI_BEOF, mslist ) - SetColor( LI_CLR ) - @ LI_NSTR + LI_Y1, LI_X1 + 1 CLEAR TO LI_NSTR + LI_Y1, LI_X2 - 1 - LI_NSTR-- - Eval( LI_BSKIP, mslist, -1 ) - ELSE - IF ( vartmp := LastKey() ) != K_ENTER .AND. vartmp != K_ESC .AND. vartmp < 32 - KEYBOARD Chr( vartmp ) - ENDIF - ENDIF - ReadExit( vartmp ) - SET CURSOR OFF - ENDIF - CASE xkey == K_ESC - rez := .F. - rezproc := 0 - CASE xkey == K_F2 .AND. ( maskey == NIL .OR. AScan( maskey, xkey ) == 0 ) - IF predit == 1 - predit := predxx - ELSEIF predit > 1 - predit := 1 - ENDIF - OTHERWISE - IF maskey != NIL - IF AScan( maskey, xkey ) != 0 - rez := .F. - rezproc := xkey - ENDIF - ENDIF - ENDCASE -#ifdef VER_MOUSE - ELSE - IF ym > LI_Y1 .AND. ym < LI_Y2 .AND. xm > LI_X1 .AND. xm < LI_X2 - IF predit < 2 - IF LI_NSTR == ym - LI_Y1 - rez := .F. - rezproc := 13 - ELSE - Eval( LI_BSKIP, mslist, ym - LI_Y1 - LI_NSTR ) - LI_NSTR := ym - LI_Y1 - ENDIF - ELSE - i := FLDCOUNT( mslist, LI_X1 + 2, xm, LI_NLEFT ) + 1 - IF i <= FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) - IF i == 2 .AND. xm < LI_X1 + 2 + Len( FLDSTR( mslist, LI_NLEFT + LI_COLPOS - 1 ) ) - i := 1 - ENDIF - IF LI_COLPOS != i .OR. LI_NSTR != ym - LI_Y1 - LI_COLPOS := i - Eval( LI_BSKIP, mslist, ym - LI_Y1 - LI_NSTR ) - LI_NSTR := ym - LI_Y1 - ELSE - KEYBOARD Chr( 13 ) - ENDIF + IF Eval( LI_BEOF, mslist ) + hb_keyIns( K_ENTER ) ENDIF ENDIF ENDIF - M_SHOW() - DO WHILE M_STAT() != 0 - ENDDO - M_HIDE() -#endif - ENDIF + CASE xkey == K_UP .AND. LI_KOLZ > 0 + Eval( LI_BSKIP, mslist, -1 ) + IF Eval( LI_BBOF, mslist ) + Eval( LI_BGTOP, mslist ) + ELSE + LI_NSTR-- + IF LI_NSTR == 0 + LI_NSTR := 1 + Scroll( LI_Y1 + 1, LI_X1 + 1, LI_Y2 - 1, LI_X2 - 1, -1 ) + VIVSTR( mslist, LI_Y1 + 1, 0 ) + ENDIF + ENDIF + CASE xkey == K_RIGHT .AND. LI_KOLZ != 0 + IF predit > 1 + IF LI_COLPOS < LI_NCOLUMNS + LI_COLPOS++ + LOOP + ENDIF + ENDIF + IF LI_NCOLUMNS + LI_NLEFT - LI_FREEZE - 1 < LI_COLCOUNT + i := LI_NLEFT + LI_NCOLUMNS + DO WHILE LI_NCOLUMNS + LI_NLEFT - LI_FREEZE - 1 < LI_COLCOUNT .AND. LI_NLEFT + LI_NCOLUMNS == i + LI_NLEFT++ + // DO MSFNEXT WITH mslist, LI_NLEFT + LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) + ENDDO + LI_COLPOS := i - LI_NLEFT + 1 + Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) + WNDVIVOD( mslist ) + Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) + ENDIF + VIVNAMES( mslist, LI_NLEFT ) + CASE xkey == K_LEFT + IF predit > 1 + IF LI_COLPOS != 1 + LI_COLPOS-- + LOOP + ENDIF + ENDIF + IF LI_NLEFT > LI_LEFTVISIBLE + LI_NLEFT-- + // DO MSFBACK WITH mslist, LI_NLEFT + LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT ) + LI_COLPOS := 1 + Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) + WNDVIVOD( mslist ) + Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) + ENDIF + VIVNAMES( mslist, LI_NLEFT ) + CASE xkey == K_PGDN + Eval( LI_BSKIP, mslist, razmer - LI_NSTR + 1 ) + LI_NSTR := 1 + IF Eval( LI_BEOF, mslist ) + Eval( LI_BSKIP, mslist, -1 ) + ENDIF + WNDVIVOD( mslist ) + CASE xkey == K_PGUP + IF LI_NSTR > 1 + Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) ) + LI_NSTR := 1 + ELSE + Eval( LI_BSKIP, mslist, -razmer ) + IF Eval( LI_BBOF, mslist ) + Eval( LI_BGTOP, mslist ) + ENDIF + WNDVIVOD( mslist ) + ENDIF + CASE xkey == K_END .AND. LI_KOLZ > 0 + Eval( LI_BGBOT, mslist ) + Eval( LI_BSKIP, mslist, -( razmer - 1 ) ) + IF Eval( LI_BBOF, mslist ) + Eval( LI_BGTOP, mslist ) + ENDIF + LI_NSTR := WNDVIVOD( mslist ) + Eval( LI_BSKIP, mslist, LI_NSTR - 1 ) + CASE xkey == K_HOME .AND. LI_KOLZ > 0 + LI_NSTR := 1 + Eval( LI_BGTOP, mslist ) + WNDVIVOD( mslist ) + CASE xkey == K_ENTER .AND. predit < 2 + rez := .F. + rezproc := xkey + CASE ( xkey == K_ENTER .OR. ! Empty( hb_keyChar( xkey ) ) ) .AND. predit > 1 + fipos := LI_COLPOS + LI_NLEFT - 1 - LI_FREEZE + IF LI_WHEN == NIL .OR. Len( LI_WHEN ) < fipos .OR. LI_WHEN[ fipos ] == NIL .OR. Eval( LI_WHEN[ fipos ] ) + IF ValType( LI_MSED ) != "N" + vartmp := iif( Len( LI_MSED ) < fipos, 1, LI_MSED[ fipos ] ) + IF ValType( vartmp ) == "N" + IF vartmp != 2 + LOOP + ENDIF + ELSE + LOOP + ENDIF + ENDIF + SET CURSOR ON + SetColor( LI_CLRV + "," + LI_CLRV ) + IF xkey != K_ENTER + DO WHILE NextKey() != 0 + hb_keyPut( Inkey( 0 ) ) + ENDDO + hb_keyIns( xkey ) + ENDIF + vartmp := ReadExit( .T. ) + varbuf := FieldGet( fipos ) + @ LI_NSTR + LI_Y1, LI_XPOS GET varbuf PICTURE Defpict( mslist, fipos, LI_X2 - LI_X1 - 3 ) + IF LI_VALID != NIL .AND. Len( LI_VALID ) >= fipos .AND. LI_VALID[ fipos ] != NIL + Getlist[ 1 ]:postBlock := LI_VALID[ fipos ] + ENDIF + READ + IF LastKey() != K_ESC .AND. Updated() + IF Eval( LI_BEOF, mslist ) + APPEND BLANK + LI_KOLZ := Eval( LI_RCOU, mslist ) + ELSE + IF ! Set( _SET_EXCLUSIVE ) + RLock() + IF NetErr() + LOOP + ENDIF + ENDIF + ENDIF + IF LI_BDESHOUT != NIL .AND. ValType( varbuf ) == "C" + varbuf := Eval( LI_BDESHOUT, mslist, varbuf ) + ENDIF + FieldPut( fipos, varbuf ) + IF ! Set( _SET_EXCLUSIVE ) + UNLOCK + ENDIF + ENDIF + IF ( LastKey() == K_ESC .OR. ! Updated() ) .AND. Eval( LI_BEOF, mslist ) + SetColor( LI_CLR ) + @ LI_NSTR + LI_Y1, LI_X1 + 1 CLEAR TO LI_NSTR + LI_Y1, LI_X2 - 1 + LI_NSTR-- + Eval( LI_BSKIP, mslist, -1 ) + ELSE + IF ( vartmp := LastKey() ) != K_ENTER .AND. vartmp != K_ESC .AND. vartmp < 32 + hb_keyIns( vartmp ) + ENDIF + ENDIF + ReadExit( vartmp ) + SET CURSOR OFF + ENDIF + CASE xkey == K_ESC + rez := .F. + rezproc := 0 + CASE xkey == K_F2 .AND. ( maskey == NIL .OR. AScan( maskey, xkey ) == 0 ) + IF predit == 1 + predit := predxx + ELSEIF predit > 1 + predit := 1 + ENDIF + OTHERWISE + IF maskey != NIL + IF AScan( maskey, xkey ) != 0 + rez := .F. + rezproc := xkey + ENDIF + ENDIF + ENDCASE ENDDO IF LI_LSOHR @@ -591,14 +511,14 @@ FUNCTION VIVNAMES( mslist ) ENDIF @ LI_Y1, x - 1 CLEAR TO LI_Y1, LI_X2 - 1 fif := iif( LI_FREEZE > 0, 1, LI_NLEFT ) - // DO MSFNEXT WITH mslist,fif + // DO MSFNEXT WITH mslist, fif DO WHILE i <= LI_NCOLUMNS .AND. fif <= Len( LI_NAMES ) IF LI_NAMES[ fif ] != NIL @ LI_Y1, x SAY LI_NAMES[ fif ] ENDIF x := x + Max( Len( FLDSTR( mslist, fif ) ), Len( LI_NAMES[ fif ] ) ) + 1 fif := iif( fif == LI_FREEZE, LI_NLEFT, fif + 1 ) - // DO MSFNEXT WITH mslist,fif + // DO MSFNEXT WITH mslist, fif i++ ENDDO IF LI_NMCLR != NIL @@ -670,7 +590,7 @@ STATIC PROCEDURE VIVSTR( mslist, nstroka, vybfld ) LI_XPOS := x ENDIF IF vybfld == 0 .OR. vybfld == i - // DO MSFNEXT WITH mslist,fif + // DO MSFNEXT WITH mslist, fif sviv := FLDSTR( mslist, fif ) sviv := iif( Len( sviv ) < LI_X2 - 1 - x, sviv, SubStr( sviv, 1, LI_X2 - 1 - x ) ) @ nstroka, x SAY sviv @@ -681,7 +601,7 @@ STATIC PROCEDURE VIVSTR( mslist, nstroka, vybfld ) x := x + Max( Len( sviv ), iif( LI_NAMES != NIL .AND. Len( LI_NAMES ) >= fif, Len( LI_NAMES[ fif ] ), 0 ) ) + 1 fif := iif( fif == LI_FREEZE, LI_NLEFT, fif + 1 ) NEXT - // DO MSFNEXT WITH mslist,fif + // DO MSFNEXT WITH mslist, fif IF fif <= LI_COLCOUNT .AND. vybfld == 0 IF LI_X2 - 1 - x > 0 sviv := FLDSTR( mslist, fif ) @@ -728,13 +648,13 @@ FUNCTION FLDSTR( mslist, numf ) ENDIF ENDIF ENDIF -// fldtype := FIELDTYPE( numf ) +// fldtype := hb_FieldType( numf ) fldtype := LI_MSTYP[ numf ] DO CASE CASE fldtype == "C" rez := FieldGet( numf ) CASE fldtype == "N" - // rez := STR( FIELDGET( numf ), FIELDSIZE( numf ), FIELDDECI( numf ) ) +// rez := Str( FieldGet( numf ), hb_FieldLen( numf ), hb_FieldDec( numf ) ) rez := Str( FieldGet( numf ), LI_MSLEN[ numf ], LI_MSDEC[ numf ] ) CASE fldtype == "D" rez := DToC( FieldGet( numf ) ) @@ -749,25 +669,6 @@ FUNCTION FLDSTR( mslist, numf ) RETURN rez -//+-------------------------------------------------------------------- -//+ -//+ Function GetBuf() -//+ -//+ Called from ( db_brows.prg ) 1 - function dbflist() -//+ -//+-------------------------------------------------------------------- -//+ - -FUNCTION GetBuf - - LOCAL srez := "" - - DO WHILE NextKey() != 0 - srez += Chr( Inkey( 0 ) ) - ENDDO - - RETURN srez - //+-------------------------------------------------------------------- //+ //+ Function InitList() @@ -782,7 +683,8 @@ FUNCTION InitList LOCAL mslist := Array( LI_LEN ) - LI_NSTR := LI_MSED := 1 + LI_NSTR := 1 + LI_MSED := 3 LI_CLR := "W+/B" LI_CLRV := "R/W" LI_BSKIP := {| a, x | HB_SYMBOL_UNUSED( a ), dbSkip( x ) } @@ -813,7 +715,7 @@ FUNCTION InitList FUNCTION Defpict( mslist, i, maxlen ) -// LOCAL spict, fldd, fldtype := FIELDTYPE( i ), fldlen := FIELDSIZE( i ) +// LOCAL spict, fldd, fldtype := hb_FieldType( i ), fldlen := hb_FieldLen( i ) LOCAL spict, fldd, fldtype := LI_MSTYP[ i ], fldlen := LI_MSLEN[ i ] DO CASE CASE fldtype == "C" diff --git a/harbour/tests/inherit.prg b/harbour/tests/inherit.prg index 6044d3d56a..0d6813acc4 100644 --- a/harbour/tests/inherit.prg +++ b/harbour/tests/inherit.prg @@ -192,9 +192,6 @@ FUNCTION Dispose() ::cBlock := NIL IF ::hFile != F_ERROR - IF ::cMode == "W" .AND. ::nError != 0 - ::Write( Chr( 26 ) ) // Do not forget EOF marker - ENDIF IF ! FClose( ::hFile ) ::nError := FError() ? "Dos Error closing ", ::cFileName, " Code ", ::nError @@ -242,15 +239,15 @@ FUNCTION READ() ::cBlock := "" cRet += ::Read() // Read the rest IF ! ::lEoF - ::nLine -- // Adjust erroneous line count + ::nLine-- // Adjust erroneous line count ENDIF ENDIF - nEoFPos := At( Chr( 26 ), cRet ) + nEoFPos := hb_BAt( Chr( 26 ), cRet ) IF nEoFPos != 0 // End of file read - cRet := SubStr( cRet, 1, nEoFPos - 1 ) + cRet := hb_BSubStr( cRet, 1, nEoFPos - 1 ) ::lEoF := .T. ENDIF - cRet := StrTran( cRet, Chr( 13 ), "" ) // Remove CR + cRet := StrTran( cRet, Chr( 13 ) ) // Remove CR ENDIF ENDIF @@ -274,9 +271,9 @@ FUNCTION WriteLn( xTxt, lCRLF ) ELSEIF !( ::cMode == "W" ) ? "File ", ::cFileName, " not opened for writing" ELSE - cBlock := ToChar( xTxt ) // Convert to string + cBlock := hb_ValToExp( xTxt ) // Convert to string IF Default( lCRLF, .T. ) - cBlock += Chr( 10 ) + Chr( 13 ) + cBlock += hb_eol() ENDIF FWrite( ::hFile, cBlock, Len( cBlock ) ) IF FError() != 0 diff --git a/harbour/tests/inifiles.prg b/harbour/tests/inifiles.prg index ce8da0928b..d0a39f1c49 100644 --- a/harbour/tests/inifiles.prg +++ b/harbour/tests/inifiles.prg @@ -83,21 +83,20 @@ STATIC FUNCTION New( cFileName ) 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( 13 ) ) // so we can just search for Chr( 10 ) // prepend last read cFile := cLine + cFile - DO WHILE !Empty( cFile ) - IF ( nPos := At( Chr(13 ), cFile ) ) > 0 + DO WHILE ! Empty( cFile ) + IF ( nPos := At( Chr( 10 ), 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 ); - - else + cLine := SubStr( cLine, 2, nPos - 2 ) + ELSE cLine := SubStr( cLine, 2 ) ENDIF @@ -336,22 +335,22 @@ STATIC PROCEDURE UpdateFile() FOR i := 1 TO Len( ::Contents ) IF ::Contents[ i ][ 1 ] == NIL - FWrite( hFile, ::Contents[ i ][ 2 ] + Chr( 13 ) + Chr( 10 ) ) + FWrite( hFile, ::Contents[ i ][ 2 ] + hb_eol() ) ELSEIF ValType( ::Contents[ i ][ 2 ] ) == "A" - FWrite( hFile, "[" + ::Contents[ i ][ 1 ] + "]" + Chr( 13 ) + Chr( 10 ) ) + FWrite( hFile, "[" + ::Contents[ i ][ 1 ] + "]" + hb_eol() ) 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 ) ) + FWrite( hFile, ::Contents[ i ][ 2 ][ j ][ 2 ] + hb_eol() ) ELSE - FWrite( hFile, ::Contents[ i ][ 2 ][ j ][ 1 ] + "=" + ::Contents[ i ][ 2 ][ j ][ 2 ] + Chr( 13 ) + Chr( 10 ) ) + FWrite( hFile, ::Contents[ i ][ 2 ][ j ][ 1 ] + "=" + ::Contents[ i ][ 2 ][ j ][ 2 ] + hb_eol() ) ENDIF NEXT - FWrite( hFile, Chr( 13 ) + Chr( 10 ) ) + FWrite( hFile, hb_eol() ) ELSEIF ValType( ::Contents[ i ][ 2 ] ) == "C" - FWrite( hFile, ::Contents[ i ][ 1 ] + "=" + ::Contents[ i ][ 2 ] + Chr( 13 ) + Chr( 10 ) ) + FWrite( hFile, ::Contents[ i ][ 1 ] + "=" + ::Contents[ i ][ 2 ] + hb_eol() ) ENDIF NEXT diff --git a/harbour/tests/inkeytst.prg b/harbour/tests/inkeytst.prg index ef87d5fd8a..4628099f45 100644 --- a/harbour/tests/inkeytst.prg +++ b/harbour/tests/inkeytst.prg @@ -2,7 +2,7 @@ * $Id$ */ - /* Testing Harbour keyboard input. */ +/* Testing Harbour keyboard input. */ /* Harbour Project source code http://harbour-project.org/ @@ -66,7 +66,11 @@ FUNCTION TEST( cText ) Inkey( 2 ) KEYBOARD cText DO WHILE NextKey() != 0 - cResult += Chr( Inkey () ) +#ifdef __HARBOUR__ + cResult += hb_keyChar( Inkey() ) +#else + cResult += Chr( Inkey() ) +#endif ENDDO RETURN "'" + cResult + "'" diff --git a/harbour/tests/newrdd.prg b/harbour/tests/newrdd.prg index cc859be84e..29c6cb47da 100644 --- a/harbour/tests/newrdd.prg +++ b/harbour/tests/newrdd.prg @@ -145,10 +145,10 @@ PROCEDURE Main() Inkey( 0 ) CLS - ? "while !TESTDBF->( Eof() )" + ? "WHILE !TESTDBF->( EOF() )" ? " ? TESTDBF->FIRST, TESTDBF->( RecNo() )" ? " TESTDBF->( dbSkip() )" - ? "end" + ? "ENDDO" ? "" WHILE !TESTDBF->( EOF() ) ? TESTDBF->FIRST, TESTDBF->( RecNo() ) @@ -162,10 +162,10 @@ PROCEDURE Main() ? "SET FILTER TO TESTDBF->AGE == 21" ? "? TESTDBF->( dbFilter() )" ? "TESTDBF->( dbGoTop() )" - ? "while !TESTDBF->( Eof() )" + ? "WHILE !TESTDBF->( EOF() )" ? " ? TESTDBF->FIRST, TESTDBF->AGE, TESTDBF->( RecNo() )" ? " TESTDBF->( dbSkip() )" - ? "enddo" + ? "ENDDO" ? "SET FILTER TO" ? "" SET FILTER TO TESTDBF->AGE == 21 @@ -183,10 +183,10 @@ PROCEDURE Main() ? "TESTDBF->( Found() )" ? "LOCATE FOR TESTDBF->AGE == 23" - ? "while TESTDBF->( Found() )" + ? "WHILE TESTDBF->( Found() )" ? " ? TESTDBF->FIRST, TESTDBF->AGE, TESTDBF->( RecNo() )" ? " CONTINUE" - ? "end" + ? "ENDDO" TESTDBF->( Found() ) LOCATE FOR TESTDBF->AGE == 23 WHILE TESTDBF->( Found() ) @@ -217,12 +217,13 @@ PROCEDURE Main() ? ' { "Memo", "M", 10, 0 }, ;' ? ' { "Student", "L", 1, 0 } },, .T., "newrdd" )' ? 'SET CENTURY ON' - dbCreate( "newrdd", { { "First_Name", "C", 20, 0 }, ; + dbCreate( "newrdd", { ; + { "First_Name", "C", 20, 0 }, ; { "Age", "N", 3, 0 }, ; { "Date", "D", 8, 0 }, ; { "Rate", "N", 6, 2 }, ; { "Memo", "M", 10, 0 }, ; - { "Student", "L", 1, 0 } }, , .T. , "newrdd" ) + { "Student", "L", 1, 0 } }, "DBFCDX", .T. , "newrdd" ) SET CENTURY ON ? "lUpdate:", NEWRDD->( LUpdate() ) @@ -233,7 +234,7 @@ PROCEDURE Main() ? 'Select( "TESTDBF" )' ? "SET FILTER TO TESTDBF->SALARY > 120000" ? "TESTDBF->( dbGoTop() )" - ? "while !TESTDBF->( Eof() )" + ? "WHILE !TESTDBF->( EOF() )" ? " NEWRDD->( dbAppend() )" ? " NEWRDD->FIRST_NAME := TESTDBF->FIRST" ? " NEWRDD->AGE := TESTDBF->AGE" @@ -244,7 +245,7 @@ PROCEDURE Main() ? " TESTDBF->STREET" ? " NEWRDD->STUDENT := TESTDBF->MARRIED" ? " TESTDBF->( dbSkip() )" - ? "end" + ? "ENDDO" ? "SET FILTER TO" ? "? NEWRDD->( RecCount() )" ? "NEWRDD->( dbGoTop() )" @@ -289,9 +290,9 @@ PROCEDURE Main() aArray := NEWRDD->( dbRLockList() ) ? "aArray := NEWRDD->( dbRLockList() )" - ? "for nI := 1 to Len( aArray )" + ? "FOR nI := 1 TO Len( aArray )" ? " ? aArray[ nI ]" - ? "next" + ? "NEXT" ? "dbRLockList(): " FOR nI := 1 TO Len( aArray ) ? aArray[ nI ] @@ -308,7 +309,7 @@ PROCEDURE Main() ? '? "RecCount:", NEWRDD->( RecCount() )' ? "" NEWRDD->( dbCloseArea() ) - dbUseArea( .T. , "DBF", "newrdd", "NEWRDD", .F. , .F. ) + dbUseArea( .T. , "DBFCDX", "newrdd", "NEWRDD", .F. , .F. ) ? "Press any key to continue..." Inkey( 0 ) @@ -338,17 +339,17 @@ PROCEDURE Main() ? 'SORT ON FIRST /DC, AGE /D TO NEWRDD' ? 'dbUseArea( .T., "DBF", "newrdd", "NEWRDD", .F., .F. )' ? '? "RecCount:", NEWRDD->( RecCount() )' - ? 'for nI := 1 to 8' + ? 'FOR nI := 1 TO 8' ? ' ? NEWRDD->FIRST, NEWRDD->AGE' ? ' NEWRDD->( dbSkip() )' - ? 'next' + ? 'NEXT' ? '? "..."' ? 'NEWRDD->( dbGoBottom() )' ? 'NEWRDD->( dbSkip( -8 ) )' - ? 'for nI := 1 to 8' + ? 'FOR nI := 1 TO 8' ? ' ? NEWRDD->FIRST, NEWRDD->AGE' ? ' NEWRDD->( dbSkip() )' - ? 'next' + ? 'NEXT' ? "Press any key to continue..." Inkey( 0 ) @@ -356,7 +357,7 @@ PROCEDURE Main() NEWRDD->( dbCloseArea() ) SELECT( "TESTDBF" ) - SORT ON FIRST /DC, AGE /D TO NEWRDD + SORT ON FIRST /DC, AGE /D TO newrdd dbUseArea( .T. , "DBF", "newrdd", "NEWRDD", .F. , .F. ) ? "RecCount:", NEWRDD->( RecCount() ) diff --git a/harbour/tests/readhrb.prg b/harbour/tests/readhrb.prg index 32597eb16b..ddf31b0dcc 100644 --- a/harbour/tests/readhrb.prg +++ b/harbour/tests/readhrb.prg @@ -80,9 +80,10 @@ PROCEDURE Main( cFrom ) ELSE FReadStr( hFile, 2 ) cBlock := FReadStr( hFile, 4 ) - nSymbols := hb_BCode( hb_BSubStr( cBlock, 1, 1 ) ) + ; - hb_BCode( hb_BSubStr( cBlock, 2, 1 ) ) * 256 + ; - hb_BCode( hb_BSubStr( cBlock, 3, 1 ) ) * 65536 + ; + nSymbols := ; + hb_BCode( hb_BSubStr( cBlock, 1, 1 ) ) + ; + hb_BCode( hb_BSubStr( cBlock, 2, 1 ) ) * 256 + ; + hb_BCode( hb_BSubStr( cBlock, 3, 1 ) ) * 65536 + ; hb_BCode( hb_BSubStr( cBlock, 4, 1 ) ) * 16777216 ?? "+--------------------------+------------+---------------------------------+" @@ -110,9 +111,10 @@ PROCEDURE Main( cFrom ) IF m $ "Yy" ? cBlock := FReadStr( hFile, 4 ) - nFuncs := hb_BCode( hb_BSubStr( cBlock, 1, 1 ) ) + ; - hb_BCode( hb_BSubStr( cBlock, 2, 1 ) ) * 256 + ; - hb_BCode( hb_BSubStr( cBlock, 3, 1 ) ) * 65536 + ; + nFuncs := ; + hb_BCode( hb_BSubStr( cBlock, 1, 1 ) ) + ; + hb_BCode( hb_BSubStr( cBlock, 2, 1 ) ) * 256 + ; + hb_BCode( hb_BSubStr( cBlock, 3, 1 ) ) * 65536 + ; hb_BCode( hb_BSubStr( cBlock, 4, 1 ) ) * 16777216 FOR n := 1 TO nFuncs cBlock := FReadStr( hFile, 1 ) @@ -122,9 +124,10 @@ PROCEDURE Main( cFrom ) cBlock := FReadStr( hFile, 1 ) ENDDO cBlock := FReadStr( hFile, 4 ) - nLenCount := hb_BCode( hb_BSubStr( cBlock, 1, 1 ) ) + ; - hb_BCode( hb_BSubStr( cBlock, 2, 1 ) ) * 256 + ; - hb_BCode( hb_BSubStr( cBlock, 3, 1 ) ) * 65536 + ; + nLenCount := ; + hb_BCode( hb_BSubStr( cBlock, 1, 1 ) ) + ; + hb_BCode( hb_BSubStr( cBlock, 2, 1 ) ) * 256 + ; + hb_BCode( hb_BSubStr( cBlock, 3, 1 ) ) * 65536 + ; hb_BCode( hb_BSubStr( cBlock, 4, 1 ) ) * 16777216 ? "Symbol:", cSymbol @@ -134,7 +137,7 @@ PROCEDURE Main( cFrom ) FOR m := 1 TO nLenCount cBlock := FReadStr( hFile, 1 ) nVal := hb_BCode( cBlock ) - ?? Hex2Val( nVal ) + ?? hb_NumToHex( nVal, 2 ) IF nVal > 32 .AND. nVal < 128 ?? "(" + cBlock + ")" ENDIF @@ -156,7 +159,7 @@ PROCEDURE PrintItem( cSymbol, nType, nScope ) LOCAL aTypes := { "NOLINK", "FUNC", "EXTERN", "SYM_DEF" } - ? "| " + PadR( cSymbol,25 ) + "| " + ; + ? "| " + PadR( cSymbol, 25 ) + "| " + ; PadR( hb_ntos( nType - 1 ) + " (" + aTypes[ nType ] + ")", 11 ) + "| " + ; PadR( DecodeScope( nScope ), 32 ) + "|" @@ -173,12 +176,4 @@ FUNCTION DecodeScope( nScope ) ENDIF NEXT - RETURN Hex2Val( nScope ) + iif( Empty( cScope ), "", " (" + SubStr( cScope, 2 ) + ")" ) - -FUNCTION Hex2Val( nVal ) - - RETURN HexDigit( Int( nVal / 16 ) ) + HexDigit( Int( nVal % 16 ) ) - -FUNCTION HexDigit( nDigit ) - - RETURN iif( nDigit >= 10, Chr( 55 + nDigit ), Chr( 48 + nDigit ) ) + RETURN hb_NumToHex( nScope, 2 ) + iif( Empty( cScope ), "", " (" + SubStr( cScope, 2 ) + ")" ) diff --git a/harbour/tests/stripem.prg b/harbour/tests/stripem.prg index b3be9fe64a..e117957e45 100644 --- a/harbour/tests/stripem.prg +++ b/harbour/tests/stripem.prg @@ -136,9 +136,6 @@ FUNCTION Dispose() ::cBlock := NIL IF ::hFile != F_ERROR - IF ::cMode == "W" .AND. ::nError != 0 - ::Write( Chr( 26 ) ) // Do not forget EOF marker - ENDIF IF ! FClose( ::hFile ) ::nError := FError() ? "Dos Error closing ", ::cFileName, " Code ", ::nError @@ -176,7 +173,7 @@ FUNCTION READ() ENDIF IF ! ::lEoF - ::nLine := ::nLine + 1 // ++ not available + ::nLine++ nCRPos := At( Chr( 10 ), ::cBlock ) IF nCRPos != 0 // More than one line read cRet := SubStr( ::cBlock, 1, nCRPos - 1 ) @@ -186,15 +183,15 @@ FUNCTION READ() ::cBlock := "" cRet += ::Read() // Read the rest IF ! ::lEoF - ::nLine := ::nLine - 1 // Adjust erroneous line count + ::nLine-- // Adjust erroneous line count ENDIF ENDIF - nEoFPos := At( Chr( 26 ), cRet ) + nEoFPos := hb_BAt( Chr( 26 ), cRet ) IF nEoFPos != 0 // End of file read - cRet := SubStr( cRet, 1, nEoFPos - 1 ) + cRet := hb_BSubStr( cRet, 1, nEoFPos - 1 ) ::lEoF := .T. ENDIF - cRet := StrTran( cRet, Chr( 13 ), "" ) // Remove CR + cRet := StrTran( cRet, Chr( 13 ) ) // Remove CR ENDIF ENDIF @@ -218,9 +215,9 @@ FUNCTION WriteLn( xTxt, lCRLF ) ELSEIF !( ::cMode == "W" ) ? "File ", ::cFileName, " not opened for writing" ELSE - cBlock := ToChar( xTxt ) // Convert to string - IF DEFAULT( lCRLF, .T. ) - cBlock += Chr( 10 ) // +chr(13) ?? + cBlock := hb_ValToExp( xTxt ) // Convert to string + IF Default( lCRLF, .T. ) + cBlock += hb_eol() ENDIF FWrite( ::hFile, cBlock, Len( cBlock ) ) IF FError() != 0 @@ -235,7 +232,7 @@ FUNCTION WriteLn( xTxt, lCRLF ) // Go to a specified line number // -FUNCTION GOTO( nLine ) +STATIC FUNCTION GOTO( nLine ) LOCAL self := QSelf() LOCAL nWhere := 1 @@ -256,39 +253,3 @@ FUNCTION GOTO( nLine ) ENDIF RETURN ! ::lEoF - -FUNCTION ToChar( xVal ) - - LOCAL cType := ValType( xVal ) - - DO CASE - CASE cType == "U" - RETURN "NIL" - - CASE cType == "A" - RETURN "{}" - - CASE cType == "B" - RETURN "{|| }" - - CASE cType == "C" - RETURN xVal - - CASE cType == "D" - RETURN DToC( xVal ) - - CASE cType == "L" - RETURN iif( xVal, ".T.", ".F." ) - - CASE cType == "M" - RETURN xVal - - CASE cType == "N" - RETURN Str( xVal ) - - CASE cType == "O" - RETURN "{::}" - - ENDCASE - - RETURN "?" diff --git a/harbour/tests/test.prg b/harbour/tests/test.prg index 141037fe9f..ee4c42977e 100644 --- a/harbour/tests/test.prg +++ b/harbour/tests/test.prg @@ -9,9 +9,9 @@ PROCEDURE Main() StrDump( s ) ? s - ? Chr( 34 ) + LTrim( s ) + Chr( 34 ) - ? Chr( 34 ) + RTrim( s ) + Chr( 34 ) - ? Chr( 34 ) + AllTrim( s ) + Chr( 34 ) + ? '"' + LTrim( s ) + '"' + ? '"' + RTrim( s ) + '"' + ? '"' + AllTrim( s ) + '"' RETURN diff --git a/harbour/tests/version.prg b/harbour/tests/version.prg index 6321d77287..5c63f1e556 100644 --- a/harbour/tests/version.prg +++ b/harbour/tests/version.prg @@ -11,8 +11,8 @@ PROCEDURE Main() - ? Chr( 34 ) + Version() + Chr( 34 ) - ? Chr( 34 ) + hb_compiler() + Chr( 34 ) - ? Chr( 34 ) + OS() + Chr( 34 ) + ? '"' + Version() + '"' + ? '"' + hb_compiler() + '"' + ? '"' + OS() + '"' RETURN