diff --git a/ChangeLog.txt b/ChangeLog.txt index 8ba99445d3..8fc642b3a6 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,14 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2015-03-23 16:21 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * include/std.ch + + added VIA and CODEPAGE parameters to SORT TO and TOTAL TO commands + * formatting + + * include/hbsix.ch + * synced SIX3 compatible SORT TO command with core SORT TO parameters + 2015-03-23 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * include/hbapirdd.h * include/hbusrrdd.ch diff --git a/include/hbsix.ch b/include/hbsix.ch index 5ab9c20fb4..a4c7c17181 100644 --- a/include/hbsix.ch +++ b/include/hbsix.ch @@ -89,11 +89,11 @@ */ #command SORT [TO <(f)>] [ON ] ; [FOR ] [WHILE ] [NEXT ] ; - [RECORD ] [] [] ; - [] [NOOPTIMIZE] => ; + [RECORD ] [] [ALL] [VIA ] ; + [CODEPAGE ] [] [NOOPTIMIZE] => ; sx_SortOption(<.cur.>); ; __dbSort( <(f)>, { <(fields)> }, ; - <{for}>, <{while}>, , , <.rest.> ) + <{for}>, <{while}>, , , <.rest.>, , , ) /* diff --git a/include/std.ch b/include/std.ch index f143bf46af..635296c92e 100644 --- a/include/std.ch +++ b/include/std.ch @@ -93,11 +93,11 @@ #command SET FORMAT TO . => ; _ProcReq_( <(id)> + "." + <(ext)> ) ; __SetFormat( {|| ()} ) #command SET FORMAT TO => ; - if ( Empty(<(id)>) ) ; SET FORMAT TO ; else ;; - __SetFormat( &("{||" + <(id)> + "()}") ) ; end + if ( Empty( <(id)> ) ) ; SET FORMAT TO ; else ;; + __SetFormat( &( "{||" + <(id)> + "()}" ) ) ; end #command SET FORMAT TO => __SetFormat() -#define _DFSET(x, y) Set( _SET_DATEFORMAT, if(__SetCentury(), x, y) ) +#define _DFSET( x, y ) Set( _SET_DATEFORMAT, iif( __SetCentury(), x, y ) ) #command SET DATE [TO] AMERICAN => _DFSET( "mm/dd/yyyy", "mm/dd/yy" ) #command SET DATE [TO] ANSI => _DFSET( "yyyy.mm.dd", "yy.mm.dd" ) #command SET DATE [TO] BRITISH => _DFSET( "dd/mm/yyyy", "dd/mm/yy" ) @@ -161,8 +161,8 @@ #command SET PRINTER TO <(file)> [] => ; Set( _SET_PRINTFILE, <(file)>, <.add.> ) #command SET CURSOR => ; - SetCursor( if(Upper(<(x)>) == "ON", 1, 0) ) -#command SET CURSOR () => SetCursor( if(, 1, 0) ) + SetCursor( iif( Upper( <(x)> ) == "ON", 1, 0 ) ) +#command SET CURSOR () => SetCursor( iif( , 1, 0 ) ) #command SET MARGIN TO => Set( _SET_MARGIN, ) #command SET MARGIN TO => Set( _SET_MARGIN, 0 ) #command SET DEVICE TO SCREEN => Set( _SET_DEVICE, "SCREEN" ) @@ -173,18 +173,18 @@ #command SET ORDER TO [IN <(bg)>] => ordSetFocus( [, <(bg)>] ) #command SET ORDER TO TAG <(tg)> [IN <(bg)>] => ordSetFocus( <(tg)> [, <(bg)>] ) #command SET INDEX TO [<(i1)> [,<(iN)>]] [] => ; - if !<.add.> ; ordListClear() ; end ; + if ! <.add.> ; ordListClear() ; end ; [ ; ordListAdd( <(i1)> )] [ ; ordListAdd( <(iN)> )] #command SET MESSAGE TO [] => ; Set( _SET_MESSAGE, ) ; Set( _SET_MCENTER, <.cent.> ) #command SET MESSAGE TO => Set( _SET_MESSAGE, 0 ) ;; Set( _SET_MCENTER, .f. ) #command SET TYPEAHEAD TO => Set( _SET_TYPEAHEAD, ) -#command SET KEY TO => SetKey( , {|p, l, v| (p, l, v)} ) +#command SET KEY TO => SetKey( , {|p, l, v| ( p, l, v ) } ) #command SET KEY TO ([]) => SET KEY TO #command SET KEY TO => ; - if ( Empty(<(f)>) ) ; SetKey( , NIL ) ; else ;; - SetKey( , {|p, l, v| (p, l, v)} ) ; end + if ( Empty( <(f)> ) ) ; SetKey( , NIL ) ; else ;; + SetKey( , {|p, l, v| ( p, l, v ) } ) ; end #command SET KEY [TO] => SetKey( , NIL ) #command SET FUNCTION [TO] [] => __SetFunction( , ) @@ -229,7 +229,7 @@ #xcommand TEXTBLOCK <*cText*> => #endif -#command CLS => Scroll() ; SetPos(0,0) +#command CLS => Scroll() ; SetPos( 0, 0 ) #command CLEAR SCREEN => CLS #command SAVE SCREEN => __XSaveScreen() #command RESTORE SCREEN => __XRestScreen() @@ -255,13 +255,13 @@ #command @ , PROMPT [MESSAGE ] => ; __AtPrompt( , , , ) #command MENU TO => ; - := __MenuTo( {|_1| if(PCount() == 0, , := _1)}, # ) + := __MenuTo( {|_1| iif( PCount() == 0, , := _1 ) }, # ) #command WAIT [] => __Wait( ) #command WAIT [] TO => := __Wait( ) #command ACCEPT [] TO => := __Accept( ) #command INPUT [] TO => ; - if ( !Empty(__Accept()) ) ; := &( __AcceptStr() ) ; end + if ( ! Empty( __Accept( ) ) ) ; := &( __AcceptStr() ) ; end #command KEYBOARD => __Keyboard( ) #command CLEAR TYPEAHEAD => __Keyboard() #command CLEAR MEMORY => __MVClear() @@ -304,8 +304,8 @@ #command CLOSE => ->( dbCloseArea() ) #command CLOSE => dbCloseArea() #command CLOSE DATABASES => dbCloseAll() -#command CLOSE ALTERNATE => Set(_SET_ALTFILE, "") -#command CLOSE FORMAT => __SetFormat(NIL) +#command CLOSE ALTERNATE => Set( _SET_ALTFILE, "" ) +#command CLOSE FORMAT => __SetFormat( NIL ) #command CLOSE INDEXES => dbClearIndex() #command CLOSE PROCEDURE => #command CLOSE ALL => CLOSE DATABASES ; SELECT 1 ; CLOSE FORMAT @@ -315,13 +315,13 @@ SET ALTERNATE OFF ; SET ALTERNATE TO #command SELECT => dbSelectArea( <(area)> ) -#command SELECT ([]) => dbSelectArea( (

) ) +#command SELECT ([]) => dbSelectArea( (

) ) #command USE => dbCloseArea() #command USE <(db)> [VIA ] [ALIAS ] [] ; [] [] [] ; [CODEPAGE ] [INDEX <(index1)> [, <(indexN)>]] => ; dbUseArea( <.nw.>, , <(db)>, <(a)>, ; - if(<.sh.> .or. <.ex.>, !<.ex.>, NIL), <.ro.> [, ] ) ; + iif( <.sh.> .OR. <.ex.>, ! <.ex.>, NIL ), <.ro.> [, ] ) ; [; dbSetIndex( <(index1)> )] ; [; dbSetIndex( <(indexN)> )] @@ -331,26 +331,26 @@ #command UNLOCK => dbUnlock() #command UNLOCK ALL => dbUnlockAll() #command COMMIT => dbCommitAll() -#command GOTO => dbGoto() -#command GO => dbGoto() +#command GOTO => dbGoto( ) +#command GO => dbGoto( ) #command GOTO TOP => dbGoTop() #command GO TOP => dbGoTop() #command GOTO BOTTOM => dbGoBottom() #command GO BOTTOM => dbGoBottom() -#command SKIP => dbSkip(1) +#command SKIP => dbSkip() #command SKIP => dbSkip( ) -#command SKIP ALIAS => ->( dbSkip(1) ) -#command SKIP ALIAS => ->( dbSkip() ) +#command SKIP ALIAS => ->( dbSkip() ) +#command SKIP ALIAS => ->( dbSkip( ) ) #command FIND <*text*> => dbSeek( <(text)> ) #command FIND := => ( find := ) #command FIND = => ( find := ) #command CONTINUE => __dbContinue() #ifdef HB_COMPAT_C53 #command SEEK [] [] => ; - dbSeek( , if( <.soft.>, .T., NIL ), if( <.last.>, .T., NIL ) ) + dbSeek( , iif( <.soft.>, .T., NIL ), iif( <.last.>, .T., NIL ) ) #else #command SEEK [] => ; - dbSeek( , if( <.soft.>, .T., NIL ) ) + dbSeek( , iif( <.soft.>, .T., NIL ) ) #endif #command LOCATE [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; @@ -360,13 +360,13 @@ #command SET RELATION [] ; [TO INTO <(alias1)> []; [, [TO] INTO <(aliasN)> []]] => ; - if ( !<.add.> ) ; dbClearRelation() ; end ; + if ( ! <.add.> ) ; dbClearRelation() ; end ; ; dbSetRelation( <(alias1)>, <{exp1}>, <"exp1">, <.scp1.> ) ; [ ; dbSetRelation( <(aliasN)>, <{expN}>, <"expN">, <.scpN.> )] -#command SET FILTER TO => dbClearFilter(NIL) +#command SET FILTER TO => dbClearFilter( NIL ) #command SET FILTER TO => dbSetFilter( <{exp}>, <"exp"> ) -#command SET FILTER TO => if ( Empty(<(x)>) ) ; dbClearFilter() ;; +#command SET FILTER TO => if ( Empty( <(x)> ) ) ; dbClearFilter() ;; else ; dbSetFilter( <{x}>, <(x)> ) ; end #command REPLACE [ WITH [, WITH ] ] ; [FOR ] [WHILE ] [NEXT ] ; @@ -435,15 +435,17 @@ #command SORT [TO <(f)>] [ON ] ; [FOR ] [WHILE ] [NEXT ] ; - [RECORD ] [] [ALL] [CODEPAGE ] => ; + [RECORD ] [] [ALL] [VIA ] ; + [CODEPAGE ] => ; __dbSort( <(f)>, { <(fields)> }, ; - <{for}>, <{while}>, , , <.rest.>, , , ) + <{for}>, <{while}>, , , <.rest.>, , , ) #command TOTAL [TO <(f)>] [ON ] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; - [RECORD ] [] [ALL] [CODEPAGE ] => ; + [RECORD ] [] [ALL] [VIA ] ; + [CODEPAGE ] => ; __dbTotal( <(f)>, <{key}>, { <(fields)> }, ; - <{for}>, <{while}>, , , <.rest.>, , , ) + <{for}>, <{while}>, , , <.rest.>, , , ) #command UPDATE [FROM <(alias)>] [ON ] [] ; [REPLACE WITH [, WITH ]] => ; @@ -452,7 +454,7 @@ #command JOIN [WITH <(alias)>] [TO ] [FIELDS ] [FOR ] => ; __dbJoin( <(alias)>, <(f)>, { <(fields)> }, ; - if(EMPTY(#), {|| .T. }, <{for}> ) ) + iif( Empty( # ), {|| .T. }, <{for}> ) ) #command COUNT [TO ] ; [FOR ] [WHILE ] [NEXT ] ; @@ -538,17 +540,17 @@ ordCreate( <(bag)>, <(tag)>, <"key">, <{key}>, [<.unique.>] ) #command INDEX ON TO <(file)> [] => ; - dbCreateIndex( <(file)>, <"key">, <{key}>, if( <.u.>, .t., NIL ) ) + dbCreateIndex( <(file)>, <"key">, <{key}>, iif( <.u.>, .t., NIL ) ) #command REINDEX [EVAL ] [EVERY ] [] => ; - ordCondSet(,,,, <{eval}>, ,,,,,,,,,, <.lNoOpt.>) ;; + ordCondSet( ,,,, <{eval}>, ,,,,,,,,,, <.lNoOpt.> ) ;; ordListRebuild() #command REINDEX => ordListRebuild() -#command READ => ReadModal(GetList) ; GetList := {} ; ( GetList ) -#command READ SAVE => ReadModal(GetList) -#command CLEAR GETS => ReadKill(.T.) ; GetList := {} ; ( GetList ) +#command READ => ReadModal( GetList ) ; GetList := {} ; ( GetList ) +#command READ SAVE => ReadModal( GetList ) +#command CLEAR GETS => ReadKill( .T. ) ; GetList := {} ; ( GetList ) #xcommand @ [] COLOUR [] => @ [ ] COLOR [ ] @@ -561,7 +563,7 @@ VALID {|_1| RangeCheck( _1, , , ) } [ ] #command @ , GET [] COLOR [] => ; - @ , GET [ ] SEND colorDisp() [ ] + @ , GET [ ] SEND colorDisp( ) [ ] #ifdef HB_COMPAT_C53 @@ -579,11 +581,11 @@ [CAPTION ] [MESSAGE ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <"v">, , <{valid}>, <{when}> ) ) ;; - [ ATail(GetList):Caption := ;; - ATail(GetList):CapRow := ATail(Getlist):row ;; - ATail(GetList):CapCol := ATail(Getlist):col - __CapLength() - 1 ;] ; - [ ATail(GetList):message := ;] [ ATail(GetList): ;] ; - ATail(GetList):Display() + [ ATail( GetList ):Caption := ;; + ATail( GetList ):CapRow := ATail( Getlist ):row ;; + ATail( GetList ):CapCol := ATail( Getlist ):col - __CapLength( ) - 1 ;] ; + [ ATail( GetList ):message := ;] [ ATail( GetList ): ;] ; + ATail( GetList ):Display() #command @ , GET CHECKBOX [VALID ] [WHEN ] ; [CAPTION ] [MESSAGE ] [COLOR ] ; @@ -591,11 +593,11 @@ [SEND ] [GUISEND ] [BITMAPS ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; - ATail(GetList):Control := _CheckBox_( , , ; + ATail( GetList ):Control := _CheckBox_( , , ; , , <{fb}>, <{sb}>, , ) ;; - ATail(GetList):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; - [ ATail(GetList): ;] [ ATail(GetList):Control: ;] ; - ATail(GetList):Control:Display() + ATail( GetList ):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; + [ ATail( GetList ): ;] [ ATail( GetList ):Control: ;] ; + ATail( GetList ):Control:Display() #command @ , , , GET LISTBOX ; [VALID ] [WHEN ] ; @@ -604,12 +606,12 @@ [SEND ] [GUISEND ] [BITMAP ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; - ATail(GetList):Control := _ListBox_( ATail(Getlist):row, ; - ATail(Getlist):col, , , , , , ; + ATail( GetList ):Control := _ListBox_( ATail( Getlist ):row, ; + ATail( Getlist ):col, , , , , , ; , , <{fb}>, <{sb}>, <.dd.>, <.sbar.>, ) ;; - ATail(GetList):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; - [ ATail(GetList): ;] [ ATail(GetList):Control: ;] ; - ATail(GetList):Control:Display() + ATail( GetList ):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; + [ ATail( GetList ): ;] [ ATail( GetList ):Control: ;] ; + ATail( GetList ):Control:Display() #command @ , GET PUSHBUTTON ; [VALID ] [WHEN ] ; @@ -620,11 +622,11 @@ [BMPOFF X Y ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; - ATail(GetList):Control := _PushButt_( , , , <{fb}>,; + ATail( GetList ):Control := _PushButt_( , , , <{fb}>,; <{sb}>, , , , , , , , ) ;; - ATail(GetList):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; - [ ATail(GetList): ;] [ ATail(GetList):Control: ;] ; - ATail(GetList):Control:Display() + ATail( GetList ):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; + [ ATail( GetList ): ;] [ ATail( GetList ):Control: ;] ; + ATail( GetList ):Control:Display() #command @ , , , GET RADIOGROUP ; [VALID ] [WHEN ] ; @@ -633,38 +635,38 @@ [SEND ] [GUISEND ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; - ATail(GetList):Control := _RadioGrp_( ATail(Getlist):row, ; - ATail(Getlist):col, , , , , ,; + ATail( GetList ):Control := _RadioGrp_( ATail( Getlist ):row, ; + ATail( Getlist ):col, , , , , ,; , , <{fb}>, ) ;; - ATail(GetList):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; - [ ATail(GetList): ;] [ ATail(GetList):Control: ;] ; - ATail(GetList):Control:Display() + ATail( GetList ):reader := {| a, b, c, d | GuiReader( a, b, c, d ) } ;; + [ ATail( GetList ): ;] [ ATail( GetList ):Control: ;] ; + ATail( GetList ):Control:Display() #command @ , , , GET TBROWSE ; [VALID ] [WHEN ] ; [MESSAGE ] [SEND ] [GUISEND ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; - :ntop := ATail(Getlist):row ;; - :nleft := ATail(Getlist):col ;; + :ntop := ATail( Getlist ):row ;; + :nleft := ATail( Getlist ):col ;; :nbottom := ; :nright := ;; - :Configure() ; ATail(GetList):Control := ;; - ATail(GetList):reader := {| a, b, c, d | TBReader( a, b, c, d ) } ; - [ ; ATail(GetList):Control:Message := ] ; - [ ; ATail(GetList):] [ ; ATail(GetList):Control:] + :Configure() ; ATail( GetList ):Control := ;; + ATail( GetList ):reader := {| a, b, c, d | TBReader( a, b, c, d ) } ; + [ ; ATail( GetList ):Control:Message := ] ; + [ ; ATail( GetList ):] [ ; ATail( GetList ):Control:] #command @ , , , GET TBROWSE ; ALIAS [VALID ] [WHEN ] ; [MESSAGE ] [SEND ] [GUISEND ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; - :ntop := ATail(Getlist):row ;; - :nleft := ATail(Getlist):col ;; + :ntop := ATail( Getlist ):row ;; + :nleft := ATail( Getlist ):col ;; :nbottom := ; :nright := ;; - :Configure() ; ATail(GetList):Control := ;; - ATail(GetList):reader := {| a, b, c, d | ->( TBReader( a, b, c, d ) ) } ; - [ ; ATail(GetList):Control:Message := ] ; - [ ; ATail(GetList):] [ ; ATail(GetList):Control:] + :Configure() ; ATail( GetList ):Control := ;; + ATail( GetList ):reader := {| a, b, c, d | ->( TBReader( a, b, c, d ) ) } ; + [ ; ATail( GetList ):Control:Message := ] ; + [ ; ATail( GetList ):] [ ; ATail( GetList ):Control:] #else @@ -672,7 +674,7 @@ [VALID ] [WHEN ] [SEND ] => ; SetPos( , ) ; AAdd( GetList, ; _GET_( , <"v">, , <{valid}>, <{when}> ):Display() ) ; - [; ATail(GetList):] + [; ATail( GetList ):] #endif /* HB_COMPAT_C53 */