cogiendo datos de una consola

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
xapu
Hacker del Foro
Mensajes: 82
Registrado: 12 Dic 2009, 15:42

cogiendo datos de una consola

Mensaje por xapu »

buenas..
lo k kiero hacer es una interfaz para un programa k se llama subversion (svn.ex) y solo tiene consola. lo k kiero acer es kitar la consola y k los datos k salen aparezcan dentro de un edit de autoit (por ejemplo).
esto como seria? usando alguna api del programa?
- 0 error(s), 0 warning(s) :smt098 FUCK YEA!
http://xapus.blogspot.com/
Avatar de Usuario
Nahuel
Hacker del Foro
Mensajes: 194
Registrado: 27 Jun 2007, 23:32
Ubicación: Argentina
Contactar:

Re: cogiendo datos de una consola

Mensaje por Nahuel »

Todas las cosas que preguntás pueden ser respondidas por vos mismo, buscando un poco acá en el foro y sobre todo en la ayuda y la documentación de AutoIt.
No soy un hombre de plegarias, pero si estás en el cielo sálvame por favor Superman!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: cogiendo datos de una consola

Mensaje por Chefito »

Pienso lo mismo que Nahuel. Hay muchos ejemplos en el foro que hacen esto. Incluso hay scripts enteros que utilizan este método para interactuar con comandos de consola (yo mismamente tengo uno o dos :smt001 ).
En la ayuda de autoit también hay buenos ejemplos que hacen esto. Mira las funciones StderrRead, StdoutRead, StdinWrite, StdioClose en la ayuda y haz búsquedas de estas funciones en el foro. Verás como con esto encuentras lo que necesitas :smt003 .

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
xapu
Hacker del Foro
Mensajes: 82
Registrado: 12 Dic 2009, 15:42

Re: cogiendo datos de una consola

Mensaje por xapu »

e mirado por todo, e mirado esas funciones, he probado varias maneras, pero no me funciona!
si me pudierais ayudar, creo k el problema es como ejecutar comandos de ese programa con el run() por k e provado con el shellexecute() y no iva
esto es lo que e exo:

Código: Seleccionar todo

   
    #include<GUIConstantsEx.au3>
    #include <Constants.au3>
    GUICreate("Pantalla de línea de comandos", 300, 300)
    $boton_cerrar = GUICtrlCreateButton("Cerrar", 30, 280, 60)
    $boton_cls = GUICtrlCreateButton("CLS", 100, 280, 60)
    $boton_get = GUICtrlCreateButton("Get", 230, 80, 60)
    $input_edit = GUICtrlCreateEdit("Comandos de entrada:", 30, 10,200,100)
    $output_edit = GUICtrlCreateEdit("Salida de comandos", 30, 120, 250, 150)

    GUISetState(@SW_SHOW)

    While 1
       $msg1 = GUIGetMsg()
          Select

             Case $msg1 = $boton_get

                $entrada = GUICtrlRead($input_edit)
                $com = Run("svn.exe" & $entrada,"\serv",@SW_HIDE,$STDERR_CHILD + $STDOUT_CHILD)
                While 1
                   $salida = StdoutRead($com)
                   If @error Then ExitLoop
                   if Not $salida = "" Then
                      ;MsgBox(0, "STDOUT read:", $Salida)
                      GUICtrlSetData($output_edit, $salida & @CRLF)
                   EndIf
                Wend

             Case $msg1 = $boton_cerrar
                MsgBox(0, "Eventos de ventana", "Has presionado salir!")
                ExitLoop

             Case $msg1 = $GUI_EVENT_CLOSE
                MsgBox(0, "Eventos de ventana", "Has presionado salir!")
                ExitLoop
          EndSelect
    wend
- 0 error(s), 0 warning(s) :smt098 FUCK YEA!
http://xapus.blogspot.com/
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: cogiendo datos de una consola

Mensaje por Chefito »

Mmmmmm....ponos el enlace para poder bajarnos el archivo svn.exe y los parámetros que le quieres pasar a la variable $entrada y así podremos probar el código y ver mejor si se puede solucionar.
En esta línea de código:

Código: Seleccionar todo

$com = Run("svn.exe" & $entrada,"\serv",@SW_HIDE,$STDERR_CHILD + $STDOUT_CHILD)
no has puesto separadores, y el directorio donde se encuentra el archivo lo has puesto inclompleto. Prueba con

Código: Seleccionar todo

$com = Run("svn.exe " & $entrada,@scriptdir & "\serv",@SW_HIDE,$STDERR_CHILD + $STDOUT_CHILD)
. He puesto que el archivo svn.exe se encuentra en el directorio del script, y dentro de éste, en la carpeta serv.

No se si habrá algún fallo más. Habría que probar el código llamando al fichero de consola.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
xapu
Hacker del Foro
Mensajes: 82
Registrado: 12 Dic 2009, 15:42

Re: cogiendo datos de una consola

Mensaje por xapu »

weee!!!! ya rula!
muxas gracias XD :smt003 era lo k tu decias chefito
- 0 error(s), 0 warning(s) :smt098 FUCK YEA!
http://xapus.blogspot.com/
Responder