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 . :D
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...