Página 1 de 1

RDD SIX

Enviado: 04 Mar 2008 14:01
por Zeca Roque
Olá a todos !!!

Estou dando um UP no meu sistema do clipper para fwh/ xharbour diretamente.
Acontece que trabalho com o RDD SIX(o famoso SIXDRIVE).
Parece que o xHarbour oferece suporte para este RDD.
Estou tentando mas não estou conseguindo fazer funcionar este RDD no xharbour.
Alguém disse que seria somente colocar o HBSIX.LIB entre as LIBS, só que não está funcionando.
Alguem teria, por favor as libs corretas e os procedimentos de como acionar em meu sistema este RDD. :|<

Re: RDD SIX

Enviado: 05 Mar 2008 08:21
por Itamar M. Lins Jr.
Zeca Roque escreveu:Olá a todos !!!

Estou dando um UP no meu sistema do clipper para fwh/ xharbour diretamente.
Acontece que trabalho com o RDD SIX(o famoso SIXDRIVE).
Parece que o xHarbour oferece suporte para este RDD.
Estou tentando mas não estou conseguindo fazer funcionar este RDD no xharbour.
Alguém disse que seria somente colocar o HBSIX.LIB entre as LIBS, só que não está funcionando.
Alguem teria, por favor as libs corretas e os procedimentos de como acionar em meu sistema este RDD. :|<

Qual versão do [x]harbour ?

Apartir da data 31/10/2007 foi implementado mais algumas coisas.

Saudações
Itamar M. Lins Jr.

Código: Selecionar todos

  + include/hbsix.ch
  * hrbdll.dc
  * hrbdll.gc
  * hrbdll.pc
  * hrbdll.vc
  * hrbdll.wc
  * makefile.bc
  * makefile.dc
  * makefile.gc
  * makefile.pc
  * makefile.vc
  * makefile.wc
  * source/rdd/hbsix/Makefile
  * source/rdd/hbsix/sxdate.c
  * source/rdd/hbsix/sxcompr.c
  * source/rdd/hbsix/sxcrypt.c
  + source/rdd/hbsix/sxsem.c
  + source/rdd/hbsix/sxord.c
  + source/rdd/hbsix/sxredir.c
  + source/rdd/hbsix/sxfname.c
  + source/rdd/hbsix/sxtable.c
  + source/rdd/hbsix/sxutil.c
  + source/rdd/hbsix/sxcompat.prg
  + source/rdd/hbsix/sxtrig.prg
  + source/rdd/hbsix/sxini.prg
  - source/rdd/hbsix/sxfunc.prg
    + added SIx3 compatible functions:
         RDD_Count(), RDD_Name(), RDD_Info(), SetRDD(),
         sxChar(), sxNum(), sxDate(), sxLog(),
         Sx_DToP(), Sx_PToD(),
         Sx_BLOB2File(), Sx_File2BLOB(),
         Sx_Compress(), Sx_Decompress(),
         Sx_FCompress(), Sx_FDecompress(),
         Sx_AutoOpen(), Sx_AutoShare(),
         Sx_MemoExt(), Sx_MemoBlk(), Sx_SetMemoBlock(), Sx_MemoPack(),
         Sx_SetTrigger(), Sx_SetTrig(), Sx_DefTrigger(),
         Sx_INIheader(), _sx_INIinit(), _sxOpenInit(),
         Sx_SetPass(),
         Sx_Encrypt(), Sx_Decrypt(), Sx_DBFdecrypt(), Sx_DBFencrypt(),
         sx_MakeSem(), sx_KillSem(), sx_IsSem(),
         Sx_ClrScope(), Sx_SetScope(),
         Sx_Freeze(), Sx_Warm(), Sx_Chill(), Sx_Thermometer(),
         Sx_IsReindex(), Sx_Step(), Sx_KeysIncluded(),
         Sx_I_IndexName(), Sx_I_TagName(),
         Sx_IndexCount(), Sx_IndexName(), Sx_IndexType(), Sx_IndexFilter(),
         Sx_ROXLock(), Sx_ROXUnLock(), Sx_IsMyROX(), Sx_IsROXLock(),
         Sx_KeyAdd(), Sx_KeyDrop(), Sx_KeyData(),
         Sx_KeySkip(), Sx_KeyCount(), Sx_KeyNo(), Sx_KeyGoto(),
         Sx_WildSeek(), Sx_WildMatch(),
         Sx_IsFLocked(), Sx_IsReadOnly(), Sx_IsShared(),
         Sx_IsLocked(), Sx_IsDBT(),
         Sx_IDtype(), Sx_TableType(), Sx_TableName(),
         Sx_SetTurbo(), Sx_TurboArea(), Sx_SetDirty(), Sx_DirtyArea(),
         Sx_RLock(), Sx_UnLock(), Sx_GetLocks(), Sx_LockRetry(),
         Sx_SeekLast(), Sx_FindRec(),
         Sx_SkipUnique(), Sx_TagUnique(),
         Sx_TagCount(), Sx_TagOrder(), Sx_TagNo(), Sx_TagName(),
         Sx_TagInfo(), Sx_Tags(),
         Sx_SetTag(), Sx_SetTagOrder(), Sx_SetTagNo(),
         Sx_KillTag(),
         Sx_FileOrder(), Sx_SetFileOrd(), Sx_ClearOrder(),
         Sx_VSigLen(), Sx_VFGet(),
         Sx_dbCreate(), Sx_StrxCheck(), Sx_Rollback(), Sx_SortOption(),
         _sxCondSet(),
         Sx_FNameParser(), Sx_SlimFast(),
         Sx_Version(), Sx_Error(),

    + added SIx3 compatible commands:
         SET DIRTYREAD ON|OFF
         USE ... [TRIGGER <cTrigger>] [PASSWORD <cPassword>]
         SORT ... USECURRENT
         WILDSEEK <str>
         WILDSEEKNEXT <str>
         CLEAR ORDER <order>
         SET TAGORDER TO [<order>]
         SET ORDER TO TAG <(tag)> [OF <(bag)>]
         SET TAG TO [<tag> [OF <(bag)>]]
         REINDEX OPTION <eval> [STEP <step>]
         DELETE TAG <(tag1)> [OF <(bag1)>] [, <(tagN)> [OF <(bagN)>]]
         DELETE TAG ALL [OF <(bag)>]
         CLEAR SCOPE
         SET SCOPETOP TO [<value>]
         SET SCOPEBOTTO   * TO [<value>]
         SET SCOPE TO [<value>]
         SET TURBOREAD ON|OFF
         MEMOPACK [BLOCK <size>] [OPTION <opt> [STEP <step>]]
         SET MEMOBLOCK TO <value>
         SUBINDEX ON <key> TO <(file)> ;
               [OPTION <eval> [STEP <every>]] [FILTERON] [EMPTY]
         SUBINDEX ON <key> TAG <(tag)> [OF <(bag)>] [TO <(bag)>] ;
               [OPTION <eval> [STEP <every>]] [FILTERON] [EMPTY]
         INDEX ON <key> [TAG <(tag)>] TO <(bag)> ;
               [OPTION <eval> [STEP <every>]] [FILTERON] [EMPTY] [SUBINDEX]
         INDEX ON <key> TAG <(tag)> [OF <(bag)>] [TO <(bag)>] ;
               [OPTION <eval> [STEP <every>]] [FILTERON] [EMPTY] [SUBINDEX]

      Unlike Ads*() functions the Sx_*() ones can be used with any RDD
      and will work if RDD supports necessary functionality.

      The global settings in SIx3 are RDD dependent in Harbour, f.e.
      in SIx3 Sx_MemoExt() change MEMO file extensions in all SIX* RDDs
      but in Harbour only in default RDD driver.
      In Harbour default trigger function "Sx_DefTrigger" is not
      enabled by default. If user needs such functionality then he
      has to enable it himself using
         rddInfo( RDDI_TRIGGER, "SX_DEFTRIGGER", [<cRDD>] )
      f.e. this code:
         init procedure sx_inittrig()
            local aRDDs := { "DBF", "DBFNTX", "DBFCDX", "SIXCDX", ;
                             "RMDBFNTX", "RMDBFCDX", "BMDBFCDX", "BMSIXCDX" }
            local aRDDList := RddList(), cRdd

            for each cRdd in aRDDs
               if ascan( aRDDList, { |x| x == cRdd } ) != 0
                  rddInfo( RDDI_TRIGGER, "SX_DEFTRIGGER", cRDD )
               endif
            next
         return
      sets SX_DEFTRIGGER as default trigger in DBF* based RDDs.

      I still do not allow to encrypt tables with memo fields to not
      replicate SIx3 bugs which may cause data corruption.

   Synced with harbour as posible.


