Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Aplicación Con Interfaz Y Soporte De Scripts . Robot ?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Aplicación Con Interfaz Y Soporte De Scripts . Robot ? 
 
Buenos días!.

Imaginar una aplicación que se esta ejecutando y esta a la espera de ordenes.
Esta ordenes pueden ser por ratón, teclado y ademas un script que recibe de alguna manera la aplicación.

Pudiera ser, desde una de serie de ordenes que sean para la propia aplicación, desde pulsar un botón,
hacer algo en la interfaz de esta. Pero sin pulsar una tecla o ratón en caso de que reciba el script.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Aplicación Con Interfaz Y Soporte De Scripts . Robot ? 
 
Ejemplo:

Tengo un formulario con 4 botones.

Tengo que grabar la secuencia de ejecución de los botones.
Y luego se tienen que ejecutar tal como he creado la secuencia tantas veces como yo quiera.
Ese seria el script que leera la aplicación.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 23 Marzo 2014, 10:45; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Aplicación Con Interfaz Y Soporte De Scripts . Robot ? 
 
He creado este ejemplo. No es que sea algo estable, pero mas o menos un paso.  

Private log_de_botones As String
Private mostrando_procesos As Boolean
Private creando_procesos As Boolean

Public Sub _new()
  
End

Public Sub Form_Open()
  
End

Public Sub botones_Click()
  
  If Not creando_procesos Or mostrando_procesos Then  
    ' Si no estamos creando una lista de procesos,mostramos
    ' los procesos cargados o lo que hace el botón
    Print " Has pulsado el boton con indice " & Last.tag  
  Else
    log_de_botones &= Last.tag & "\n"  
  Endif
  
End

Public Sub btnFin_Click()
  
  creando_procesos = False
  
End

Public Sub btnCrearProcesos_Click()
  
  creando_procesos = True
  log_de_botones = ""
  
End

Public Sub btnCargaProcesos_Click()
  
  'Vaciamos el log de ordenes
  log_de_botones = ""    
  log_de_botones = File.Load(User.Home &/ "Temporales/ordenes.txt")
  mostrando_procesos = True
  
End

Public Sub btnGrabaProcesos_Click()
  
  'Si la longitud de log de procesos contiene algo y no se estan creando procesos,
  'grabamos la secuencia de botones  
  '
  'Tendreis que crear el log en algun diretorio de vuestro disco
  If log_de_botones And Not creando_procesos Then File.Save(User.Home &/ "Temporales/ordenes.txt", log_de_botones)
  
End

Public Sub btnSalir_Click()
  
  Me.Close
  
End

Public Sub btnEjecutar_Click()
  
  Dim ordenes As String[]
  Dim comando As String
  
  ordenes = Split(log_de_botones, "\n")
  ordenes.Remove(ordenes.max)
  For Each comando In ordenes
    Last.tag = comando
    botones_Click()
  Next
  
End
 


Al final se crea una orden vacía que tengo que eliminar.

Subo el código.

No es un nombre muy sugerente.

Interprete_boton.tar.gz
Descripción:  
Descargar
Nombre del archivo: Interprete_boton.tar.gz
Tamaño: 6.72 KB
Descargado: 62 veces
Interprete_boton.tar.gz
Descripción:  
Descargar
Nombre del archivo: Interprete_boton.tar.gz
Tamaño: 6.72 KB
Descargado: 62 veces
Interprete_boton.tar.gz
Descripción:  
Descargar
Nombre del archivo: Interprete_boton.tar.gz
Tamaño: 6.72 KB
Descargado: 62 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 23 Marzo 2014, 12:18; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Aplicación Con Interfaz Y Soporte De Scripts . Robot ? 
 
Algo que tengo que mirar es:

Last.Name
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Aplicación Con Interfaz Y Soporte De Scripts . Robot ? 
 
Shell:

Citar:
Robot ?

Realmente, lo que estas haciendo un bot para tu aplicación... puede ser interesente para hacer "tutoriales" de los propios programas, para enseñar lo que hace el programa, por ejemplo.

