/* * Standard PP rules * * Copyright 2006 Przemyslaw Czerpak * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file LICENSE.txt. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA (or visit https://www.gnu.org/licenses/). * * As a special exception, the Harbour Project gives permission for * additional uses of the text contained in its release of Harbour. * * The exception is that, if you link the Harbour libraries with other * files to produce an executable, this does not by itself cause the * resulting executable to be covered by the GNU General Public License. * Your use of that executable is in no way restricted on account of * linking the Harbour library code into it. * * This exception does not however invalidate any other reasons why * the executable file might be covered by the GNU General Public License. * * This exception applies only to the code released by the Harbour * Project under the name Harbour. If you copy code from other * Harbour Project or Free Software Foundation releases into a copy of * Harbour, as the General Public License permits, the exception does * not apply to the code that you add in this way. To avoid misleading * anyone as to the status of such modified files, you must delete * this exception notice from them. * * If you write modifications of your own for Harbour, it is your choice * whether to permit this exception to apply to your modifications. * If you do not wish that, delete this exception notice. * */ #ifndef HB_STD_CH_ #define HB_STD_CH_ #include "set.ch" /* To suppress unused variable -w2 warnings. The code snippet will be optimized out by the compiler, so it won't cause any overhead. It can be used in codeblocks, too. */ #define HB_SYMBOL_UNUSED( symbol ) ( ( symbol ) ) #ifdef HB_CLP_STRICT #command END SEQUENCE => end #command ENDSEQUENCE => end #else #command END SEQUENCE => endsequence #endif /* Harbour extensions */ #command END SWITCH => endswitch #command END WITH => endwith #command END OBJECT => endwith #command DO WHILE => while #command END => end #command ENDDO <*x*> => enddo #command ENDIF <*x*> => endif #command ENDCASE <*x*> => endcase #command ENDFOR [<*x*>] => next #command NEXT [TO ] [STEP ] => next #command DO .prg [WITH ] => do [ WITH

] #command CALL () [WITH ] => call [ WITH

] #command STORE TO [,] => := [ :=] #command SET ECHO <*x*> => #command SET HEADING <*x*> => #command SET MENU <*x*> => #command SET STATUS <*x*> => #command SET STEP <*x*> => #command SET SAFETY <*x*> => #command SET TALK <*x*> => #command SET PROCEDURE TO => #command SET PROCEDURE TO => _ProcReq_( <(f)> ) #command SET FORMAT TO => ; _ProcReq_( <(id)> + ".fmt" ) ; __SetFormat( {|| () } ) #command SET FORMAT TO . => ; _ProcReq_( <(id)> + "." + <(ext)> ) ; __SetFormat( {|| () } ) #command SET FORMAT TO => ; if ( Empty( <(id)> ) ) ; SET FORMAT TO ; else ;; __SetFormat( &( "{||" + <(id)> + "()}" ) ) ; end #command SET FORMAT TO => __SetFormat() #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" ) #command SET DATE [TO] FRENCH => _DFSET( "dd/mm/yyyy", "dd/mm/yy" ) #command SET DATE [TO] GERMAN => _DFSET( "dd.mm.yyyy", "dd.mm.yy" ) #command SET DATE [TO] ITALIAN => _DFSET( "dd-mm-yyyy", "dd-mm-yy" ) #command SET DATE [TO] JAPANESE => _DFSET( "yyyy/mm/dd", "yy/mm/dd" ) #command SET DATE [TO] USA => _DFSET( "mm-dd-yyyy", "mm-dd-yy" ) #command SET CENTURY => __SetCentury( <(x)> ) #command SET CENTURY () => __SetCentury( ) #command SET DATE FORMAT [TO] => Set( _SET_DATEFORMAT, ) #command SET TIME FORMAT [TO] => Set( _SET_TIMEFORMAT, ) #command SET EPOCH TO => Set( _SET_EPOCH, ) #command SET DECIMALS TO => Set( _SET_DECIMALS, ) #command SET DECIMALS TO => Set( _SET_DECIMALS, 0 ) #command SET DEFAULT TO <(path)> => Set( _SET_DEFAULT, <(path)> ) #command SET DEFAULT TO => Set( _SET_DEFAULT, "" ) #command SET PATH TO <*pth*> => Set( _SET_PATH, <(pth)> ) #command SET PATH TO => Set( _SET_PATH, "" ) #command SET EXACT => Set( _SET_EXACT, <(x)> ) #command SET EXACT () => Set( _SET_EXACT, ) #command SET FIXED => Set( _SET_FIXED, <(x)> ) #command SET FIXED () => Set( _SET_FIXED, ) #command SET EXCLUSIVE => Set( _SET_EXCLUSIVE, <(x)> ) #command SET EXCLUSIVE () => Set( _SET_EXCLUSIVE, ) #command SET SOFTSEEK => Set( _SET_SOFTSEEK, <(x)> ) #command SET SOFTSEEK () => Set( _SET_SOFTSEEK, ) #command SET UNIQUE => Set( _SET_UNIQUE, <(x)> ) #command SET UNIQUE () => Set( _SET_UNIQUE, ) #command SET DELETED => Set( _SET_DELETED, <(x)> ) #command SET DELETED () => Set( _SET_DELETED, ) #command SET CONSOLE => Set( _SET_CONSOLE, <(x)> ) #command SET CONSOLE () => Set( _SET_CONSOLE, ) #command SET BELL => Set( _SET_BELL, <(x)> ) #command SET BELL () => Set( _SET_BELL, ) #command SET CONFIRM => Set( _SET_CONFIRM, <(x)> ) #command SET CONFIRM () => Set( _SET_CONFIRM, ) #command SET ESCAPE => Set( _SET_ESCAPE, <(x)> ) #command SET ESCAPE () => Set( _SET_ESCAPE, ) #command SET INTENSITY => Set( _SET_INTENSITY, <(x)> ) #command SET INTENSITY () => Set( _SET_INTENSITY, ) #command SET SCOREBOARD => Set( _SET_SCOREBOARD, <(x)> ) #command SET SCOREBOARD () => Set( _SET_SCOREBOARD, ) #command SET WRAP => Set( _SET_WRAP, <(x)> ) #command SET WRAP () => Set( _SET_WRAP, ) #command SET DELIMITERS => Set( _SET_DELIMITERS, <(x)> ) #command SET DELIMITERS () => Set( _SET_DELIMITERS, ) #command SET DELIMITERS TO => Set( _SET_DELIMCHARS, ) #command SET DELIMITERS TO [DEFAULT] => Set( _SET_DELIMCHARS, "::" ) #command SET ALTERNATE => Set( _SET_ALTERNATE, <(x)> ) #command SET ALTERNATE () => Set( _SET_ALTERNATE, ) #command SET ALTERNATE TO => Set( _SET_ALTFILE, "" ) #command SET ALTERNATE TO <(file)> [] => ; Set( _SET_ALTFILE, <(file)>, <.add.> ) #command SET PRINTER => Set( _SET_PRINTER, <(x)> ) #command SET PRINTER () => Set( _SET_PRINTER, ) #command SET PRINTER TO => Set( _SET_PRINTFILE, "" ) #command SET PRINTER TO <(file)> [] => ; Set( _SET_PRINTFILE, <(file)>, <.add.> ) #command SET CURSOR => ; 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" ) #command SET DEVICE TO PRINTER => Set( _SET_DEVICE, "PRINTER" ) #command SET COLOR TO [<*c*>] => SetColor( # ) #command SET COLOR TO ( ) => SetColor( ) #command SET COLOUR TO [<*c*>] => SET COLOR TO [] #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 ; [ ; 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 ([]) => SET KEY TO #command SET KEY TO => ; 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( , ) #ifdef HB_COMPAT_C53 #command SET EVENTMASK TO => Set( _SET_EVENTMASK, ) #command SET VIDEOMODE TO => Set( _SET_VIDEOMODE, ) #command SET SCOPETOP TO => ordScope( 0, nil ) #command SET SCOPETOP TO => ordScope( 0, ) #command SET SCOPEBOTTOM TO => ordScope( 1, nil ) #command SET SCOPEBOTTOM TO => ordScope( 1, ) #command SET SCOPE TO => ordScope( 0, nil ) ; ordScope( 1, nil ) #command SET SCOPE TO , => ordScope( 0, ) ; ordScope( 1, ) #command SET SCOPE TO => ordScope( 0, ) ; ordScope( 1, ) #command SET SCOPE TO , => ordScope( 1, ) #command SET ORDER TO => ordSetFocus( 0 ) #command SET DESCENDING ON => ordDescend( ,, .T. ) #command SET DESCENDING OFF => ordDescend( ,, .F. ) #command SET AUTORDER TO => Set( _SET_AUTORDER, 0 ) #command SET AUTORDER TO => Set( _SET_AUTORDER, ) #command SET AUTOSHARE TO => Set( _SET_AUTOSHARE, 0 ) #command SET AUTOSHARE TO => Set( _SET_AUTOSHARE, ) #command SET MBLOCKSIZE TO => Set( _SET_MBLOCKSIZE, ) #command SET MEMOBLOCK TO => Set( _SET_MBLOCKSIZE, ) #command SET MFILEEXT TO => Set( _SET_MFILEEXT, ) #command SET STRICTREAD => Set( _SET_STRICTREAD, <(x)> ) #command SET STRICTREAD () => Set( _SET_STRICTREAD, ) #command SET OPTIMIZE => Set( _SET_OPTIMIZE, <(x)> ) #command SET OPTIMIZE () => Set( _SET_OPTIMIZE, ) #command SET AUTOPEN => Set( _SET_AUTOPEN, <(x)> ) #command SET AUTOPEN () => Set( _SET_AUTOPEN, ) #endif #command ? [] => QOut( ) #command ?? [] => QQOut( ) #command EJECT => __Eject() #command TEXT => text QOut, QQOut #command TEXT TO FILE <(f)> => __TextSave( <(f)> ) ;; text QOut, __TextRestore #command TEXT TO PRINTER => __TextSave( "PRINTER" ) ;; text QOut, __TextRestore #ifdef HB_COMPAT_C53 #xcommand TEXTBLOCK <*cText*> => #endif #command CLS => Scroll() ; SetPos( 0, 0 ) #command CLEAR SCREEN => CLS #command SAVE SCREEN => __XSaveScreen() #command RESTORE SCREEN => __XRestScreen() #command SAVE SCREEN TO => := SaveScreen( 0, 0, MaxRow(), MaxCol() ) #command RESTORE SCREEN FROM => RestScreen( 0, 0, MaxRow(), MaxCol(), ) #command @ , => Scroll( , , ) ;; SetPos( , ) #command @ , CLEAR => Scroll( , ) ;; SetPos( , ) #command @ , CLEAR TO , => ; Scroll( , , , ) ; SetPos( , ) #command @ , , , BOX [COLOR ] => ; DispBox( , , , , [, ] ) #command @ , TO , [DOUBLE] [COLOR ] => ; DispBox( , , , , 2 [, ] ) #command @ , TO , [COLOR ] => ; DispBox( , , , , 1 [, ] ) #command @ , SAY [PICTURE ] [COLOR ] => ; DevPos( , ) ; DevOutPict( , [, ] ) #command @ , SAY [COLOR ] => ; DevPos( , ) ; DevOut( [, ] ) #command @ , PROMPT [MESSAGE ] => ; __AtPrompt( , , , ) #command MENU TO => ; := __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 #command KEYBOARD => __Keyboard( ) #command CLEAR TYPEAHEAD => __Keyboard() #command CLEAR MEMORY => __mvClear() #command RELEASE => __mvXRelease( <"v"> ) #command RELEASE ALL => __mvRelease( "*", .t. ) #command RELEASE ALL LIKE

