diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f990dfc0b0..ce1ca8e59d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,16 @@ The license applies to all entries newer than 2009-04-28. */ +2012-09-26 17:11 UTC+0200 Viktor Szakats (harbour syenar.net) + * contrib/hbnf/aredit.prg + * contrib/hbnf/calendar.prg + * contrib/hbnf/menu1.prg + * contrib/hbnf/popadder.prg + + use std headers and constants instead of locally rolled + solutions + + KEYBOARD -> hb_keyPut() + * formatting + 2012-09-26 16:41 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbnf/dosver.prg * contrib/hbnf/eltime.prg diff --git a/harbour/contrib/hbnf/aredit.prg b/harbour/contrib/hbnf/aredit.prg index e5cad60219..d0b71234e4 100644 --- a/harbour/contrib/hbnf/aredit.prg +++ b/harbour/contrib/hbnf/aredit.prg @@ -217,12 +217,11 @@ FUNCTION FT_ArEdit( nTop, nLeft, nBot, nRight, ; CASE HB_ISBLOCK( bGetFunc ) IF nKey != K_ENTER // want last key to be part of GET edit so KEYBOARD it - KEYBOARD Chr( LastKey() ) + hb_keyPut( LastKey() ) ENDIF Eval( bGetFunc, b, ar, b:colPos, nElem ) // after get move to next field - KEYBOARD iif( b:colPos < b:colCount, ; - Chr( K_RIGHT ), Chr( K_HOME ) + Chr( K_DOWN ) ) + hb_keyPut( iif( b:colPos < b:colCount, K_RIGHT, { K_HOME, K_DOWN } ) ) // Placing K_ENTER here below Edit Block (i.e. bGetFunc) // defaults K_ENTER to Edit when bGetFunc Is Present diff --git a/harbour/contrib/hbnf/calendar.prg b/harbour/contrib/hbnf/calendar.prg index 1fdb448333..cf96539ce3 100644 --- a/harbour/contrib/hbnf/calendar.prg +++ b/harbour/contrib/hbnf/calendar.prg @@ -21,6 +21,7 @@ * */ +#include "inkey.ch" #include "setcurs.ch" #ifdef FT_TEST @@ -30,11 +31,11 @@ PROCEDURE Main() LOCAL aRet[ 8 ], i SetColor( "w+/b" ) - cls + CLS IF ft_numlock() ft_numlock( .F. ) ENDIF - KEYBOARD Chr( 28 ) + hb_keyPut( K_F1 ) aRet := ft_calendar( 10, 40, "w+/rb", .T. , .T. ) //display calendar, return all. @ 1, 0 SAY "Date :" + DToC( aRet[ 1 ] ) @ 2, 0 SAY "Month Number:" + Str( aRet[ 2 ], 2, 0 ) @@ -49,12 +50,10 @@ PROCEDURE Main() #endif -#include "inkey.ch" - FUNCTION FT_CALENDAR( nRow, nCol, cColor, lShadow, lShowHelp ) LOCAL nJump := 0, nKey := 0, cSavColor, cSaveScreen, cSaveCursor - LOCAL aRetVal[8] + LOCAL aRetVal[ 8 ] LOCAL nHelpRow, cSaveHelp, lHelpIsDisplayed := .F. nRow := iif( nRow != NIL, nRow, 1 ) //check display row diff --git a/harbour/contrib/hbnf/menu1.prg b/harbour/contrib/hbnf/menu1.prg index 555e4f1c9e..a8af82bcdb 100644 --- a/harbour/contrib/hbnf/menu1.prg +++ b/harbour/contrib/hbnf/menu1.prg @@ -36,29 +36,12 @@ PASS "VGA" OR "VGA" AS A COMMAND LINE PARAMETER FOR 50-LINE MODE. */ -#define LEFTARROW 19 -#define RIGHTARROW 4 -#define ENTER 13 -#define CTRLEND 23 -#define CTRLHOME 29 -#define HOME 1 -#define END 6 -#define TAB 9 -#define SHIFTTAB 271 -#define PGUP 18 -#define PGDN 3 -#define ESCAPE 27 -#define HITTOP 1 -#define HITBOTTOM 2 -#define KEYEXCEPT 3 -#define NEXTITEM 3 -#define RESUME 2 -#define MAKESELECT 1 -#define ABORT 0 +#include "achoice.ch" +#include "inkey.ch" +#include "setcurs.ch" + #define DISABLE 0 #define ENABLE 1 -#define SCNONE 0 -#define SCNORMAL 1 THREAD STATIC aChoices := {} THREAD STATIC aValidKeys := {} @@ -178,7 +161,7 @@ PROCEDURE CALLMENU( cCmdLine ) FT_MENU1( aBar, aOptions, aColors ) SetColor( "W/N" ) - SetCursor( SCNORMAL ) + SetCursor( SC_NORMAL ) SetBlink( .T. ) IF "VGA" $ Upper( cCmdLine ) SetMode( 25, 80 ) @@ -296,17 +279,17 @@ FUNCTION FT_MENU1( aBar, aOptions, aColors, nTopRow, lShadow ) SetColor( cBox + "," + cCurrent + ",,," + cUnselec ) nVpos := AChoice( nTopRow + 2, aBoxLoc[ nHpos ] + 2, Len( aChoices[ nHpos, 1 ] ) + nTopRow + 2, aBarWidth[ nHpos ] + 1 + aBoxLoc[ nHpos ], aChoices[ nHpos, 1 ], aChoices[ nHpos, 3 ], "__ftAcUdf", aLastSel[ nHpos ] ) DO CASE - CASE LastKey() == RIGHTARROW .OR. LastKey() == TAB + CASE LastKey() == K_RIGHT .OR. LastKey() == K_TAB nHpos := iif( nHpos == Len( aChoices ), 1, nHpos + 1 ) - CASE LastKey() == LEFTARROW .OR. LastKey() == SHIFTTAB + CASE LastKey() == K_LEFT .OR. LastKey() == K_SH_TAB nHpos := iif( nHpos == 1, Len( aChoices ), nHpos - 1 ) - CASE LastKey() == ESCAPE + CASE LastKey() == K_ESC lLooping := _ftBailOut( cBorder, cBox ) - CASE LastKey() == HOME + CASE LastKey() == K_HOME nHpos := 1 - CASE LastKey() == END + CASE LastKey() == K_END nHpos := Len( aChoices ) - CASE LastKey() == ENTER + CASE LastKey() == K_ENTER aLastSel[ nHpos ] := nVpos IF aChoices[ nHpos, 2, nVpos ] != NIL SetCancel( lCancMode ) @@ -328,20 +311,20 @@ FUNCTION FT_MENU1( aBar, aOptions, aColors, nTopRow, lShadow ) // ACHOICE() user function FUNCTION __ftAcUdf( nMode ) - LOCAL nRtnVal := RESUME + LOCAL nRtnVal := AC_CONT DO CASE - CASE nMode == HITTOP - KEYBOARD Chr( CTRLEND ) - CASE nMode == HITBOTTOM - KEYBOARD Chr( CTRLHOME ) - CASE nMode == KEYEXCEPT + CASE nMode == AC_HITTOP + hb_keyPut( K_CTRL_END ) + CASE nMode == AC_HITBOTTOM + hb_keyPut( K_CTRL_HOME ) + CASE nMode == AC_EXCEPT IF Upper( Chr( LastKey() ) ) $ aValidKeys[ nHpos ] IF aChoices[ nHpos, 3, At( Upper( Chr( LastKey() ) ), aValidKeys[ nHpos ] ) ] - KEYBOARD Chr( ENTER ) - nRtnVal := NEXTITEM + hb_keyPut( K_ENTER ) + nRtnVal := AC_GOTO ENDIF ELSE - nRtnVal := MAKESELECT + nRtnVal := AC_SELECT ENDIF ENDCASE @@ -365,7 +348,7 @@ STATIC FUNCTION _ftBailOut( cBorder, cBox ) LOCAL cOldColor, sOldScreen, nKeyPress, nOldCursor - nOldCursor := SetCursor( SCNONE ) + nOldCursor := SetCursor( SC_NONE ) sOldScreen := SaveScreen( nMaxRow / 2 - 1, 24, nMaxRow / 2 + 2, 55 ) cOldColor := SetColor( cBorder ) FT_SHADOW( nMaxRow / 2 - 1, 24, nMaxRow / 2 + 2, 55 ) @@ -378,7 +361,7 @@ STATIC FUNCTION _ftBailOut( cBorder, cBox ) RestScreen( nMaxRow / 2 - 1, 24, nMaxRow / 2 + 2, 55, sOldScreen ) SetCursor( nOldCursor ) - RETURN !( nKeyPress == ESCAPE ) + RETURN !( nKeyPress == K_ESC ) STATIC FUNCTION _ftValKeys( nNum, aChoices, aValidkeys ) diff --git a/harbour/contrib/hbnf/popadder.prg b/harbour/contrib/hbnf/popadder.prg index ce89cffeb0..60eacf985b 100644 --- a/harbour/contrib/hbnf/popadder.prg +++ b/harbour/contrib/hbnf/popadder.prg @@ -67,23 +67,23 @@ #define nTotTran Len( aTrans ) -#command DISPMESSAGE ,,,, => ; - _ftPushKeys(); KEYBOARD Chr( K_CTRL_PGDN ) + Chr( K_CTRL_W ) ;; +#command DISPMESSAGE ,,,, => ; + _ftPushKeys(); hb_keyPut( { K_CTRL_PGDN, K_CTRL_W } ) ;; MemoEdit( < mess > , < t > , < l > , < b > , < r > , .F. , NIL, ( < r > ) - ( < l > ) + 1 ) ;; _ftPopKeys() #define ASHRINK( ar ) ASize( ar, Len( ar ) - 1 ) /* This INKEY UDC was posted by Don Caton on NanForum... Thanks Don */ -#command FT_INKEY [ ] TO ; - => ; - WHILE .T. ;; - < var > := Inkey( [ ] ) ;; - IF SetKey( < var > ) != NIL ;; - Eval( SetKey( < var > ), ProcName(), ProcLine(), #< var > ) ;; - ELSE ;; - EXIT ;; - END ;; +#command FT_INKEY [ ] TO ; + => ; + WHILE .T. ;; + < var > := Inkey( [ ] ) ;; + IF SetKey( < var > ) != NIL ;; + Eval( SetKey( < var > ), ProcName(), ProcLine(), #< var > ) ;; + ELSE ;; + EXIT ;; + END ;; END // Instead of using STATIC variables for these I'm using a LOCAL array @@ -341,7 +341,7 @@ FUNCTION FT_Adder() " a TOTAL before you can return it to the program." ) ENDIF ENDCASE - ENDDO ( WHILE .T. DATA entry FROM keyboard ) + ENDDO // Reset the STATICS to NIL aKeys := aWindow := aWinColor := aStdColor := NIL @@ -1044,7 +1044,7 @@ STATIC FUNCTION _ftDisplayTape( aAdder, nKey ) STATIC FUNCTION _ftSetLastKey( nLastKey ) _ftPushKeys() - KEYBOARD Chr( nLastKey ) + hb_keyPut( nLastKey ) Inkey() _ftPopKeys() @@ -1088,12 +1088,9 @@ STATIC FUNCTION _ftPushKeys STATIC FUNCTION _ftPopKeys - LOCAL cKeys := "" - - IF Len( aKeys ) != 0 - AEval( aKeys, {| elem | cKeys += Chr( elem ) } ) + IF ! Empty( aKeys ) + hb_keyPut( aKeys ) ENDIF - KEYBOARD cKeys aKeys := {} RETURN NIL @@ -1318,7 +1315,7 @@ FUNCTION _ftAdderTapeUDF( mode, cur_elem, rel_pos ) CASE nKey == 30 nRtnVal := AC_CONT CASE nKey == K_ESC - KEYBOARD Chr( K_CTRL_PGDN ) + Chr( K_RETURN ) // Go to last item + hb_keyPut( { K_CTRL_PGDN, K_RETURN } ) // Go to last item ac_exit_ok := .T. nRtnVal := AC_CONT CASE ac_exit_ok