Al sumar dos chr( ) y uno es 0 no lo hace bien.
Posted: Fri Jan 27, 2006 8:52 pm
Grupo,
Miren por favor este código, pasa algo raro, cuando queremos sumar dos Chr( a ) + chr( b ) y a tiene un valor 0 CERO...
Espero sus comentarios.
Hay alguna forma de cargar las jpg sin poner la url.... ? asi mando las pantallas capturadas.
Miren por favor este código, pasa algo raro, cuando queremos sumar dos Chr( a ) + chr( b ) y a tiene un valor 0 CERO...
Espero sus comentarios.
Code: Select all
#include "fivewin.ch"
//------------------------------------------------------------------------------
// Prueba a realizar:
// 1) al cValor1 darle el valor "02"
// 2) al cValor2 darle el valor "02"
// Se obtiene lo de prueba1.jpg
//segunda prueba:
// 1) a cValor1 darle "02"
// 2) a cValor2 darle "00"
// se obtine respuesta prueba2.jpg
// ACA BIENE EL TEMA, cuando a cValor1 se le da "00" no muestra
// lo que se calcula en LOCAL cCaracter2:= Chr( nNumerico1 ) + Chr( nNumerico2 )
// ver prueba prueba3.jpg
//------------------------------------------------------------------------------
FUNCTION main()
LOCAL cValor1:= "00"
LOCAL nNumerico1:= hextodec( cValor1 )
LOCAL cCaracter1:= Chr( nNumerico1 )
LOCAL cValor2:= "02"
LOCAL nNumerico2:= hextodec( cValor2 )
LOCAL cCaracter2:= Chr( nNumerico1 ) + Chr( nNumerico2 )
? "cValor1" ,cValor1, "hextodec( cValor1 ) ", nNumerico1, "Chr( nNumerico1)", cCaracter1,;
"cValor2", cValor2, "hextodec( cValor2 ) ", nNumerico2, "Chr( nNumerico1 ) + Chr( nNumerico2 )", cCaracter2
RETURN ( nil )
//------------------------------------------------------------------------------
// HexaTodec(cString) es una funcion que hemos sacado de los examples de la
// carpeta del FW
FUNCTION HexaToDec(cString)
local nNumber:=0,nX:=0
local cNewString:=AllTrim(cString)
local nLen:=Len(cNewString)
FOR nX:=1 to nLen
nNumber+=(At(SubStr(cNewString,nX,1),'0123456789ABCDEF')-1)*;
(16**(nLen-nX))
NEXT nX
RETURN ( int( nNumber ) )
//------------------------------------------------------------------------------