From \doc\xhb-diff.txt
### USING [] OPERATOR FOR STRING ITEMS ###
================================================
xHarbour supports using [] operator to access single characters in
string items. Harbour doesn't by default but it has strong enough
OOP API to allow adding such extension without touching core code
even by user at .prg level. It was implemented in Harbour in XHB.LIB.
This code can be compiled and executed by both compilers:
#ifndef __XHARBOUR__
#include "xhb.ch" // add xHarbour emulation to Harbour
#endif
proc main()
local s := "ABCDEFG"
? s, "=>", s[2], s[4], s[6]
s[2] := lower( s[2] )
s[4] := lower( s[4] )
s[6] := lower( s[6] )
?? " =>", s
return
Warning!. There is one difference in above implementation introduced
intentionally to Harbour. xHarbour never generates errors for wrong
indexes in [] operator used for string items but simply returns "",
f.e. add to above code:
? ">" + s[0] + "<", ">" + s[1000] + "<"
If [] operator is used for other type of items RTE is generated.
Harbour will generate RTE in all cases. If someone needs strict XHB
compatibility here then he should adopt code overloading [] operator
for strings in XHB.LIB for his own preferences removing the RTE.
Regards,
Alexey Myronenko
2010/11/2 olmor <ol...@mail.ru>:
> Massimo, Alexey!
>
> Thank you. It works now.
>
> Regards, Oleg
>
--
Massimo Belgrano