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.

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Foro público de Xailer en español
Responder
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Mensaje por Carlos Ortiz »

En el foro se habla sobre como redefinir algunas propiedades de los
componentes de un dialog recorriendolos con algo como esto
for each oControl IN ::aControls
if oControl:IsKindOf( "TEdit" )
oControl:value := nil
...
, funciona para forms... pero no recorre los componentes de un folder que
están adentro del form, me arroja el {folder} pero como puedo acceder a los
valores de los Edit que estan en el folder.
Muchas gracias
Diego Ferreira
Mensajes: 148
Registrado: Mar Dic 18, 2007 4:39 pm

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Mensaje por Diego Ferreira »

Saludos...
Asi lo hago yo y me resulta si por ejemplo los edit estan dentro de un
groupbox, folder o bevel....
For nN := 1 To Len( ::oFolder:aControls )
If ::oFolder:aControls[nN]:IsKindOf( "TEdit" )
::oFolder:aControls[nN]:nClrPane := clRed
EndIf
Next
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Mensaje por notengo »

Carlos,
el control TFolder desciende de TWinControl y hereda su propiedad aControls
que almacena todos los elementos que contiene.
Saludos,
José Lalí­n
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Mensaje por Carlos Ortiz »

Si eso debe ser correcto, el tema de que cuando los controles tEdit estan en
un folder como por ejemplo en el ejemplo DbfData6 eso no se cumple.
Puse esto en en frmfacturas de dicho proyecto y no me arroja los tEdit
for n = 1 to Len(::aControls)
msginfo(::aControls[n])
If ::aControls[n]:IsKindOf( "TEdit" )
::aControls[n]:nClrPane := clRed
endif
end
Espero comentarios y gracias nuevamente
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Mensaje por notengo »


Carlos,
no sé si hay algún bug en la versión que tienes, pero modificando el método
MantenAlta de FormFacturas así­:
METHOD MantenAlta( oSender ) CLASS TFrmFacturas
LOCAL n
WITH OBJECT TFrmFraEdi()
:lOnAppend := .t.
:New( Application:oMainForm )
::oDbfCab:AddNew()
:cText := "Creación de facturas"
:oEdCodigo:Value := "[Auto]"
:oDteCreacion:Value := Date()
:oDteCreacion:SetFocus()
:RequestState()
//
for n = 1 to Len( :aControls)
//msginfo( :aControls[n])
If :aControls[n]:IsKindOf( "TEdit" )
:aControls[n]:nClrPane := clRed
endif
end
//
IF :ShowModal() == mrOK .and. ::GetFacNum( :oEdCodigo )
::oDbfCab:Update()
::SaveLines( :oBrwArt:aArrayData )
ELSE
::oDbfCab:Cancel()
ENDIF
:End() // por ser lHideOnClose
END WITH
RETURN NIL
El resultado es el de la captura adjunta.
Saludos,
José Lalí­n
--
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Mensaje por Carlos Ortiz »

Perfecto José, estaba invocando esas lineas en el lugar equivocado, con tu
sugerencia está solucionado.
Muchas gracias.
"José Lalín" <notengo@correo.com> escribió en el mensaje
news:49b82e40$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>
> Carlos,
>
> no sé si hay algún bug en la versión que tienes, pero modificando el
> método
> MantenAlta de FormFacturas así:
>
> METHOD MantenAlta( oSender ) CLASS TFrmFacturas
>
> LOCAL n
>
> WITH OBJECT TFrmFraEdi()
> :lOnAppend := .t.
> :New( Application:oMainForm )
> ::oDbfCab:AddNew()
> :cText := "Creación de facturas"
> :oEdCodigo:Value := "[Auto]"
> :oDteCreacion:Value := Date()
> :oDteCreacion:SetFocus()
> :RequestState()
>
> //
> for n = 1 to Len( :aControls)
> //msginfo( :aControls[n])
> If :aControls[n]:IsKindOf( "TEdit" )
> :aControls[n]:nClrPane := clRed
> endif
> end
> //
> IF :ShowModal() == mrOK .and. ::GetFacNum( :oEdCodigo )
> ::oDbfCab:Update()
> ::SaveLines( :oBrwArt:aArrayData )
> ELSE
> ::oDbfCab:Cancel()
> ENDIF
> :End() // por ser lHideOnClose
> END WITH
>
> RETURN NIL
>
> El resultado es el de la captura adjunta.
>
> Saludos,
> José Lalín
>
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Como puedo recorrer los componentes de un folder para asignarle alguna propiedades?

Mensaje por Carlos Ortiz »

Gracias Diego, habia intentado con eso pero en el metodo equivocado.
Responder