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.

Macro

Foro público de Xailer en español
Responder
Paco V
Mensajes: 380
Registrado: Jue Oct 27, 2005 9:08 am

Macro

Mensaje por Paco V »

Quisiera analizar varios controles
if ::oNoEdit1:value = "Dom"
::oNoEdit1:nclrtext := clRed
endif
............
if ::oNoEdit5:value = "Dom"
::oNoEdit5:nclrtext := clRed
endif
Se podria hacer de alguna otra forma similar a (No me funciona):
for n= 1 to 5
varia := "nombre"+str(n,1,1)
::&varia:value := "Pajarito"+str(n,1)
next
Paco V
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Macro

Mensaje por jfgimenez »

Paco,
> Quisiera analizar varios controles
> if ::oNoEdit1:value = "Dom"
> ::oNoEdit1:nclrtext := clRed
> endif
> ...........
> if ::oNoEdit5:value = "Dom"
> ::oNoEdit5:nclrtext := clRed
> endif
>
> Se podria hacer de alguna otra forma similar a (No me funciona):
>
> for n= 1 to 5
> varia := "nombre"+str(n,1,1)
> ::&varia:value := "Pajarito"+str(n,1)
> next
Lo más sencillo es:
LOCAL aControls := { ::oNoEdit1, ::oNoEdit2, ::oNoEdit3, ::oNoEdit4,
::oNoEdit5 }
LOCAL n
FOR n := 1 TO 5
IF aControls[n]:Value == "Dom"
aControls[n]:nClrText := clRed
ENDIF
NEXT
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Paco V
Mensajes: 380
Registrado: Jue Oct 27, 2005 9:08 am

Macro

Mensaje por Paco V »

Gracias Jose.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> wrote:
>Paco,
>
>> Quisiera analizar varios controles
>> if ::oNoEdit1:value = "Dom"
>> ::oNoEdit1:nclrtext := clRed
>> endif
>> ...........
>> if ::oNoEdit5:value = "Dom"
>> ::oNoEdit5:nclrtext := clRed
>> endif
>>
>> Se podria hacer de alguna otra forma similar a (No me funciona):
>>
>> for n= 1 to 5
>> varia := "nombre"+str(n,1,1)
>> ::&varia:value := "Pajarito"+str(n,1)
>> next
>
>Lo más sencillo es:
>
> LOCAL aControls := { ::oNoEdit1, ::oNoEdit2, ::oNoEdit3, ::oNoEdit4,
>::oNoEdit5 }
> LOCAL n
>
> FOR n := 1 TO 5
> IF aControls[n]:Value == "Dom"
> aControls[n]:nClrText := clRed
> ENDIF
> NEXT
>
>--
>Un saludo,
>
>José F. Giménez
>
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Macro

Mensaje por Xevi »

Paco,
Yo lo estoy utiizando así...
For n := 1 To 12
cIncident := __ObjSendMsg( Self, "oEdit" + AllTrim(Str(n)) ):cText
If !Empty( cIncident )
.... //código...
EndIf
Next
En tu caso, no lo he probado, supongo que funcionaría...
for n= 1 to 5
varia := __ObjSendMsg( Self, "oNoEdit" + AllTrim(Str(n)) )
varia:value := "Pajarito"+str(n,1)
next
Un saludo,
Xevi.
"Paco V" <ssi@ono.com> ha escrit al missatge del grup de discussió:
443a236d$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Quisiera analizar varios controles
> if ::oNoEdit1:value = "Dom"
> ::oNoEdit1:nclrtext := clRed
> endif
> ...........
> if ::oNoEdit5:value = "Dom"
> ::oNoEdit5:nclrtext := clRed
> endif
>
> Se podria hacer de alguna otra forma similar a (No me funciona):
>
> for n= 1 to 5
> varia := "nombre"+str(n,1,1)
> ::&varia:value := "Pajarito"+str(n,1)
> next
>
> Paco V
>
>
>
>
>
Responder