Estoy haciendo una macro (no me atrevo a llamarla programa ya que mi nivel de programación es cercano al 0) y quisiera saber si es posible reutilizar parte del código como si fuera una función.
Ejemplo:
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <IE.au3>
WinSetState ( "pruebas.txt: Bloc de notas", "", @SW_MAXIMIZE ) ; SOLO PARA PRUEBAS EN CASA
WinActivate ( "pruebas.txt: Bloc de notas" ) ; SOLO PARA PRUEBAS EN CASA
Func copiocomparo() ; txtprueba
Send ("{ALT}+{e}")
;Sleep(10)
Send ("{t}")
;Sleep(10)
Send ("{ALT}+{e}")
;Sleep(10)
Send ("{ALT}+{o}")
;Sleep(10)
$comparativo = ClipGet()
EndFunc
Local $i = 0
Local $times = 0
Do
Call ("copiocomparo")
; Hemos copiado la pantalla y comparamos si existe Si es asi estamos en la pantalla correcta y seguimos enviando el dni
; Lo intentara 10 veces para ver si es la pantalla correcta pero tambien por si el sistema está muy lento
If StringRegExp($comparativo, "texto que debe existir para lanzar los comandos") Then
Send("{TAB}")
Send("{TAB}")
Send ( $lprevio )
Send ( $data1 )
Send("{TAB}")
Send ( $data11 )
Send ("{ENTER}")
; envio dni
$i = 1
Else
;MsgBox(0, "test", "No Coincide")
Sleep(100)
$times = $times + 1
EndIf
Until $i = 1 Or $times = 10; Increase the value of $i until it equals the value of 10.
If $times = 10 Then
MsgBox(0, "INFO", "No estás en la pantalla adecuada o el Sistema está muy lento")
Continueloop
EndIf
Es una macro que dependiendo de la pantalla dónde esté hará una cosa u otra. La única forma de saber dónde estoy es copiando la pantalla y comprobando si existe un determinado texto o no (por eso lo de la función). Por otro lado no puedo saber si la pantalla está cargada o no (por eso lo repito 10 veces el bucle).
En casa no lo puedo probar porque se trata de un programa muy antiguo de la red del trabajo (y no cambia, al menos a simple vista absolutamente nada). Y en el trabajo no puedo acceder al foro porque está capado.
En fin espero vuestra ayuda, y muchas gracias por adelantado