error al crear nombre variable con loop

39 views
Skip to first unread message

Ives Andrey Rodríguez

unread,
Oct 27, 2022, 12:25:27 PM10/27/22
to Comunidad de Visual Foxpro en Español
este codigo debo repetirlo para customers1, customers2, customers3 and customers4. los nombres de los campos tambien varian TxtNomCli1, TxtNomCli2, TxtNomCli3 y TxtNomCli4.

LOCATE FOR id=1          
IF FOUND()  
thisform.TxtNomCli1.text="customers1.nombre"
thisform.TxtIdent1.text="customers1.identidfica"
thisform.TxtDirec1.text=""customers1.direccion""
thisform.TxtTele1.text="customers1.nombre"
ENDIF


estoy tratando crear una variable por medio de un ciclo para evitar repetir el codigo cuatro veces. esto funciona en otros lenguajes de programacion.


For x=1 TO 4
LOCATE FOR id=x              
IF FOUND()  
thisform.TxtNomCli+"x".Value="customers+"x".nombre"
thisform.TxtIdent+"x".Value="customers+"x".identidfica"
thisform.TxtDirec+"x".Value=""customers+"x".direccion""
thisform.TxtTele+"x".Value="customers+"x".nombre"
ENDIF
ENDFOR

pero me sale error de sintaxis

ggcagnola gmail

unread,
Oct 27, 2022, 12:58:10 PM10/27/22
to publice...@googlegroups.com

For x=1 TO 4
LOCATE FOR id=x              
IF FOUND()  

thisform.TxtNomCli&x..Value="customers+"x".nombre"
thisform.TxtIdent&x..Value="customers+"x".identidfica"
thisform.TxtDirec&x..Value=""customers+"x".direccion""
thisform.TxtTele&x..Value="customers+"x".nombre"
ENDIF
ENDFOR


Antonio Lima

unread,
Oct 27, 2022, 1:02:42 PM10/27/22
to publice...@googlegroups.com
Hola,

El error de sintaxis le tienes al final revisa las comillas , están mal.

Has puesto "customer+ "x" , me parece que querías poner "customer"+x 

Un saludo 

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/982c9066-b063-6b8a-f31c-c30a9d24a5c0%40gmail.com.

Ives Andrey Rodríguez

unread,
Oct 27, 2022, 3:08:54 PM10/27/22
to Comunidad de Visual Foxpro en Español
quiero colocar "customers+x.nombre" para que se pueda crear desde customers1 hasta customers4

HernanCano

unread,
Oct 27, 2022, 3:50:20 PM10/27/22
to Comunidad de Visual Foxpro en Español
También yo quise hacerlo de esta forma, pero no me da.

HernanCano

unread,
Oct 27, 2022, 3:55:42 PM10/27/22
to Comunidad de Visual Foxpro en Español
Así sí me funciona:

((Pregunta: ¿ves el EXIT?))

local M.cCmd, X

for x=1 to 4
   locate for ID=IDENTIFIC-A-BUSCAR
   if found()  
   
      M.cCmd = "thisform.TxtNomCli"+transform(X)+".Value = customers"+transform(X)+".nombre"
      &cCmd
      M.cCmd = "thisform.TxtIdent" +transform(X)+".Value = customers"+transform(X)+".identidfica"
      &cCmd
      M.cCmd = "thisform.TxtDirec" +transform(X)+".Value = customers"+transform(X)+".direccion"
      &cCmd
      M.cCmd = "thisform.TxtTele"  +transform(X)+".Value = customers"+transform(X)+".nombre"
      &cCmd
     
      exit
   
   endif
endfor

Reply all
Reply to author
Forward
0 new messages