Página 1 de 1

Uso de DATA en funciones

Publicado: Jue Mar 04, 2010 5:34 am
por jrcsistemas
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

Uso de DATA en funciones

Publicado: Jue Mar 04, 2010 10:27 am
por Xevi
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
>
>
>

Uso de DATA en funciones

Publicado: Jue Mar 04, 2010 10:29 am
por ignacio
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
>
>
>

Uso de DATA en funciones

Publicado: Vie Mar 05, 2010 8:39 am
por jrcsistemas
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