Hello Przemek,

Sample below behaves different in Clipper and Harbour.

Clipper:

OrdKey: CODE
KEYSIZE:         20
         1 CODE: check over           ORDKEYVAL: check over
         2 CODE: check up             ORDKEYVAL: check up
         3 CODE: check out            ORDKEYVAL: check out

Harbour:

OrdKey: CODE
KEYSIZE:          4
         1 CODE: check over           ORDKEYVAL: chec
         2 CODE: check up             ORDKEYVAL: chec
         3 CODE: check out            ORDKEYVAL: chec
 */

#ifdef __HARBOUR__
  #include "dbinfo.ch"
  request HB_GT_STD_DEFAULT
#else
  #include "ord.ch"
#endif

request DBFCDX

#define TMP_DST "tst_dst"


Proc Main()
  Local nFor, cKey, aValues
  FIELD CODE

 aValues := { "check over", ;
              "check up", ;
              "check out" }

 RddSetDefault( 'DBFCDX' )

 dbcreate( TMP_DST, { {"CODE", "C", 20, 0} } )
 USE TMP_DST EXCLUSIVE

// INDEX ON CODE TAG T1

 cKey := "CODE"

 ordCreate(, "T1", cKey, {|| cKey} )

 SET INDEX TO (TMP_DST)

 ? "OrdKey:", OrdKey()
 ? "KEYSIZE:", dbOrderInfo( DBOI_KEYSIZE )

 For nFor := 1 to Len(aValues)
   dbAppend()
   CODE := aValues[ nFor ]
   dbSkip( 0 )
   ? nFor, "CODE:", CODE, "ORDKEYVAL:", OrdKeyVal()
 next
Return

Best regards,
Saulius
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to