Aggungere nuovo linguaggio, AutoIt

« Older   Newer »
  Share  
harry dinner2
view post Posted on 8/5/2009, 22:23




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
CODICE
MsgBox(0,'titolo','Primo pezzo '&'Secondo pezzo, concatenato con '&'il primo e il terzo pezzo')



Qualsiasi funzione si scrive così:

CODICE
CODICE
Funzione (parametro1,parametro2,parametro3,ecc)



Esempio:

CODICE
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
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:

CODICE
CODICE
$var1
$var2
;no var



quali saranno le variabili in questo script? indovinatelo voi ;)

Un'altro esempio (richiama la variabile):

CODICE
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
CODICE
Dim $nomevariabile[valori] = [valore1,valore2,valore3,ecc]


Un array deve sempre essere preceduto da:

Dim
oppure
Global
oppure
Local

Dentro 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
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
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
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 istruzioni
Until: 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
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
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
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
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
CODICE
[CODE]#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
[/CODE]


Mi sono permesso di fare CODICE
CODICE
XXX


XD :lucarelli.gif:
 
Top
Anthony
view post Posted on 27/5/2009, 21:58




Post in elaborazione....
 
Top
1 replies since 8/5/2009, 22:23   309 views
  Share