Ayuda con código

Hola, quisieraver si puede revisar este código, no0 me marca error, pero al momento de presionar el botón no me manda al texbox.
L=FILETOSTR('titulo.txt')&& Este es el archivo que guarda los datos contenidos entre '<Conceptos>' y '</Conceptos>'
A1=0&&variable que guarda la linea de donde se encuentra ubicado '<Conceptos>'
A2=0&&variable que guarda la linea de donde se encuentra ubicado '</Conceptos>'
FOR a=1 TO  MEMLINES(L)
cCadena=MLINE(L,A)
IF ALLTRIM(Ccadena)='<Emisor'
A1=A+1
ENDIF
IF ALLTRIM(Ccadena)='</Emisor>'
A2=A-1
ENDIF
IF A1>0 .AND. A2>0
FOR P=1 TO (A2+1)-A1
cCadena=MLINE(l,(A1-1)+P)
THISFORM.List2.AddItem(CHRTRAN(cCadena,'/>',''))
*thisform.text10.Value = SUBSTR(cCadena,atc("nombre='",cCadena),len(cCadena))
ENDFOR
RETURN
ENDIF
ENDFOR
*ExtraesNombre=STREXTRACT(cCadena,"nombre='", "'")
*ExtraesNombre=SUBSTR(cCadena,atc("nombre='",cCadena),len(cCadena))
thisform.text10.Value = SUBSTR(cCadena,atc("nombre='",cCadena))
Respuesta
1
En principio tu código no tiene errores, aunque no sé cuál es tu intención cuando utilizas RETURN dentro del bucle FOR ... ENDFOR.
Veo que has probado asignar el valor al txt10 antes del endfor y del return. ¿Qué pasó, funcionó?
***
Veamos algunos conceptos que pueden ser los responsables de tu problema:
El comando RETURN devuelve el control del programa al programa que llama.
RETURN termina la ejecución de un programa, procedimiento o función. El control se devuelve al programa que llama, al programa que llama de mayor nivel, a otro programa o a la ventana Comandos.
Cuando se ejecuta RETURN, Visual FoxPro libera las variables PRIVATE.
RETURN se coloca generalmente al final de un programa, procedimiento o función para devolver el control a un programa de nivel superior. No obstante, se ejecutará un RETURN implícito si se omite RETURN.
En tú caso no sé si estás en un procedimiento o en un evento de formulario, pero creo que independientemente de ello el problema está en que al poner el COMANDO RETURN estás saliendo del evento sin que se lea la línea en la que asignas el valor al txtbox.
*** SOLUCION ***
Lo apropiado para salir del bucle es usar EXIT, por ello te propongo que utilices EXIT en lugar de RETURN.
EXIT transfiere el control desde dentro de un bucle DO WHILE ... ENDDO, FOR ... ENDFOR, o SCAN ... ENDSCAN al comando que sigue inmediatamente a ENDDO, ENDFOR, o ENDSCAN.
Pruébalo y me avisas.
Ok
Si la respuesta te ha servido debes dar por finalizada la pregunta.

Añade tu respuesta

Haz clic para o