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.

list of controls

Xailer professional forum in English
Responder
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

list of controls

Mensaje por Hurricane »

Hi,

At runtime, does Xailer have any functions or methods that I read all controls on the Form? Similar to pascal:

Código: Seleccionar todo

  for n:= 0 to ComponentCount-1 do
  begin
  ShowMessage(Components[n].ClassName);
  end; 
I know that each container has its list of controls/objects, that's how I do it.

regards,
Developments | Trainings | Projects
Site | E-mail | Messenger | YouTube
Pedro Gil
Mensajes: 112
Registrado: Lun Ene 15, 2007 7:46 pm

Re: list of controls

Mensaje por Pedro Gil »

Hi,

Do you mean something like the following code?

LOCAL oCtl

FOR EACH oCtl IN ::aControls
oCtl:ClassName()
NEXT

Regards.
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

Re: list of controls

Mensaje por Hurricane »

Not. I already do this and recursively read all controls in any* container.
Pedro Gil escribió: Mié May 25, 2022 2:40 pm Do you mean something like the following code?

LOCAL oCtl

FOR EACH oCtl IN ::aControls
oCtl:ClassName()
NEXT
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: list of controls

Mensaje por ignacio »

Hi,

Surely you know hot to do a recursive function. Just in case:

Código: Seleccionar todo

FUNCTION GetControls( oForm, aControls )

   LOCAL oCtl
   DEFAULT aControls TO {}

  FOR EACH oCtl IN oForm:aControls 
      Aadd( aControls, oCtl )
      IF oCtl:IsKindOf( "TWinControl" )
         GetControls( oCtl, @aControls )
     ENDIF
  NEXT

RETURN aControls
Regards,
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

Re: list of controls

Mensaje por Hurricane »

I did some tests and it works fine. I will update my function. Thanks.
ignacio escribió: Mié May 25, 2022 4:01 pm

Código: Seleccionar todo

FUNCTION GetControls( oForm, aControls )
regards,
Developments | Trainings | Projects
Site | E-mail | Messenger | YouTube
Responder