RDD SIX

Enviado: 05 Mar 2008 10:57
por Zeca Roque
Bom dia ITAMAR!!!

Uso xharbour 110.
Estive olhando detalhadamente e não consegui localizar este diretório no xharbour.
As perguntas que gostaria que vc, por gentileza, respondesse são:

1. Como incluir estes novos dados no HBSIX(caso eles não tenha) ?
2. Quais as libs e objs que devo incluir no arquivo BAT para compilar e funcionar o programa?
3. Devo incluir o aquivo CH no inicio de meu prg principal ? quais CHs ?
4. Como faço para o sistema reconheça o NSX como RDD default ?

Re: RDD SIX

Enviado: 09 Mar 2008 15:01
por sygecom
Zeca Roque escreveu: 1. Como incluir estes novos dados no HBSIX(caso eles não tenha) ?
Na versão 1.0.0 já tem inumeras funções da SIX é só usar.
Zeca Roque escreveu: 2. Quais as libs e objs que devo incluir no arquivo BAT para compilar e funcionar o programa?
BAT ? não use BAT para compilar, use o HBMAKE que é bem mais facil ele vai inlcuir as LIB nescessarias automaticamente.
Zeca Roque escreveu: 3. Devo incluir o aquivo CH no inicio de meu prg principal ? quais CHs ?
Não prescisa inlcuir nd, no maximo "dbinfo.ch" para usar algumas funções de DBINFO() ou DBORDERINFO()
Zeca Roque escreveu: 4. Como faço para o sistema reconheça o NSX como RDD default ?
Na verdade no xharbour ele não vai usar a extenção de .NSX, mas vai ser tudo como .CDX e vc usa todas as funções da SIX no RDD "DBFCDX" simples neh ! a unica coisa que tens que ter para deixar sua app como DBFCDX é as duas linhas abaixo no inicio do seu sistema e usar as funções como se fosse SIX.

Código: Selecionar todos

RDDSETDEFAULT("DBFCDX")
DBSETDRIVER("DBFCDX")
OBS: Apenas lembrando que nem todas as funções foram migradas ou adicionadas no xharbour, mas a grande maioria já foi.