=> __mvRelease( #

, .t. ) #command RELEASE ALL EXCEPT

=> __mvRelease( #

, .f. ) #command RESTORE [FROM <(f)>] [] => __mvRestore( <(f)>, <.a.> ) #command SAVE TO <(f)> ALL LIKE

=> __mvSave( <(f)>, <(p)>, .t. ) #command SAVE ALL LIKE

TO <(f)> => __mvSave( <(f)>, <(p)>, .t. ) #command SAVE ALL EXCEPT

TO <(f)> => __mvSave( <(f)>, <(p)>, .f. ) #command SAVE TO <(f)> ALL EXCEPT

=> __mvSave( <(f)>, <(p)>, .f. ) #command SAVE [TO <(f)>] [ALL] => __mvSave( <(f)>, "*", .t. ) #command RESTORE HBV [FROM <(f)>] [] => hb_mvRestore( <(f)>, <.a.> ) #command SAVE HBV TO <(f)> ALL LIKE

=> hb_mvSave( <(f)>, <(p)>, .t. ) #command SAVE HBV ALL LIKE

TO <(f)> => hb_mvSave( <(f)>, <(p)>, .t. ) #command SAVE HBV ALL EXCEPT

TO <(f)> => hb_mvSave( <(f)>, <(p)>, .f. ) #command SAVE HBV TO <(f)> ALL EXCEPT

