[GUIDA] autoit, by Fraev

« Older   Newer »
  Share  
MatteoJug
CAT_IMG Posted on 12/8/2009, 09:12     +1   -1




GUISetState(@SW_SHOW) serve per mostrare la finestra creata con GuiCreate();
Non si chiude perchè non c'è un controllo sulle azione sulla GUI, per farlo funzionare:
CODICE
#include <GUIConstants.au3>
GUICreate ("Programmino  AutoIT by Francoiky", 216, 132 )
GUICtrlCreateLabel ("Hello World!", 2, 2)
GUISetState(@SW_SHOW)
While GuiGetMsg()<>-3
WEnd


Per l'ultima cosa, stesso concetto di prima (GUiGetMsg())
PS: -3 sarebbe GUI_EVENTCLOSE
 
Top
Alutake
CAT_IMG Posted on 12/8/2009, 21:52     +1   -1




Un'altra "cosuccia" (lo so: sono un rompi-c******i :P )...
sto cercando di creare una sorta di hack per Metin2 (penso lo conosciate), però non sto avendo molta fortuna, poichè molte cose non funzionano: vi posto il codice (e sottolieo le cose che non funzionano).
SPOILER (click to view)
; ----- PARTE PREPARATIVA -----

; Implementazioni necessarie:
#include <guiconstants.au3>
#include <guiconstantsex.au3>
; Variabile "Ingranaggio on/off"
$i = 0
; Funzione "Accendi" => $i incrementa di uno:
Func Accendi()
$i = $i + 1
EndFunc

; Funzione "Spegni" => $i decrementa di uno:
Func Spegni()
$i = $i - 1
EndFunc

; Funzionalità che mantiene $i < 2:
While $i > 1
$i = $i - 1
WEnd
; Funzionalità che mantiene $i > -1:
While $i < 0
$i = $i + 1
WEnd

; ----- PARTE PRATICA -----

; Crea finestra:
GUICreate ("Terza Mano Libera by Francoiky", 300, 132 )
; Inserisce testo 1 nella suddetta finestra:
GUICtrlCreateLabel ("Per avviare l'Auto-Raccolta premi [F11]", 2, 2)
; Inserisce testo 2 nella suddetta finestra:
GUICtrlCreateLabel ("Per stoppare l'Auto-Raccolta premi [F12]", 2, 16)
; Crea bottone per lanciare Metin:
$BottoneL = GUICtrlCreateButton ("Avvia Metin2", 10, 72, 135, 33)
; Crea bottone per focus su Metin:
$BottoneF = GUICtrlCreateButton ("Focus su Metin2", 145, 72, 135, 33)
; Stampa a schermo (mostra) finestra creata:
GUISetState(@SW_SHOW)
; Attivazione puslsanti:
While 1
$Msg = GUIGetMsg ()
Switch $msg
Case $BottoneL
Run ( "Metin2.exe", "C:/Programmi/Metin2")

Case $BottoneF
WinActivate ("METIN2")
EndSwitch
Wend
; Imposta [F11] come HotKey per "Accendi":
HotKeySet ("{F11}", "Accendi")
; Imposta [F12] come HotKey per "Spegni":
HotKeySet ("{F12}", "Spegni")
; Crea e attiva ciclo "Preme [Z]" quando $i è =1:
While $i = 1
Send ("Z")
WEnd

; ----- PARTE CONCLUSIVA -----

; Attiva funzionalità pulsante [X]:
While GuiGetMsg()<>-3
WEnd


Qualcuno mi puo' dare una mano a trovare gli errori? Io mi sto rintriciullendo... :wacko:

P.S.: quello di prima ho risolto... non ce l'ho messo per niente :D

Edited by Alutake - 13/8/2009, 00:46
 
Top
MatteoJug
CAT_IMG Posted on 12/8/2009, 23:02     +1   -1




non ho capito...
 
Top
Alutake
CAT_IMG Posted on 23/8/2009, 18:11     +1   -1




Nessuno mi puo' dare una mano??? Pls... :(
 
Top
MatteoJug
CAT_IMG Posted on 23/8/2009, 21:30     +1   -1




CODICE
#include <guiconstants.au3>
#include <guiconstantsex.au3>
Global $i;sennò i cambiamenti nelle funzioni sono effettuati su una variabile $i a scope Local
$i = False;Visto che i possibili stati sono 2 (Acceso, Spento), è meglio usare una variabile Bool
Func Accendi()
       $i = True
EndFunc
Func Spegni()
       $i = False
EndFunc
;Queste non hanno senso, tanto vengono eseguite solo all'inizio
;~ While $i > 1
;~ $i = $i - 1
;~ WEnd
;~ While $i < 0
;~ $i = $i + 1
;~ WEnd
GUICreate ("Terza Mano Libera by Francoiky", 300, 132 )
GUICtrlCreateLabel ("Per avviare l'Auto-Raccolta premi [F11]", 2, 2)
GUICtrlCreateLabel ("Per stoppare l'Auto-Raccolta premi [F12]", 2, 16)
$BottoneL = GUICtrlCreateButton ("Avvia Metin2", 10, 72, 135, 33)
$BottoneF = GUICtrlCreateButton ("Focus su Metin2", 145, 72, 135, 33)
GUISetState(@SW_SHOW)
;Se queste le metti dopo il ciclo, non le esegue
HotKeySet ("{F11}", "Accendi")
HotKeySet ("{F12}", "Spegni")
While 1
       $Msg = GUIGetMsg ()
       Switch $msg
               Case $BottoneL
                       Run ( "C:/Programmi/Metin2/Metin2.exe")
               Case $BottoneF
                       WinActivate ("METIN2")
               Case -3;Se viene premuta la "X"
                       Exit
       EndSwitch
       if $i = True Then Send("Z") ;Occhio che Z non è uguale a z, ma a Shift+Z
Wend

Commentato...
Comunque hai fatto copia incolla di diverse parti, ti conviene studiarti un pò cicli e lifetime delle variabili...
 
Top
Alutake
CAT_IMG Posted on 26/8/2009, 16:56     +1   -1




CITAZIONE (MatteoJug @ 23/8/2009, 22:30)
Commentato...

Grazie... ^^

CITAZIONE (MatteoJug @ 23/8/2009, 22:30)
Comunque hai fatto copia incolla di diverse parti, ti conviene studiarti un pò cicli e lifetime delle variabili...

In effetti non ho mai lavorato con AutoIT: ho provato a creare qualcosa prendedo sputo dall'Help e dalla guida sul forum :P

P.S.: se ne avessi avuto veramente bisogno, per far funzionare queste:
CODICE
While $i > 1
$i = $i - 1
WEnd
While $i < 0
$i = $i + 1
WEnd

avrei dovuto metterle così?
CODICE
While 1
 While $i > 1
   $i = $i - 1
 WEnd
 While $i < 0
   $i = $i + 1
 WEnd
WEnd</b>
 
Top
MatteoJug
CAT_IMG Posted on 26/8/2009, 21:23     +1   -1




No, sarebbe rimasto perennemente nel ciclo xD
Avresti dovuto mettere quei due cicli all'interno di entrambe le funzioni...
 
Top
bub
CAT_IMG Posted on 12/9/2009, 04:19     +1   -1




a me da smpre errore
anke cn
CODICE
#include <GUIConstants>

eccetto x gli msgbox
sembra che il mio autoit nn riconosca qualche comando

ce un modo x aggiornarlo? lo ho scaricato piu di 100000 volte O.o
e nn mi capisce alcuni comadi
 
Top
krestyyy
CAT_IMG Posted on 20/9/2009, 09:56     +1   -1




scusa mi puoi spiegare xke se cambio i numeri al case mi cambia la risposta???

$BabboNataleExists = FALSE
Do
Switch Msgbox (32+3, "Domanda: ", "Babbo Natale esiste?", 10) ; potevo anche scrivere Msgbox (35, ...)
Case 2
Msgbox (0, "Mah", "Ah, non sai rispondere, eh?")
Case 6
Msgbox (0, "Mhm", "Teoria interessante...")
$BabboNataleExists = TRUE
Case 7
Msgbox (0, "-_-", "Ok, pensala come vuoi")
$BabboNataleExists = FALSE ; riga inutile (dopo c'è un exit) ma era tanto per ricordare che Babbo Natale non esiste ;D
Exit
Case Else
Msgbox (0, "-_____-", "MUOVITI!!!", 30)
EndSwitch
Until $BabboNataleExists = TRUE
 
Top
MatteoJug
CAT_IMG Posted on 20/9/2009, 13:44     +1   -1




Per bub: la libreria è GuiConstants.au3

Per krestyyy: i case sono le istruzioni da eseguire se l'argomento dell switch (MsgBox()) equivale a quello di un case, quindi se dalla funzione MsgBox() ritorna 1, esegue le istruzioni del case 1, ok?
 
Top
krestyyy
CAT_IMG Posted on 21/9/2009, 16:04     +1   -1




come faccio a mettere il bottone nella finestra???nn me lo mette :angry: :angry: :angry: :angry:
CODICE
$button = GUICtrlCreateButton("Io penso di essere un bottone", 16, 72, 185, 33)
While 1
 $Msg = GUIGetMsg ()
 Switch $msg
    Case $button
       Msgbox ($button, "Ehi!", "Vacci piano con quel mouse!" & @CRLF & "Noi poveri controlli ci pungiamo sempre!!!")  
    Case $GUI_EVENT_CLOSE
       Exit
 EndSwitch
Wend
 
Top
MatteoJug
CAT_IMG Posted on 21/9/2009, 16:45     +1   -1




Devi prima creare la finestra (GuiCreate())
 
Top
krestyyy
CAT_IMG Posted on 21/9/2009, 19:14     +1   -1




neanke così.... :angry: :angry: :angry: :angry: :angry:
CODICE
$Form = GUICreate("GUI", 216, 132)
$button = GUICtrlCreateButton("Io penso di essere un bottone", 16, 72, 185, 33)
While 1
$Msg = GUIGetMsg ()
Switch $msg
   Case $button
      Msgbox ($button, "Ehi!", "Vacci piano con quel mouse!" & @CRLF & "Noi poveri controlli ci pungiamo sempre!!!")  
      Exit
EndSwitch
Wend
 
Top
MatteoJug
CAT_IMG Posted on 21/9/2009, 19:43     +1   -1




Non per essere cattivo, però lo stesso problema già era stato posto (e risolto) su questa stessa discussione: #entry212771176
Perchè non leggete un attimo la discussione o cercate sul forum prima di postare?
 
Top
CAT_IMG Posted on 10/10/2009, 18:06     +1   -1

Gothic Modder

Group:
Member
Posts:
1,391
Reputazione:
0
Location:
L'Urbe!

Status:


ragazzi scusate volevo chiedervi una cosa.. avete presente quei pulsanti che is trovano sempre sopra ogni pagina (we, di un aplpizaione.. di qualsiasi cosa) intendo quelli con scritto file, modifica,visualizza.. mi chiedevo come posso crearli in autoit.. GUICtrlCreate e poi??

ah ok risolto con ctrlcreate menu.. io ho creato una cosa semplice tipo questa

CODICE
#include <GUIConstants.au3>

$form = GUICreate ("Prima GUI", 330, 300)
$menu = GUICtrlCreateMenu ("File")
$tasto1 = GUICtrlCreateMenuItem ("Apri", $menu)

GUISetState(@SW_SHOW)

While 1
 $Msg = GUIGetMsg()
 Switch $Msg
       Case $GUI_EVENT_CLOSE
               Exit
       Case $tasto1
               $testo = GUICtrlCreateEdit ("", 10, 35, 310, 150)
               $inserisci = GUICtrlCreateButton ("Inserisci", 140, 210)
       EndSwitch
WEnd


giusto per vedere se funziona ora vorrei far in modo ke cliccando sul bottone mi comparisse un msg box col valore del testo.. io volevo fare così:

CODICE
...

case $inserisci
       msgbox (0, " ", $inserisci

...


non so se la sintassi dopo il case è sbagliata però mi dice: error $inserisci^... io penso che mi dice così perchè ho messo il nome di un bottone creato con lo switch (non so se sia questo il motivo) e comuqnue anche si poteva fare era sbagliata la sintassi nel msgbox perchè se fosse stato javascript si avrebbe dovuto dare un nome al valore del testo come penso anche qui sifarà così ma io non so come si fa.. XD

grazie

Edited by Frank-95 - 10/10/2009, 19:33
 
Top
94 replies since 24/2/2008, 11:09   44837 views
  Share