Ciao, eccoci qua, questo mese vi spiegherò alcune cose fondamentali riguardo autoit, un linguaggio di
programmazione downloadabile qui.
Analizziamo alcune funzioni fondamentali:
Ciclo While:
se in un programma dovete eseguire una o più azioni per un ciclo infinito o molto lungo quello che vi serve è il
while:
- Codice:
-
while 1 = 1
msgbox(4096, "titolo", "testo")
wend
analizziamo questo semplice script:
while 1 = 1: possiamo tradurlo in "finchè", quindi:
- Codice:
-
finchè 1 = 1 (sempre)
msgbox(4096, "titolo", "testo")
wend
msgbox(4096, "titolo", "testo"): questa è una finestra che mostra un messaggio, 4096 è il tipo di finestra che
comparirà, digitate msgbox nel file help di autoit e troverete tutte le possibili messagebox.
- Codice:
-
finchè 1 = 1 (sempre)
esegui una finestra con un messaggio
wend
wend è soltanto la fine del ciclo (loop) while e dice che tutto quello che troverete dopo wend non sarà legato da
questo ciclo while. Quindi il programma tradotto sarebbe questo:
finchè uno è uguale a uno esegui una messagebox fino a quando uno diventerà diverso da uno (mai) (lo so, sembra stupido da dire
)
che ulteriormente semplificato sarebbe:
esegui una messagebox all'infinito.
Tutto chiaro?
Le variabili.
Questo breve capitolo vi spiegherà come dichiarare una variabile, ovvero un numero a una o più parole che
potranno cambiare in seguito a diverse condizioni...
per dichiarare una variabile dobbiamo semplicemente scrivere il simbolo del dollaro ($) seguito dal nome della
variabile e poi assegnarle un valore:
- Codice:
-
$nome_a_caso = 142
$un_altro_nome_a_caso = "questo è il valore di una variabile"
msgbox(4096, $nome_a_caso, $un_altro_nome_a_caso)
Questo script creerà una messagebox che avrà come titolo 142 e come testo "questo è il valore di una variabile".
Notate che in autoit quando si scrivono numeri o variabili essi non sono mai compersi tra le "" mentre le parole sì.
Se dovete scrivere numeri o parole vi conviene comprendere tutto tra le virgolette oppure usare un
concatenamento, ma questo ve lo spiegherò in un altro articolo.
Naturalmente, come avrete capito dal nome, le variabili possono cambiare, per esempio:
[code]
$var = 1
$var = $var + 1
[/code ]
Notiamo subito che viene dichiarata la variabile $var e che ha come valore 1, in seguito viene aggiunto 1 al valore
della variabile, quindi essa cambia.
Grazie alle variabili possiamo limitare il ciclo while per un numero limitato di volte, così:
[code]
$var = 0
while $var <= 50
msgbox (4096, "titolo", "testo")
$var = $var + 1
wend
[/code]
analizziamo: Viene dichiarata la variabile $var che ha come valore 0, dopodichè inizia un ciclo while che ripeterà
una messagebox per 50 volte visto che dopo ogni messagebox viene aggiunto uno al valore di $var quindi:
finchè $var è minore o uguale a 50
crea una messagebox
e aggiungi 1 al valore di $var
finchè uno sarà diverso da uno
Capito tutto?
Spero di sì, ora se non siete troppo stufi vi spiego solo un'ultima cosa molto importante.
Le condizioni
Una condizione è una cosa che si deve verificare per far avvenire altre cose:
[code]
if processexist ("notepad.exe") then
msgbox(4096, "titolo", "Notepad è aperto")
else
msgbox(4096, "titolo", "Notepad è chiuso")
endif
[/code]
analizziamo:
if processexist ("notepad.exe") then: if può essere spstituito con se, processexist è una funzione che permette di
controllare se un determinato processo esiste (in questo caso quello di notepad), then invece si può scambiare
con allora, la seconda riga esegue una messagebox se notepad è aperto, else significa altrimenti, endif è un po'
come wend e significa che tutto quello che c'è dopo endif non è più condizionato dall'esistenza del processo di
notepad. Lo script tradotto potrebbe essere:
[code]
se il processo di notepad esiste, allora
crea una messagebox positiva
altrimenti
crea una messagebox negativa
fine della condizione.
[/code]
Spero di essere stato chiaro.
Ultimissimo comando: ExitLoop: permette di uscire da un loop (ciclo)
Ora, chi è capace di scrivere un programmino che controlli se il processo della calcolatrice di Windows esiste e
che se esiste crea una messagebox positiva e altrimenti ne crea una negativa che si ripete per 35 volte prima di
chiudersi (usando il while)?
Spediteci i vostri script a
xhacking@yahoo.it. Diteci se questo articolo vi è piaciuto e se ne volete altri di questo
genere.
Ciao e... alla prossima!
darkjoker