BorderGame
[Guida Autoit] MsgBox - Versione stampabile

+- BorderGame (https://www.bordergame.it)
+-- Forum: Programmazione (/Forum-Programmazione--158)
+--- Forum: Programmazione (/Forum-Programmazione)
+---- Forum: Autoit (/Forum-Autoit)
+----- Forum: Guide autoit (/Forum-Guide-autoit)
+----- Discussione: [Guida Autoit] MsgBox (/Thread-Guida-Autoit-MsgBox)



[Guida Autoit] MsgBox - Zarta - 29-11-2011 12:01 AM

Benvenuti alla prima guida della serie, oggi parleremo delle msgbox di autoit.

Difficoltà : 1

Descrizione : Le msgbox permetto di stampare un messaggio sullo schermo. Nel messaggio vi potranno essere variabili, lettere, numeri o qualsivoglia dato. Ci sono diversi tipi di msgbox, e oggi le analizzeremo.

Spiegazione :
Il codice per creare un msgbox è molto facile :
Codice PHP:
MsgBox 0"Titolo""Messaggio" 
Da questo codice base prenderemo spunto per effettuare alcune variazioni.
Per prima cosa analizziamo il codice :

MsgBox = è semplicemente il richiamo del comando
0 = è il tipo di messaggio da stampare sullo schermo. lo spiegherò meglio dopo.
"Titolo", "Messaggio" = stanno ad indicare il titolo e il messaggio della casella di dialogo.

Codice avanzato :
Spoiler:
MsgBox ( 0, "titolo", "messaggio" , timeout , hwnd )
timeout = Tempo in secondi da aspettare prima che il messaggio si chiuda da solo ( se il campo non è presente il messaggio resterà sullo schermo fino a quando non lo chiuderà l'utente )
hwnd = L'handle della finestra da utilizzare come il genitore di questa finestra di dialogo.

Il tipo di msgbox come abbiamo visto dipende dal quel numero messo subito dopo la parentesi, di base viene utilizzato 0 per creare un msgbox contenente solamente il tasto Ok, ma, modificando quel numero è possibile creare altri tipi di msgbox :

0 = Ok
1 = Ok e Cancel
2 = Abort, Retry, e Ignore
3 = si, No, e Cancel
4 = si o no
5 = Retry and Cancel
6 = Cancel, Try Again, Continue
16 = Icona e suono di messaggio critico
32 = Icona domanda
48 = Icona e suono warning
64 = Icona e suono informazione

Ed ecco i codici da utilizzare nei case delle risposte :
OK 1
CANCEL 2
ABORT 3
RETRY 4
IGNORE 5
YES 6
NO 7
TRY AGAIN 10
CONTINUE 11

Adesso vediamo come lavorare con msgbox con, per esempio i tasti "si, no e cancel"

Codice PHP:
Dim $iMsgBoxAnswer
$iMsgBoxAnswer 
MsgBox(3,"titolo","messaggio")
Select
   
Case $iMsgBoxAnswer ;si
                                    
Funzione relativa alla pressione di si
   
Case $iMsgBoxAnswer ;No
                                    
Funzione relativa alla pressione di no
   
Case $iMsgBoxAnswer ;Cancel
                                    
Funzione relativa alla pressione di cancel
EndSelect 

Come avrete notato subito dopo la parentesi di MsgBox è presente un 3, che sta ad indicare si, no e cancel. Potete anche vedere il "Case $iMsgBoxAnswer = 6 ;si", se guardate nella tabella sopra a si corrisponde il 6.

Adesso vi starete chiedendo, se io volessi avere una finestra di warning e anche i tasti si, no e cancel, cosa devo fare ? Semplice, basta sommare il valore dei codici, Es :
3 = si, No, e Cancel
48 = Icona e suono warning
Quindi voi dovrete utilizzare il codice 48+3 = 51
Codice PHP:
Dim $iMsgBoxAnswer
$iMsgBoxAnswer 
MsgBox(51,"titolo","messaggio")
Select
   
Case $iMsgBoxAnswer ;si

   
Case $iMsgBoxAnswer ;No

   
Case $iMsgBoxAnswer ;Cancel

EndSelect 

Esercizi :

Se volete allenarvi potete provare a svolgere questi semplici esercizi. La soluzione la trovate sotto spoiler :

-Creare un msgbox che contenga :
Messaggio : Ciao, sto creando un msgbox
Titolo : Messaggio di testo
Tipologia : si o no
Altro : Quando viene premuto il tasto si deve venire fuori un msgbox ( normale, solo tasto ok ) che dice "hai premuto il tasto si", mentre quando premi no deve uscire "hai premuto il tasto no"


Soluzione :
Spoiler:
Codice PHP:
Dim $iMsgBoxAnswer
$iMsgBoxAnswer 
MsgBox(4,"Messaggio di testo","Ciao, sto creando un msgbox")
Select
   
Case $iMsgBoxAnswer 6
MsgBox 
0"Si""Hai premuto il tasto si")
   Case 
$iMsgBoxAnswer 7
MsgBox 
0"No""Hai premuto il tasto no")
EndSelect 


-Creare un msgbox che contenga :
Messaggio : Ciao, sto creando un msgbox
Titolo : Messaggio di testo
Tipologia : Retry and Cancel, Icona e suono warning
Altro : Quando viene premuto il tasto retry si dovrà aprire un msgbox con Ok e Cancel


Soluzione :
Spoiler:
Codice PHP:
Dim $iMsgBoxAnswer
$iMsgBoxAnswer 
MsgBox(53,"Messaggio di testo","Ciao, sto creando un msgbox")
Select
   
Case $iMsgBoxAnswer 4
$iMsgBoxAnswer 
MsgBox(1,"","")
Select
   
Case $iMsgBoxAnswer 1

   
Case $iMsgBoxAnswer 2

EndSelect
   
Case $iMsgBoxAnswer 2

EndSelect 





RE: [Guida Autoit] MsgBox - Utente - 29-11-2011 12:11 AM

Vorrei proporre un alternativa, secondo me più corretta di quella proposta precedentemente.
Codice PHP:
Dim $iMsgBoxAnswer
$iMsgBoxAnswer 
MsgBox(3,"titolo","messaggio")
Switch 
$iMsgBoxAnswer
   
Case ;si
                
Funzione relativa alla pressione di si
   
Case ;No
                
Funzione relativa alla pressione di no
   
Case ;Cancel
                
Funzione relativa alla pressione di cancel
EndSwitch 



RE: [Guida Autoit] MsgBox - kingrap - 29-11-2011 12:15 AM

Bravo maestro Zartese! ^^ xD


RE: [Guida Autoit] MsgBox - fiketto - 10-12-2011 02:55 PM

bravo anche se le cose scritte nella tua guida gia le conoscevo sei stato ugualmente bravo,per gli inesperti può essere molto utile Big Grin Tongueiù: uno


RE: [Guida Autoit] MsgBox - Gafra96 - 15-12-2011 11:38 PM

Ottima guida mi è servita!