/* * SIX compatible library PP rules * * Copyright 2007 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_SIX_CH_ #define HB_SIX_CH_ #include "hbsxdef.ch" /* obsolete SIx Driver functions */ #xtranslate Sx_IndexFilter( [] ) => ordFor( [] ) #xtranslate Sx_TagName([]) => iif( Used(), ordName( [] ), "" ) #xtranslate Sx_SetTagOrder( [] [,] ) => sx_SetTag( [] [,] ) #xtranslate Sx_SetTagOrd( [] [,] ) => sx_SetTag( [] [,] ) #xtranslate Sx_SetTagNo( [] ) => sx_SetTag( [], iif( ordNumber()>0, ordBagName(), ordBagName(1) ) ) #xtranslate Sx_SetTagNo( , ) => sx_SetTag( , ) #xtranslate _sxCondSet( [] ) => ordCondSet( [] ) #xtranslate SetRDD( [] ) => rddSetDefault( [] ) /* SIx 2.0 Compatibity */ #command SET DIRTYREAD ON => sx_SetTurbo( .T. ) #command SET DIRTYREAD OFF => sx_SetTurbo( .F. ) #xtranslate Sx_SetDirty( [] ) => sx_SetTurbo( [] ) #xtranslate Sx_DirtyArea( [] ) => sx_TurboArea( [] ) /* USE command with support for TRIGGER and PASSWORD clauses */ #command USE <(db)> [VIA ] [ALIAS ] [] ; [] [] [] ; [CODEPAGE ] [INDEX <(index1)> [, <(indexN)>]] ; [TRIGGER ] [PASSWORD ] => ; [sx_SetTrigger( TRIGGER_PENDING, , );] <-trig-> ; [sx_SetPass( , 1, );] <-pass-> ; dbUseArea( <.nw.>, , <(db)>, <(a)>, ; iif( <.sh.> .OR. <.ex.>, ! <.ex.>, NIL ), <.ro.> [, ] ) ; [; dbSetIndex( <(index1)> )] ; [; dbSetIndex( <(indexN)> )] /* SORT command with USECURRENT clause */ #command SORT [TO <(f)>] [ON ] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [ALL] [VIA ] ; [CODEPAGE ] [] [NOOPTIMIZE] => ; sx_SortOption(<.cur.>); ; __dbSort( <(f)>, { <(fields)> }, ; <{for}>, <{while}>, , , <.rest.>, ,, ) /* Seek using wildcards */ #xcommand WILDSEEK => sx_WildSeek( ) #xcommand WILDSEEKNEXT => sx_WildSeek( , .T. ) /* order management commands */ #command CLEAR ORDER => sx_ClearOrder( ) #command SET TAGORDER TO => ordSetFocus( ) #command SET TAGORDER TO => ordSetFocus( 0 ) #command SET ORDER TO TAG <(tag)> [OF <(bag)>] => ; ordSetFocus( <(tag)> [, <(bag)>] ) #command SET TAG TO [OF <(bag)>] => ; ordSetFocus( <(tag)> [, <(bag)>] ) #command SET TAG TO => ordSetFocus( 0 ) #command REINDEX OPTION [STEP ] => ; REINDEX EVAL [EVERY ] #command DELETE TAG <(tag1)> [OF <(bag1)>] [, <(tagN)> [OF <(bagN)>]] => ; ordDestroy( <(tag1)>, <(bag1)> )[ ; ordDestroy( <(tagN)>, <(bagN)> )] #command DELETE TAG ALL [OF <(bag)>] => sx_KillTag( .T., <(bag)> ) /* order scope commands */ #command CLEAR SCOPE => sx_ClrScope() #xcommand SET SCOPETOP TO => sx_SetScope( 0, ) #xcommand SET SCOPETOP TO => sx_ClrScope( 0 ) #xcommand SET SCOPEBOTTOM TO => sx_SetScope( 1, ) #xcommand SET SCOPEBOTTOM TO => sx_ClrScope( 1 ) #command SET SCOPE TO => sx_ClrScope() #command SET SCOPE TO => sx_SetScope( 0, ) ; ; sx_SetScope( 1, ) /* TURBO(DIRTY) READ commands */ #command SET TURBOREAD ON => sx_SetTurbo( .T. ) #command SET TURBOREAD OFF => sx_SetTurbo( .F. ) /* MEMO commands */ #command MEMOPACK [BLOCK ] [OPTION [STEP ]] => ; sx_MemoPack( , <{opt}>, ) #command SET MEMOBLOCK TO => sx_SetMemoBlock( ) /* indexing */ #command SUBINDEX ON TO <(file)> ; [OPTION [STEP ]] ; [] ; [] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [] ; [EVAL ] [EVERY ] [] ; [] [] ; [] [] ; [] [] ; [] [] => ; INDEX ON TO <(file)> USECURRENT ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] ; [EVAL ] [EVERY ] ; [<-cust-> CUSTOM] ; [<-filter-> USEFILTER] #command SUBINDEX ON TAG <(tag)> [OF <(bag)>] [TO <(bag)>] ; [OPTION [STEP ]] ; [] ; [] ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] [] [] ; [EVAL ] [EVERY ] [] ; [] [] ; [] [] ; [] [] ; [] [] => ; INDEX ON TAG <(tag)> [TO <(bag)>] USECURRENT ; [FOR ] [WHILE ] [NEXT ] ; [RECORD ] ; [EVAL ] [EVERY ] ; [<-cust-> CUSTOM] ; [<-filter-> USEFILTER] #command INDEX ON [TAG <(tag)>] TO <(bag)> ; [OPTION [STEP ]] ; [] ; [] ; [] ; [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)> [OF <(bag)>] [TO <(bag)>] ; [OPTION [STEP ]] ; [] ; [] ; [] ; [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.>] ) #endif /* HB_SIX_CH_ */