el 06-01-2017 03:52 AM
Lo ideal seria El CASO A: decir una accion cerrar el programa y realizar la accion en la interfaz de labview segun lo que se ha dicho. Para eso tendre que medir el tiempo ya que no veo lo que el sistema a reconocido hasta cerrar el cmd.
06-01-2017 04:28 AM - editado 06-01-2017 04:30 AM
A que te refiers con "medir el tiempo" ?
Sí, eso es lo que pasa, que no se ve lo que ha reconocido hasta cerrar el cmd.
En tal caso entonces, sería usar System Exec VI en un bucle while que segun vaya reconociendo vaya a una estructura case. Tienes que hacer un subVI que realize la función de extraer la palabra reconocida por el HVite.exe que se encunetra entre SENT-START y SENT-END.
el 06-01-2017 06:36 AM
He implementado un VI que hace lo que he mencionado en el post anterior.
el 06-01-2017 09:31 AM
Con medir el tiempo me refiero a que como tendre que decir la accion a ciegas sin ver cuando me lo reconoce pues que tendre que calcularlo y ponerle un tiempo para que se cierre el cmd, porque sino puede ser que el sistema escuche algo mas y realize otro reconocimiento.
Muy bien me pondre a trabajar en el subVI, por cierto muchas gracias por el ejemplo de extraer el texto que me interesa, agradezco tu esfuerzo! Ademas se entiende muy bien lo que has hecho muy bien explicado.
el 06-09-2017 10:33 AM
Hola! Ya casi he acabado el programa, gracias al subvi que me pasaste, me ha servido mucho.
Para acabarlo me falta una cosa, quiero que una vez haya reconocido una accion, el sistema cierre la linea de comandos, es decir, cuando entre en el case de esa accion, quiero poner algo para que una vez entre en el case se cierre automaticamente la linea de comandos. Es eso posible?
06-12-2017 04:53 AM - editado 06-12-2017 05:00 AM
Se suponia que si usas cmd /c "......." , al poner el /c se cierra al ejecutar el comando. Pero supongo que eso depende del tipo de ejecutable que usas.
Espero que te ayude este documento.
Aqui parece indicar lo que tu necesitas.
Si no, la primera respuesta de este hilo del foro parece ser lo que necesitas.
el 06-13-2017 02:42 PM
Si supongo que no se cierra poniendo cmd/c porque el ejecutable no es instantaneo, es decir, el ejecutable inicia el proceso y el sistema sigue escuchando hasta que cierro el cmd.
He leido los links que me recomendaste y insistire mas a ver si consigo que funcionen tanto FindWindow() como DestroyWindow().
Mirando los otros links se me ocurrio usar el comando exit, ya que este comando cierra el cmd. Lo probe en el system exec VI y se cierra, pero, el problema es el siguiente: el System Exec VI que yo quiero que se cierre tan pronto como detecte una accion ya tiene un comando como entrada en el command line, lo que yo he intentado ha sido poner un string con el comando exit dentro del case con las acciones a reconocer, para que una vez reconozca una accion este comando se ejecute. Pero LabView no me deja ponerle dos entradas al mismo System Exec VI el cable no se conecta. Intento conectar el string con el comando dentro del case con el command line del System Exec Vi prrincipal pero no se puede.
Es una forma muy simple de solucionar mi problema, pero yo no lo consigo conectar, tu crees que es posible lograrlo con el comando exit?
el 06-14-2017 02:32 AM
Pero LabView no me deja ponerle dos entradas al mismo System Exec VI el cable no se conecta. Intento conectar el string con el comando dentro del case con el command line del System Exec Vi prrincipal pero no se puede.Es una forma muy simple de solucionar mi problema, pero yo no lo consigo conectar, tu crees que es posible lograrlo con el comando exit?
No entiendo eso de poner 2 entradas al mismo System Exec VI. Puedes enseñarmelo con una captura ? Para ello no hace falta que la pongas en un Word como la otra vez. Simplemente una vez que tienes la captura, subela al foro.
Mientras tu programa Hvite.exe está funcionando, te deja escribir el comando "exit" en el cmd y se cierra ?
el 06-14-2017 03:32 AM
No, mientras HVite.exe se esta ejecutando no puedo escribir nada en el cmd solo se cierra clicando en la X.
He subido la captura; en ella puedes ver que hay distintos system exec Vi. El programa es lineal, es decir, Primero se ejecuta el primer System Exec Vi y entramos al primer case, ahi se ejecuta el siguiente system exec Vi y vamos al suguiente case... como puedes ver en el case de abajo a la izquierda hay un string con el comando exit, y yo lo que quiero es poder aplicarle este comando al primer system exec vi para que se cierre y asi dejar que el programa continue. Pero como se puede apreciar en la imagen, no me deja ponerle dos entradas al mismo system exec Vi, no se conectan los cables.
06-14-2017 03:56 AM - editado 06-14-2017 03:57 AM
No, mientras HVite.exe se esta ejecutando no puedo escribir nada en el cmd solo se cierra clicando en la X.
Por eso lo pregunté. Porque si ya no puedes escribir nada, lo de escribir "exit" no es la solución. Me da que lo único que se puede hacer es usando las funciones de la API de windows en LabVIEW como se enseña en el 3º link unos post anteriores. (usando DestroyWindow() )