Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Reflejar salida de shell en textarea
#1

Hola a todos,

estoy intentando implentar la salida a un textarea de una instrucción via Shell, tengo un boton que me trae la ruta a un textedit y con otro boton ejecuto la llamada que deberia mostrarse en un textarea, en consola la linea que armo se ejecuta sin problemas y en gambas no obtengo ningun error, simplemente no hace nada.

También dejo una captura parcial del formulario

Gracias de antemano!!!

Este es el código que utilizo
 
Código:
 
Public Sub btnSELECepub_Click()

  If Dialog.OpenFile() Then Return
    txtRUTAepub.Text = Dialog.Path

End

Public Sub btnCHECKEAR_Click()

  Dim hproceso As Process

  hproceso = Shell ("epubcheck" & "4" & "txtRUTAepub.text") For Read As "Proceso"
End

Public Sub Proceso_read()

  Dim salida As String

  txtRESULTADOS.ReadOnly = True

  salida = Read #Last, Lof(Last)
  txtRESULTADOS.text &= salida

End


Archivos adjuntos Miniatura(s)
   
    ¡Gracias!
#2

(09-02-2021, 04:51)alberto-moyano escribió:  hproceso = Shell ("epubcheck" & "4" & "txtRUTAepub.text") For Read As "Proceso"

txtRUTAepub.text se encuentre entrecomillado y no debería estarlo.
Luego, te propongo la siguiente manera de hacerlo:
GAMBAS
  1. Public Sub btnSELECepub_Click()
  2.  
  3.   If Dialog.OpenFile() Then Return
  4.   txtRUTAepub.Text = Dialog.Path
  5.  
  6.  
  7. Public Sub btnCHECKEAR_Click()
  8.  
  9.   'Dim hproceso As Process
  10.  
  11.   Shell "epubcheck 4 " & txtRUTAepub.text & " 2>&1" To s
  12.  
  13.   txtRESULTADOS.text = s
  14.  
  15.  
  16. ' Public Sub Proceso_read()
  17. '
  18. '   Dim salida As String
  19. '
  20. '   txtRESULTADOS.ReadOnly = True
  21. '
  22. '   salida = Read #Last, Lof(Last)
  23. '   txtRESULTADOS.text &= salida
  24. '
  25. ' End


    ¡Gracias!
#3

Hola Tincho, gracias por tu ayuda pero tu propuesta me tira un error


Archivos adjuntos Miniatura(s)
   
    ¡Gracias!
#4

(09-02-2021, 13:18)alberto-moyano escribió:  Hola Tincho, gracias por tu ayuda pero tu propuesta me tira un error

Si, es verdad, el error es que olvide un AND, ponelo así:
  Shell "epubcheck 4 " & txtRUTAepub.text & "2>&1" To s
Debería funcionar
Corregí el código que puse antes también.
Saludos.
    ¡Gracias!
#5

Hola tincho, no funciona, pero me ya me muestra en el textarea el error, que creo entender que significa.

el 4 después de epubcheck es un argumento del script (indica la versión de epubcheck), probe con un AND entre la llamada al script y el 4 pero tampoco funciona, no sé si para los argumentos la declaración debe cambiar

Bueno Tincho, ya lo encontré, pero no entiendo el porqué. El 4 que es un valor argumento necesita un espacio despues antes de cerrar las comillas, en otras pruebas que hice con programas no se necesita el espacio adicional antes del cierre de las comillas.

Gracias por tu ayuda

PD: como cierro el hilo para que figure como solucionado


Archivos adjuntos Miniatura(s)
   
    ¡Gracias!
#6

(09-02-2021, 14:34)alberto-moyano escribió:  El 4 que es un valor argumento necesita un espacio despues antes de cerrar las comillas

Si eso es, creo, siempre así, en unix los argumentos van separados por un espacio.
Saludos.
    ¡Gracias!


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)