Hola.
Como hago referencia a un DATA dentro de una funcion.
Tengo varios DATA en un formulario que son array llenados al iniciar el
formulario. Dentro de varias funciones necesito hacer uso de esos DATA.
Por ejemplo en el armado de un campo calculado
METHOD DbfAfiliadosCreate( oSender ) CLASS TFormAfiliados
WITH OBJECT oSender
:lOpen := .t.
:AddCalcField( "NumAfiliado", {|oField| F_NumAfiliado( oField ) } )
:AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField ) } )
END WITH
RETURN Nil
STATIC FUNCTION F_Domicilio( oField )
LOCAL cData
Local nPos
WITH OBJECT oField:oDataSet
nPos := aScan( :Calle( dsFIELD), ::aCalleNumeros )
cData := ::aCalleDetalles[nPos]" "+ :NumeroCasa( dsFIELD )
END WITH
RETURN cData
:.aCalleNumeros y :.aCalleDetalles son DATA
El error es Variable no existe SELF
Gracias
Juan
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Uso de DATA en funciones
-
- Mensajes: 180
- Registrado: Lun Sep 15, 2008 2:53 pm
Uso de DATA en funciones
Juan,
Pásale self a la función i tendrás TODAS sus datas, eventos...
:AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField,
self ) } )
STATIC FUNCTION F_Domicilio( oField, self )
Un Saludo,
Xevi.
"Juan Castañeda" <jrcsistemas@speedy.com.ar> escribió en el mensaje
news:[email=4b8f3869@svctag-j7w3v3j....]4b8f3869@svctag-j7w3v3j....[/email]
> Hola.
> Como hago referencia a un DATA dentro de una funcion.
> Tengo varios DATA en un formulario que son array llenados al iniciar el
> formulario. Dentro de varias funciones necesito hacer uso de esos DATA.
> Por ejemplo en el armado de un campo calculado
>
> METHOD DbfAfiliadosCreate( oSender ) CLASS TFormAfiliados
> WITH OBJECT oSender
> :lOpen := .t.
> :AddCalcField( "NumAfiliado", {|oField| F_NumAfiliado( oField ) } )
> :AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField ) } )
> END WITH
> RETURN Nil
>
> STATIC FUNCTION F_Domicilio( oField )
>
> LOCAL cData
> Local nPos
>
> WITH OBJECT oField:oDataSet
> nPos := aScan( :Calle( dsFIELD), ::aCalleNumeros )
> cData := ::aCalleDetalles[nPos]" "+ :NumeroCasa( dsFIELD )
> END WITH
>
> RETURN cData
>
> :.aCalleNumeros y :.aCalleDetalles son DATA
>
> El error es Variable no existe SELF
>
> Gracias
>
> Juan
>
>
>
Pásale self a la función i tendrás TODAS sus datas, eventos...
:AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField,
self ) } )
STATIC FUNCTION F_Domicilio( oField, self )
Un Saludo,
Xevi.
"Juan Castañeda" <jrcsistemas@speedy.com.ar> escribió en el mensaje
news:[email=4b8f3869@svctag-j7w3v3j....]4b8f3869@svctag-j7w3v3j....[/email]
> Hola.
> Como hago referencia a un DATA dentro de una funcion.
> Tengo varios DATA en un formulario que son array llenados al iniciar el
> formulario. Dentro de varias funciones necesito hacer uso de esos DATA.
> Por ejemplo en el armado de un campo calculado
>
> METHOD DbfAfiliadosCreate( oSender ) CLASS TFormAfiliados
> WITH OBJECT oSender
> :lOpen := .t.
> :AddCalcField( "NumAfiliado", {|oField| F_NumAfiliado( oField ) } )
> :AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField ) } )
> END WITH
> RETURN Nil
>
> STATIC FUNCTION F_Domicilio( oField )
>
> LOCAL cData
> Local nPos
>
> WITH OBJECT oField:oDataSet
> nPos := aScan( :Calle( dsFIELD), ::aCalleNumeros )
> cData := ::aCalleDetalles[nPos]" "+ :NumeroCasa( dsFIELD )
> END WITH
>
> RETURN cData
>
> :.aCalleNumeros y :.aCalleDetalles son DATA
>
> El error es Variable no existe SELF
>
> Gracias
>
> Juan
>
>
>
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Uso de DATA en funciones
Juan,
Sencillamente pase el propio objeto en ámbito a la función. Algo así:
:AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField, Self ) } )
> STATIC FUNCTION F_Domicilio( oField, Self )
Saludos
--
Ignacio Ortiz de Zúñiga
[Equipo de Xailer/Xailer team]
http://www.xailer.com
http://www.xailer.info
"Juan Castañeda" <jrcsistemas@speedy.com.ar> escribió en el mensaje de
noticias:[email=4b8f3869@svctag-j7w3v3j....]4b8f3869@svctag-j7w3v3j....[/email]
> Hola.
> Como hago referencia a un DATA dentro de una funcion.
> Tengo varios DATA en un formulario que son array llenados al iniciar el
> formulario. Dentro de varias funciones necesito hacer uso de esos DATA.
> Por ejemplo en el armado de un campo calculado
>
> METHOD DbfAfiliadosCreate( oSender ) CLASS TFormAfiliados
> WITH OBJECT oSender
> :lOpen := .t.
> :AddCalcField( "NumAfiliado", {|oField| F_NumAfiliado( oField ) } )
> :AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField ) } )
> END WITH
> RETURN Nil
>
> STATIC FUNCTION F_Domicilio( oField )
>
> LOCAL cData
> Local nPos
>
> WITH OBJECT oField:oDataSet
> nPos := aScan( :Calle( dsFIELD), ::aCalleNumeros )
> cData := ::aCalleDetalles[nPos]" "+ :NumeroCasa( dsFIELD )
> END WITH
>
> RETURN cData
>
> :.aCalleNumeros y :.aCalleDetalles son DATA
>
> El error es Variable no existe SELF
>
> Gracias
>
> Juan
>
>
>
Sencillamente pase el propio objeto en ámbito a la función. Algo así:
:AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField, Self ) } )
> STATIC FUNCTION F_Domicilio( oField, Self )
Saludos
--
Ignacio Ortiz de Zúñiga
[Equipo de Xailer/Xailer team]
http://www.xailer.com
http://www.xailer.info
"Juan Castañeda" <jrcsistemas@speedy.com.ar> escribió en el mensaje de
noticias:[email=4b8f3869@svctag-j7w3v3j....]4b8f3869@svctag-j7w3v3j....[/email]
> Hola.
> Como hago referencia a un DATA dentro de una funcion.
> Tengo varios DATA en un formulario que son array llenados al iniciar el
> formulario. Dentro de varias funciones necesito hacer uso de esos DATA.
> Por ejemplo en el armado de un campo calculado
>
> METHOD DbfAfiliadosCreate( oSender ) CLASS TFormAfiliados
> WITH OBJECT oSender
> :lOpen := .t.
> :AddCalcField( "NumAfiliado", {|oField| F_NumAfiliado( oField ) } )
> :AddCalcField( "Domicilio" , {|oField| F_Domicilio( oField ) } )
> END WITH
> RETURN Nil
>
> STATIC FUNCTION F_Domicilio( oField )
>
> LOCAL cData
> Local nPos
>
> WITH OBJECT oField:oDataSet
> nPos := aScan( :Calle( dsFIELD), ::aCalleNumeros )
> cData := ::aCalleDetalles[nPos]" "+ :NumeroCasa( dsFIELD )
> END WITH
>
> RETURN cData
>
> :.aCalleNumeros y :.aCalleDetalles son DATA
>
> El error es Variable no existe SELF
>
> Gracias
>
> Juan
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 180
- Registrado: Lun Sep 15, 2008 2:53 pm
Uso de DATA en funciones
Gracias Xevi e Ignacio.
Lo habia probado pero seguramente mal porque no me funcionaba. Le pasaba
Self y en la funcion ponia Self:CalleNumeros al usarlo.
Funcion perfecto.
Juan Castañeda
Lo habia probado pero seguramente mal porque no me funcionaba. Le pasaba
Self y en la funcion ponia Self:CalleNumeros al usarlo.
Funcion perfecto.
Juan Castañeda