This feature is already disabled if you compile xHarbour with HB_C52_STRICT. Your proposal can NOT be implemented withOUT breaking existing code, because these String Functions must accept CHAR type to support existing code. The feature is documented in xdiff.txt.
-------------------------------------------------- From: "Eduardo Fernandes" <modals...@yahoo.com.br> Sent: Saturday, November 07, 2009 1:56 AM To: "Xharbour-Developers List" <xharbour-developers@lists.sourceforge.net>; "Ron Pinkas" <ron.pin...@xharbour.com> Subject: Re: [xHarbour-developers] Proposal for HB_IS_NUMERIC. > Ron, > > I don't want remove this feature or break existing code. I would like this > feature doesn't change the expected return values on any string functions. > > The question is: There is a way to separate this feature without remove it > or break existing code, and at same time, maintain Clipper compatibility ? > > Maybe a #define HB_EXT_NUMERIC on hbapi.h. > > #ifdef HB_EXT_NUMERIC > #define HB_IS_NUMERIC( p ) ( HB_IS_NUMBER( p ) || HB_IS_DATE(p) || ( > HB_IS_STRING(p) && (p)->item.asString.length == 1 ) ) > #else > #define HB_IS_NUMERIC( p ) ( HB_IS_NUMBER( p ) || HB_IS_DATE(p) ) > #endif > > > 1) Where this feature is documented ? > 2) If I adopt this, what the impact into xharbour core ? > > regards, > Eduardo > > --- Em sex, 6/11/09, Ron Pinkas <ron.pin...@xharbour.com> escreveu: > >> De: Ron Pinkas <ron.pin...@xharbour.com> >> Assunto: Re: [xHarbour-developers] Proposal for HB_IS_NUMERIC. >> Para: "Eduardo Fernandes" <modals...@yahoo.com.br>, "Xharbour-Developers >> List" <xharbour-developers@lists.sourceforge.net> >> Data: Sexta-feira, 6 de Novembro de 2009, 9:25 >> Eduardo, >> >> What makes no sense to a programmer can be IGNORED by THAT >> programmer. Using a char value as numeric makes LOTs of >> sense to many, especially those that programs with other >> languages. Either way this is a documented feature which has >> been available for many years. Therefore we can't simply >> remove it and break existing code. >> >> Ron >> >> F.E. simple encoding >> >> sString := "Hello" >> sCoded := "" >> >> FOR EACH cChar IN sString >> sCoded += Str( cChar, 3 ) >> NEXT >> >> Ron >> >> -------------------------------------------------- >> From: "Eduardo Fernandes" <modals...@yahoo.com.br> >> Sent: Thursday, November 05, 2009 5:56 PM >> To: "Xharbour-Developers List" >> <xharbour-developers@lists.sourceforge.net>; >> "Ron Pinkas" <ron.pin...@xharbour.com> >> Subject: Re: [xHarbour-developers] Proposal for >> HB_IS_NUMERIC. >> >> > Ron, >> > >> > I'm curious about what intention on application with >> these results: >> > >> > str('a',10,2) -> ' 97.00' >> > strzero('b',10) -> '0000000098' >> > padl("9","*",10) -> 42 spaces + "9" >> > padr("9","*",10) -> "9" + 42 spaces >> > padc("9","*",10) -> 20 spaces + "9" + 21 spaces >> > >> > IMO, this can cause damage on the expected results, >> mainly from Clipper legacy applications. >> > >> > I still think more prudent to separate this *feature* >> in HB_IS_NUMERIC_EXT and use it only on specific issues. >> > >> > Please, consider it. >> > >> > Eduardo >> > >> > --- Em qui, 5/11/09, Ron Pinkas <ron.pin...@xharbour.com> >> escreveu: >> > >> >> De: Ron Pinkas <ron.pin...@xharbour.com> >> >> Assunto: Re: [xHarbour-developers] Proposal for >> HB_IS_NUMERIC. >> >> Para: "Eduardo Fernandes" <modals...@yahoo.com.br>, >> "Xharbour-Developers List" <xharbour-developers@lists.sourceforge.net> >> >> Data: Quinta-feira, 5 de Novembro de 2009, 17:48 >> >> Eduardo, >> >> >> >> > So, we could review all string functions like >> str(), >> >> strzero(), pad(), etc, that call HB_IS_NUMERIC(), >> >> HB_IT_NUMERIC or ISNUM() to maintain, at least, >> expected >> >> results or run time error, if any argument is >> inverted or >> >> with any data type changed. >> >> > >> >> > f.e.: >> >> > >> >> > ? str("a",10,2) >> >> > ? strzero("b",10) >> >> > ? padl("9","*",10) >> >> > ? padr("9","*",10) >> >> > ? padc("9","*",10) >> >> >> >> Please note that it is absolutely VALID CODE to >> pass a >> >> single char as a NUMERIC value. I have lot's of >> such code >> >> intentionally. It would therefore be wrong to >> break a >> >> documented feature which has been working for >> years. >> >> >> >> Ron >> >> >> > >> > >> > >> > >> ____________________________________________________________________________________ >> > Veja quais são os assuntos do momento no Yahoo! >> +Buscados >> > http://br.maisbuscados.yahoo.com >> > >> > > > > ____________________________________________________________________________________ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ xHarbour-developers mailing list xHarbour-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xharbour-developers