FUNCTION Reversechars(lcChars) LOCAL lnI FOR lnI=1 TO LEN(lcChars) lcChars=STUFF(lcChars,lnI,1,CHR[255-ASC(SUBSTR(lcChars,lnI,1))]) ENDFOR RETURN lcChars ENDPROCJim
>&& simple solution >&& use a view > >create sql view ViewOnTablexx as ; > select ..... ; > from Tablexx ; > order by Fieldx desc, Fieldy asce >>
>function CharBitNot(s) > return chrtran(m.s, chr(0)+chr(1)+chr(2).....+chr(255), chr(255)+chr(254)....+chr(1)+chr(0)) >endfunc > >select Table >index on CharBitNot(Fieldx) + Fieldy tag pp > >&& performancewise it would be best to build the chrtran() arg2 and arg3 >&& in the init of your program, you could >=_screen.AddProperty(BitNotCharFrom, chr(0)+chr(1)+chr(2).....+chr(255)) >=_screen.AddProperty(BitNotCharTo, chr(255)+chr(254)....+chr(1)+chr(0)) >&& or use a loop to build them > >select Table >index on chrtran(Fieldx, m._screen.BitNotCharFrom, m._screen.BitNotCharTo) + Fieldy tag pp > >>