Page 1 of 1
Transform xHarbour
Posted: Tue Nov 13, 2007 5:07 pm
by fgondi
Mi intención es poder renombar la función Trasform() de xHarbour.
Renombrar por Transform2() y crear otra función con el Nombre Transform(), que se encargará de llamar despues de realizar algunos ajustes en los variables numericas concretamente, a la funcion Transform2().
Saludos Cordiales
Mariano González
ALSIS Gestión de Empresa
Posted: Tue Nov 13, 2007 5:58 pm
by QAZWSX2K
no veo el problema, la funcion transform() definida por ti en el prg tendra prioridad sobre la de la libreria, ya que queda la que se enlaza primero
Posted: Tue Nov 13, 2007 6:21 pm
by fgondi
Como comprenderas eso ya lo habia probado, y sencillamente no es posible.
Gracias por la respuesta.
Posted: Tue Nov 13, 2007 8:18 pm
by Susy
fgondi wrote:Como comprenderas eso ya lo habia probado, y sencillamente no es posible.
Gracias por la respuesta.
Hola amigo como esta pues, prueba a crear la funcion Transfr2() de 8 caracteres, recuerda que Transform() contiene 9 caracteres y creo que FiveWin, solo reconoce 8 caracteres en las funciones propias.
espero haber sido de su gran ayuda amigo.
Su amiga Susy
susan_mx@hotmail.com
Posted: Tue Nov 13, 2007 8:46 pm
by QAZWSX2K
bueno claro, asi pierdes la transform original, lo que tiene que hacer no es renombrar la de xharbour, eso si es imposible, sino creo la transf2, entonces al numero tu le mandas asi por ejemplo transf2(numero, "999") en tu prg
y en tu funcion
function transf2(para1, para2)
tu decisiones sobre el numero, variables, etc
transform(para lo que lo uses despues, el de xharbour)
return algo
yo realmente no le veo el rollo, si quizas te explicaras mejor y no dices que has probado o no
Posted: Tue Nov 13, 2007 8:48 pm
by Antonio Linares
Susy,
FWH no impone ninguna restricción sobre la longitud de los nombres.
Eso es algo que soporta directamente el compilador Harbour/xHarbour
Gracias Antonio...disculpa
Posted: Tue Nov 13, 2007 10:14 pm
by Susy
Antonio Linares wrote:Susy,
FWH no impone ninguna restricción sobre la longitud de los nombres.
Eso es algo que soporta directamente el compilador Harbour/xHarbour
Gracias Antonio Disculpa, fui muy torpe al explicarme, quise decir que probablemente reconozca los 8 caracteres Transform() en lugar de Transform2() de la funcion propia creada por el programador, pero gracias .
Su amiga Susy
Susan_mx@hotmail.com
Posted: Wed Nov 14, 2007 12:13 pm
by fgondi
hola,
A ver si me explico correctamente:
Lo que necesito es que la función transform pase primero por una condiciones propias y posteriormente haga el transform normal.
Para ello tengo dos alternativas:
La primera:
Code: Select all
Func Transform2( xValue, cPicture )
xValue := MiFunc( xValue )
return Transform( xValue, cPicture )
Esta es la que me comentaís que haga. El problema es que tanto xharbour como fivewin llaman a la función transform, por ejemplo al hacer cualquier get.
Con lo que tendría que renombar todo el código fuente de xharbour y fivewin para que donde llama a transform llame a transform2
La segunda:
Code: Select all
Func Transform( xValue, cPicture )
xValue := MiFunc( xValue )
return Transform2( xValue, cPicture )
Con esta sólo tendría que renombrar la función transfom a transform2 y crea esta nueva función transform.
Me parece mas sencillo porque sólo tengo que renombrar una única función perteneciente a xharbour.
El problema es que no puedo sustituir al función transform de xharbour por la propia. El error que muestra es:
Code: Select all
Transform: Redefinition of predefined function
Posted: Wed Nov 14, 2007 12:58 pm
by karinha
Creo, que TRANSFORM no sea una FUNCTION y si un COMANDO del CLIPPER.
Desde la vérsion AUTUMM 86 no se puede usar ningun NOMBRE de COMANDO, internamente en nuestros programas. Mas...