Salve ospite, se leggi questo messaggio vuol dire che non sei registrato, cosa aspetti ? Premi qui per registrarti La registrazione è completamente gratuita e ti permetterà di usufruire di tutte le funzionalità del nostro forum. Buona navigazione.
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 = 6 ;si ; Funzione relativa alla pressione di si Case $iMsgBoxAnswer = 7 ;No ; Funzione relativa alla pressione di no Case $iMsgBoxAnswer = 2 ;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 = 6 ;si
Case $iMsgBoxAnswer = 7 ;No
Case $iMsgBoxAnswer = 2 ;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
Vorrei proporre un alternativa, secondo me più corretta di quella proposta precedentemente.
Codice PHP:
Dim $iMsgBoxAnswer $iMsgBoxAnswer = MsgBox(3,"titolo","messaggio") Switch $iMsgBoxAnswer Case 6 ;si ; Funzione relativa alla pressione di si Case 7 ;No ; Funzione relativa alla pressione di no Case 2 ;Cancel ; Funzione relativa alla pressione di cancel EndSwitch
Citazione:Potete (dovreste) leggere i Regolamenti di questa community.
Problemi? Inviami una Mail così possiamo parlare meglio.
Problemi qui sul Forum? Inviami un PM (Messaggio Privato) cosi possiamo discutere direttamente qui, sulla board.
Il mio Profilo sulla community di BorderGame.
Tutti i miei Thread (e le mie risposte) su BorderGame.
Il nostro Staff.
Ti sono stato d'aiuto? Reputami come meglio credi.
(Questo messaggio è stato modificato l'ultima volta il: 29-11-2011 12:12 AM da Utente.)