=> hb_mvSave( <(f)>, <(p)>, .f. ) #command SAVE HBV [TO <(f)>] [ALL] => hb_mvSave( <(f)>, "*", .t. ) #command ERASE <(f)> => FErase( <(f)> ) #command DELETE FILE <(f)> => FErase( <(f)> ) #command RENAME <(old)> TO <(new)> => FRename( <(old)>, <(new)> ) #command COPY FILE <(src)> TO <(dst)> => __CopyFile( <(src)>, <(dst)> ) #command DIR [<(mask)>] => __Dir( <(mask)> ) #command TYPE <(f)> [] [TO FILE <(dst)>] => ; __TypeFile( <(f)>, <.prn.> )[ ; COPY FILE <(f)> TO <(dst)>] #command TYPE <(f)> [] => __TypeFile( <(f)>, <.prn.> ) #command REQUEST => EXTERNAL #command CANCEL => __Quit() #command QUIT => __Quit() #command RUN <*cmd*> => __Run( # ) #command RUN ( ) => __Run( ) #command ! <*cmd*> => RUN #command RUN = => ( run := ) #command RUN := => ( run := ) #command CLOSE => ->( dbCloseArea() ) #command CLOSE => dbCloseArea() #command CLOSE DATABASES => dbCloseAll() #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 #command CLEAR => CLEAR SCREEN ; CLEAR GETS #command CLEAR ALL => CLOSE DATABASES ; CLOSE FORMAT ;; CLEAR MEMORY ; CLEAR GETS ;; SET ALTERNATE OFF ; SET ALTERNATE TO #command SELECT => dbSelectArea( <(area)> ) #command SELECT ([]) => dbSelectArea( (

) ) #command USE => dbCloseArea() #command USE <(db)> [VIA ] [ALIAS ] [] ; [] [] [] ; [CODEPAGE ] [INDEX <(index1)> [, <(indexN)>]] => ; dbUseArea( <.nw.>, , <(db)>, <(a)>, ; iif( <.sh.> .OR. <.ex.>, ! <.ex.>, NIL ), <.ro.> [, ] ) ; [; dbSetIndex( <(index1)> )] ; [; dbSetIndex( <(indexN)> )] #command APPEND BLANK => dbAppend() #command PACK => __dbPack() #command ZAP => __dbZap() #command UNLOCK => dbUnlock() #command UNLOCK ALL => dbUnlockAll() #command COMMIT => dbCommitAll() #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() #command SKIP => 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( , iif( <.soft.>, .T., NIL ), iif( <.last.>, .T., NIL ) ) #else #command SEEK [] => ; dbSeek( , iif( <.soft.>, .T., NIL ) ) #endif #command LOCATE [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; __dbLocate( <{for}>, <{while}>, , , <.rest.> ) #command SET RELATION TO => dbClearRelation() #command SET RELATION [] ; [TO INTO <(alias1)> []; [, [TO] INTO <(aliasN)> []]] => ; if ( ! <.add.> ) ; dbClearRelation() ; end ; ; dbSetRelation( <(alias1)>, <{exp1}>, <"exp1">, <.scp1.> ) ; [ ; dbSetRelation( <(aliasN)>, <{expN}>, <"expN">, <.scpN.> )] #command SET FILTER TO => dbClearFilter( NIL ) #command SET FILTER TO => dbSetFilter( <{exp}>, <"exp"> ) #command SET FILTER TO => if ( Empty( <(x)> ) ) ; dbClearFilter() ;; else ; dbSetFilter( <{x}>, <(x)> ) ; end #command REPLACE [ WITH [, WITH ]] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; dbEval( {|| _FIELD-> := [, _FIELD-> := ] }, ; <{for}>, <{while}>, , , <.rest.> ) #command REPLACE WITH [, WITH ] => ; _FIELD-> := [; _FIELD-> := ] #command DELETE [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; dbEval( {|| dbDelete() }, <{for}>, <{while}>, , , <.rest.> ) #command DELETE => dbDelete() #command RECALL [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; dbEval( {|| dbRecall() }, <{for}>, <{while}>, , , <.rest.> ) #command RECALL => dbRecall() #command CREATE <(db)> [FROM <(src)>] [VIA ] [ALIAS ] ; [] [CODEPAGE ] => ; __dbCreate( <(db)>, <(src)>, , <.new.>, <(a)> [, ] ) #command COPY [STRUCTURE] [EXTENDED] [TO <(f)>] => __dbCopyXStruct( <(f)> ) #command COPY [STRUCTURE] [TO <(f)>] [FIELDS ] => ; __dbCopyStruct( <(f)>, { <(fields)> } ) #command COPY [TO <(f)>] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] ; [CODEPAGE ] [DELIMITED [WITH <*delim*>]] => ; __dbDelim( .T., <(f)>, <(delim)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ) #command COPY [TO <(f)>] [SDF] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] [CODEPAGE ] => ; __dbSDF( .T., <(f)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ) #command COPY [TO <(f)>] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] [VIA ] [CODEPAGE ] => ; __dbCopy( <(f)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ,, ) #command APPEND [FROM <(f)>] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] ; [CODEPAGE ] [DELIMITED [WITH <*delim*>]] => ; __dbDelim( .F., <(f)>, <(delim)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ) #command APPEND [FROM <(f)>] [SDF] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] [CODEPAGE ] => ; __dbSDF( .F., <(f)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ) #command APPEND [FROM <(f)>] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] [VIA ] ; [CODEPAGE ] => ; __dbApp( <(f)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ,, ) #command SORT [TO <(f)>] [ON ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] [VIA ] ; [CODEPAGE ] => ; __dbSort( <(f)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ,, ) #command TOTAL [TO <(f)>] [ON ] [FIELDS ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] [VIA ] ; [CODEPAGE ] => ; __dbTotal( <(f)>, <{key}>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ,, ) #command UPDATE [FROM <(alias)>] [ON ] [] ; [REPLACE WITH [, WITH ]] => ; __dbUpdate( <(alias)>, <{key}>, <.rand.>, ; {|| _FIELD-> := [, _FIELD-> := ] } ) #command JOIN [WITH <(alias)>] [TO ] [FIELDS ] [FOR ] ; [VIA ] [CODEPAGE ] => ; __dbJoin( <(alias)>, <(f)>, { <(fields)> }, ; iif( Empty( # ), {|| .T. }, <{for}> ), ,, ) #command COUNT [TO ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; := 0 ; dbEval( {|| := + 1 }, ; <{for}>, <{while}>, , , <.rest.> ) #command SUM [ [, ] TO [, ]] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; :=[ :=] 0 ;; dbEval( {|| := + [, := + ] }, ; <{for}>, <{while}>, , , <.rest.> ) #command AVERAGE [ [, ] TO [, ]] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; M->__Avg := :=[ :=] 0 ;; dbEval( {|| M->__Avg := M->__Avg + 1, ; := + [, := + ] }, ; <{for}>, <{while}>, , , <.rest.> ) ;; := / M->__Avg[ ; := / M->__Avg] #command LIST [] [] [] [TO FILE <(f)>] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; __dbList( <.off.>, { <{v}> }, .t., ; <{for}>, <{while}>, , , <.rest.>, <.prn.>, <(f)> ) #command DISPLAY [] [] [] [TO FILE <(f)>] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [] => ; __dbList( <.off.>, { <{v}> }, <.all.>, ; <{for}>, <{while}>, , , <.rest.>, <.prn.>, <(f)> ) #command REPORT FORM [HEADING ] [] [] ; [] [] ; [] [TO FILE <(f)>] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; __ReportForm( <(frm)>, <.prn.>, <(f)>, <.nocon.>, ; <{for}>, <{while}>, , , <.rest.>, ; <.plain.>, , <.noej.>, <.sum.> ) #command LABEL FORM [] [] ; [] [TO FILE <(f)>] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] => ; __LabelForm( <(lbl)>, <.prn.>, <(f)>, <.nocon.>, ; <{for}>, <{while}>, , , <.rest.>, <.smp.> ) #command DELETE TAG <(tag1)> [IN <(bag1)>] [, <(tagN)> [IN <(bagN)>]] => ; ordDestroy( <(tag1)>, <(bag1)> )[ ; ordDestroy( <(tagN)>, <(bagN)> )] #command INDEX ON [TAG <(tag)>] TO <(bag)> ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [] ; [EVAL ] [EVERY ] [] ; [] [] ; [] [] [] ; [] [] ; [] [] => ; ordCondSet( <"for">, <{for}>, [<.all.>], <{while}>, ; <{eval}>, , RecNo(), , , ; [<.rest.>], [<.descend.>],, ; [<.add.>], [<.cur.>], [<.cust.>], [<.noopt.>], ; <"while">, [<.mem.>], [<.filter.>], [<.ex.>] ) ;; ordCreate( <(bag)>, <(tag)>, <"key">, <{key}>, [<.unique.>] ) #command INDEX ON TAG <(tag)> [TO <(bag)>] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [] ; [EVAL ] [EVERY ] [] ; [] [] ; [] [] [] ; [] [] ; [] [] => ; ordCondSet( <"for">, <{for}>, [<.all.>], <{while}>, ; <{eval}>, , RecNo(), , , ; [<.rest.>], [<.descend.>],, ; [<.add.>], [<.cur.>], [<.cust.>], [<.noopt.>], ; <"while">, [<.mem.>], [<.filter.>], [<.ex.>] ) ;; ordCreate( <(bag)>, <(tag)>, <"key">, <{key}>, [<.unique.>] ) #command INDEX ON TO <(file)> [] => ; dbCreateIndex( <(file)>, <"key">, <{key}>, iif( <.u.>, .t., NIL ) ) #command REINDEX [EVAL ] [EVERY ] [] => ; 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 ) #xcommand @ [] COLOUR [] => @ [ ] COLOR [ ] #command @ , SAY [] GET [] => ; @ , SAY [ ] ;; @ Row(), Col() + 1 GET [ ] #command @ , GET [] RANGE , [] => ; @ , GET [ ] ; VALID {| _1 | RangeCheck( _1,, , ) } [ ] #command @ , GET [] COLOR [] => ; @ , GET [ ] SEND colorDisp( ) [ ] #ifdef HB_COMPAT_C53 #command READ [MENU ] ; [MSG AT , , [MSG COLOR ]] => ; ReadModal( GetList, NIL, , , , , ) ;; GetList := {} ; ( GetList ) #command READ SAVE [MENU ] ; [MSG AT , , [MSG COLOR ]] => ; ReadModal( GetList, NIL, , , , , ) #command @ , GET [PICTURE ] ; [VALID ] [WHEN ] [SEND ] ; [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() #command @ , GET CHECKBOX [VALID ] [WHEN ] ; [CAPTION ] [MESSAGE ] [COLOR ] ; [FOCUS ] [STATE ] [STYLE ] ; [SEND ] [GUISEND ] [BITMAPS ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; 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() #command @ , , , GET LISTBOX ; [VALID ] [WHEN ] ; [CAPTION ] [MESSAGE ] [COLOR ] ; [FOCUS ] [STATE ] [] [] ; [SEND ] [GUISEND ] [BITMAP ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; 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() #command @ , GET PUSHBUTTON ; [VALID ] [WHEN ] ; [CAPTION ] [MESSAGE ] [COLOR ] ; [FOCUS ] [STATE ] [STYLE ] ; [SEND ] [GUISEND ] [BITMAP ] ; [SIZE X Y ] [CAPOFF X Y ] ; [BMPOFF X Y ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; 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() #command @ , , , GET RADIOGROUP ; [VALID ] [WHEN ] ; [CAPTION ] [MESSAGE ] [COLOR ] ; [FOCUS ] [STYLE ] ; [SEND ] [GUISEND ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; 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() #command @ , , , GET TBROWSE ; [VALID ] [WHEN ] ; [MESSAGE ] [SEND ] [GUISEND ] => ; SetPos( , ) ;; AAdd( GetList, _GET_( , <(v)>, NIL, <{valid}>, <{when}> ) ) ;; :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:] #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 ;; :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:] #else #command @ , GET [PICTURE ] ; [VALID ] [WHEN ] [SEND ] => ; SetPos( , ) ; AAdd( GetList, ; _GET_( , <"v">, , <{valid}>, <{when}> ):Display() ) ; [; ATail( GetList ):] #endif /* HB_COMPAT_C53 */ /* Harbour extensions */ #command SET FILECASE <(x)> => Set( _SET_FILECASE, <(x)> ) #command SET FILECASE () => Set( _SET_FILECASE, ) #command SET DIRCASE <(x)> => Set( _SET_DIRCASE, <(x)> ) #command SET DIRCASE () => Set( _SET_DIRCASE, ) #command SET DIRSEPARATOR => Set( _SET_DIRSEPARATOR, ) #command SET DBFLOCKSCHEME TO => Set( _SET_DBFLOCKSCHEME, ) #command SET DBFLOCKSCHEME TO => Set( _SET_DBFLOCKSCHEME, 0 ) #command SET HARDCOMMIT => Set( _SET_HARDCOMMIT, <(x)> ) #command SET HARDCOMMIT () => Set( _SET_HARDCOMMIT, ) #command SET EOL => Set( _SET_EOL, ) #endif /* HB_STD_CH_ */