Percorso: ilMac.net > Scuola di Mac > Corsi > Guida a AppleScript


Guida a AppleScript

Istruzioni di ramificazione if-else

Ogni programma, in base alla scelta che facciamo esegue un’operazione prestabilita dal programmatore. Portiamo un esempio piu’ concreto: nel Finder avete un file nel Cestino e per cancellarlo scegliete il comando “Vuota il Cestino...”. A questo punto il Mac vi chiedera’ se siete sicuri di volerlo cancellare. Se darete l’OK lo cancellera’, se annullerete il file rimarra’ nel Cestino e continuerete a lavorare. In questa semplice operazione il Mac al suo interno ha ragionato in questo modo:

se il pulsante della finestra premuto = “OK” allora
cancella il file nel cestino
altrimenti
fai sparire la finestra

Questa sintassi da me inventata è simile a quella di Apple Script (ovviamente il Mac lavora con sintassi molto piu’ a basso livello) e rende bene l’idea del concetto di quelle che in gergo tecnico si chiamano Strutture di controllo decisionali.
Ed ecco un programmino scritto ad hoc per l’apprendimento del concetto.

display dialog "Ciao, come stai?" buttons {"bene", "male"} default button 1

if button returned of result = "bene" then
display dialog "OK!"
else
display dialog "mi dispiace"
end if

Scrivetelo ed eseguitelo. Vi verrà visualizzata una finestra di dialogo con la domanda “Come stai?” e due pulsanti con le risposte possibile. In base al tasto premuto il Mac ribatterà qualcosa di adeguato.
Oltre ai comandi gia’ analizzati troviamo:
if cioè “se”. La sintassi risulta essere abbastanza comprensibile. In normale sintassi italiano equivale a:

se il pulsante premuto è “bene” allora
mostra una finestra col testo “OK!”.
altrimenti
mostra una finestra col testo “mi dispiace”.

Ogni volta che “apriamo” una condizione (if) e scriviamo il blocco di istruzioni da eseguirsi al verificarsi della condizione, alla fine del blocco dobbiamo concludere con end if cioe’ fine se.
Semplice, no?
Ovviamente si possono gestire anche tre o piu’ condizioni utilizzando l’ else if (altrimenti se) come esplicato nel seguente listato:

display dialog "Ciao, come stai?" buttons {"bene", "male", "cosi’ cosi’"} default button 1

if button returned of result = "bene" then
display dialog "sono contento!"

else if button returned of result = "male" then
display dialog "mi dispiace"


else if button returned of result = "cosi’ cosi’" then
display dialog "cosa non va?"

end if



Data di pubblicazione: 16-02-2000
L'intero contenuto di questo sito dal 1998 del Team di ilMac.net, vietata ogni riproduzione senza il consenso scritto da parte degli autori.