Quizás para hacer  verdaderos "scripts" para los programas, lo suyo seria crear un interprete de comandos especificos de programa, y así trabajar directamente con las funciones del programa  (y no trabajar con controles visuales (los botones, menus).

El programa de jodacame, realmente implementa su propio "interprete de comandos", fijate en el código de la subrutina Timer2:

Public Sub Timer2_Timer()
  ' Recorrido del script
  
  Application.busy = 1
  If ListViewListaOrdenes.Available Then 'Para controlar que no estamos en el final de la lista
    Filtro = False ' Para controlar si vamos a saltar una linea
    Label11.Caption = "Ejecutando: " & ListViewListaOrdenes.Item.Key & " (" & ListViewListaOrdenes.Item.text & ")" ' Mensaje de estado
    Select Case Left$(ListViewListaOrdenes.item.Text, 4) ' Verificamos el comando que se realizara
      Case "Mous"
        funciones.ejecutar_comando("xdotool mousemove " & Replace$(Right$(ListViewListaOrdenes.item.Text, Len(ListViewListaOrdenes.item.Text) - 6), ",", " "))
      Case "Coma"
        funciones.ejecutar_comando(Right$(ListViewListaOrdenes.item.Text, Len(ListViewListaOrdenes.item.Text) - 9))
      Case "clic"
        ' Verificamos si es click derecho o izquierdo
        If Mid$(ListViewListaOrdenes.item.Text, 7, 1) = 1 Then
          funciones.ejecutar_comando("xdotool click 1")
        Else
          funciones.ejecutar_comando("xdotool click 3")
        End If
      Case "Text"
        funciones.ejecutar_comando("xdotool type '" & Right$(ListViewListaOrdenes.item.Text, Len(ListViewListaOrdenes.item.Text) - 6) & "'")
      Case "Espe"
        Sleep Val(Right$(ListViewListaOrdenes.item.Text, Len(ListViewListaOrdenes.item.Text) - 14))
      Case "Salt"
        ListViewListaOrdenes.MoveTo(Val(Right$(ListViewListaOrdenes.item.Text, Len(ListViewListaOrdenes.item.Text) - 16)))
        Filtro = True
    End Select
    
    If Filtro = False Then
      ListViewListaOrdenes.MoveNext
    End If
  Else
    Label11.Caption = "Finalizado"
    If repitevalor > 1 Then  
      repitevalor -= 1
      ListViewListaOrdenes.MoveFirst()
      Timer2.Enabled = True
    Else
      Timer2.Enabled = False
    Endif
  End If
  Application.busy = 0
  
End
 


Es simple pero efectivo.
Para mejorarlo ( hacerlo más fácil de ampliar, y de rehusar ), habría que usar el patron Strategy para eleminar el Selec Case y el patrón Comand (para implementar las ordenes o comandos).

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Aplicación Con Interfaz Y Soporte De Scripts . Robot ? 
 
Veo que es distinto.

Con algo mas de tiempo pruebo x-bot y hoy en un momento de tranquilidad veo el vídeo.

En principio mi idea era que la aplicación hiciera algo con unos pasos grabados.
Para tutoriales no esta nada mal, sobre todo la comprobación de si los
pasos son los correctos.

El interprete es mas como tu dices.

Gracias.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Creacion De Scripts Interactivos Sin Super... estrella_de_galicia Shell Scripting 1 Jueves, 07 Enero 2010, 15:46 Ver último mensaje
Ender
No hay nuevos mensajes X-Bot Un Bot (Robot) Para Linux Que Automa... jodacame Aplicaciones/Fragmentos de Código 18 Lunes, 24 Marzo 2014, 00:02 Ver último mensaje
jousseph
No hay nuevos mensajes Aplicación Utilizando CGI Scripts fdittel General 1 Lunes, 14 Septiembre 2015, 00:15 Ver último mensaje
vuott
No hay nuevos mensajes Soporte De ExFat Shell Mundo Linux 1 Martes, 23 Enero 2018, 21:03 Ver último mensaje
jguardon
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron