Per lavorare in autoit bisogna avere il compilatore. Potete scaricarlo dal sito ufficiale (
http://www.autoitscript.com/autoit3/ )
.:|Le basi|:.
Per concatenare due elementi (variabili, costanti, ecc) si usa:
&Esempio:
CODICE
MsgBox(0,'titolo','Primo pezzo '&'Secondo pezzo, concatenato con '&'il primo e il terzo pezzo')
Qualsiasi funzione si scrive così:
CODICE
Funzione (parametro1,parametro2,parametro3,ecc)
Esempio:
CODICE
MsgBox(0,'titolo','testo')
Per andare a capo si usa la
macro@CRLF o @CR
Includere le librerie è molto importante e x questo troviamo la funzione include.
Si usa così
CODICE
#include <nomelibreria.au3>
.:|I commenti|:.
I commenti come in qualsiasi altro linguaggio di programazzione il compilatore non li riconosce ma serve solo al programmatore. I commenti possono essere di 2 tipi:
1- ;questo è il commento di primo tipo
2- #cs
commento su riga 1
commento su riga 2
#ce
.:|Le variabili|:.
Le variabili si distinguono perchè sono prececedute da il simbolo: $ (del dollaro)
Esempio:
quali saranno le variabili in questo script? indovinatelo voi
Un'altro esempio (richiama la variabile):
CODICE
$titolo = 'Questo è il titolo'
$testo = 'Stai leggendo un testo'
MsgBox(0,$titolo,$testo)
Parlando delle variabili non possono mancare gli array. Gli array sono delle variabili contenti molti valori. Per dichiarare un array bisogna fare così:
CODICE
Dim $nomevariabile[valori] = [valore1,valore2,valore3,ecc]
Un array deve sempre essere preceduto da:
Dimoppure
Globaloppure
LocalDentro le prime parentesi quadre di questo esempio bisogna mettere il numero dei valori che contiene l'array. In quelle sucessive il valore1, due, ecc a seconda di quanti valori sono stati dichiarati prima.
Ora proviamo con un altro esempio (richiamiamo l'array):
CODICE
Dim $MioArray[5] = ['io ora','vado in','bagno','a','lavarmi']
For $i = 0 To 4
MsgBox(0,'Esempio',$i)
Next
.:|For, To, Next|:. semplificiamoci la vita!
Queste tre funzioni io le amo! Ti semplificano la vita! Quindi approfondiamole x bene. Iniziamo cn 1 esempio e poi spieghiamolo:
CODICE
For $i = 0 To 5
MsgBox(0,$i,'Il conto ora è: '&$i)
Next
For: Fisso, sempre all'inizio
$i = 0: La variabile $i indica il valore iniziale che poi aumentera progressivamente
To: Fisso, sempre dopo la variabile. Dopo il To c'è il valore a cui $i deve arrivare.
.:|Do, until|:.
Anche queste funzioni sono molto utili. Come al solito facciamo 1 esempio e poi spieghiamolo:
CODICE
$conto = 0
Do
MsgBox(0,'Esempio do until','Ora il conto è a: '&$conto&@CR&'Questo esempio finirà quando il conto sarà a 5')
$conto = $conto + 1
Until $conto = 6
Do: Do è fisso. Sta sempre all'inzio
Dopo do seguono tutte le altre istruzioniUntil: Le istruzioni continuano sempre finche non mettiamo la condizione dopo until.
Nell'esempio qui sopra, la serie di istruzioni finiscono quando il $conto arriva a 6
.:|While, Wend|:.
Questi 2 fattori sono utilissimi. Sono simili a Do e Until, ma servono principalmente nelle gui. (di queste parleremo dopo)
Esempio:
CODICE
While 1
MsgBox(0,'Esempio infinito','Questo esempio dura fino all'infinito')
Wend
.:|If, Else, ElseIf, EndIf, Then|:.
Questi fattori sono quasi indispensabili in un programma. Facciamo 1 esempio e spieghiamolo.
CODICE
$valore1 = InputBox('Numero','Inserisci un numero')
If $valore1 > 0 Then
MsgBox(0,'Positivo','Il numero inserito ('&$valore1&') è positivo')
ElseIf $valore1 < 0 Then
MsgBox(0,'Negativo','Il numero inserito ('&$valore1&') è negativo')
Else
MsgBox(0,'No','Non è stato inserito nessun numero')
EndIf
In questi casi è meglio tradurre nel linguaggio italiano per capire queste cose.
Se il valore immesso è maggiore di zero
..messaggio..
Invece, se il valore immesso è minore di zero
.. messaggio..
Invece (a tutte le condizioni)
non è stato inserito niente.
semplice no?
.:|GUI|:.
Cari i miei alunni, questa è la parte + importante di un programma decente.
Iniziamo con le sigle. Cosa vuol dire GUI?
G = Graphical
U = Human
I = Interface
In italiano l'interfaccia grafica.
La GUI si struttura così:
CODICE
#Include <GuiConstants.au3>
$gui = GuiCreate('Titolo',300,200); così creo la gui
GuiSetState ( ); così faccio vedere la gui
While 1
Switch GuiGetMsg() ;importantissimo! ci deve essere sempre!
Case $GUI_EVENT_CLOSE; se premiamo il tasto di chiusura
Exit;esce
EndSwicth;serve!
Wend;serve!
Questo codice fa creare una finestra che quando si preme il tasto x chiudere si chiude.
Per vedere tutti i contolli andate nel help di autoit e vi viene una gui con tutte le cose possibili.
Alla finestra si può far "cambiare" aspetto. Usiamo sempre il codice di prima e cambiamo la 2° riga.
CODICE
#Include <GuiConstants.au3>
$gui = GuiCreate('Titolo',300,200,BitOr($WS_POPUP,$WS_BORDER)); così creo la gui, senza pulsanti e con un bordo intorno
$b1 = GuiCtrlCreateButton('bottone',2,2,80,20); così creo un bottone
GuiSetState ( ); così faccio vedere la gui
While 1
Switch GuiGetMsg() ;importantissimo! ci deve essere sempre!
Case $b1; se si preme il bottone
MsgBox(0,'Clikkato','Hai premuto il bottone')
Case $GUI_EVENT_CLOSE; se premiamo il tasto di chiusura
Exit;esce
EndSwicth;serve!
Wend;serve!
Leggete i commenti x capire cosa fa.
Ora costruiamo insieme il primo semplicissimo programma. Si tratta di un login. E' completamente commentato.
CODICE
#include <GuiConstants.au3>;sono sempre da includere
Global $nomeGiusto = 'esempio', $pwGiusta = 'autoit 4 ever'
$gui = GUICreate('Login',100,120);creiamo la GUI
GUICtrlCreateLabel('Nome',2,2)
GUICtrlSetFont(-1,8,5000); cambiamo il font del testo
$nome = GUICtrlCreateInput('',2,25,90,20); creiamo una input
GUICtrlSetFont(-1,8,5000); cambiamo il font dell'input
GUICtrlCreateLabel('Password',2,50)
GUICtrlSetFont(-1,8,5000); cambiamo il font del testo
$pw = GUICtrlCreateInput('',2,65,90,20,$ES_PASSWORD);creiamo una input che sia adatta ad una password
GUICtrlSetFont(-1,8,5000); cambiamo il font dell'input
$prova = GUICtrlCreateButton('Login',2,90,80,20);creiamo un bottone per provare il login
GUICtrlSetFont(-1,8,5000); cambiamo il font dell'input
GUISetState ( );facciamo vedere la gui
While 1
Switch GUIGetMsg ()
Case $prova;se si preme il tasto login
If GUICtrlRead($nome) = $nomeGiusto And GUICtrlRead($pw) = $pwGiusta Then;se quello scritto nella input del nome e se quello scritto nella input della password è corretto
MsgBox(0,'Giusto','Giusto');messaggio
Else;se quello scritto nella input del nome e se quello scritto nella input della password è errato
MsgBox(0,'Errato','Errato');messaggio di errore
EndIf
Case $GUI_EVENT_CLOSE; se si preme il tasto per uscire si chiude
Exit
EndSwitch
WEnd
La lezione introduttiva è finita.. ci vediamo alla prossima lezione!