Archivio

Archivio per la categoria ‘AppleScript’

TuttoMela AS/AS S Develop Program – Tutorial 4

27 febbraio, 2009

Tutorial 4 – Far eseguire comandi al Terminale

Obbiettivi:

- Facilitare l’utilizzo di comandi da Terminale attraverso AppleScript
- Imparare a far eseguire comandi al Terminale da script

Eseguire comandi da Terminale può risultare noioso e scomodo se c’è bisogno di farlo su molteplici files. Per rendere il tutto più comodo ci viene incontro AppleScript.

Far eseguire un comando al Terminale da AS è facile: do shell script “echo prova”. Tutto qua. Ora vediamo come possiamo elaborare questo comando in modo da renderlo più facile da usare.

Per prima cosa dobbiamo fare in modo che lo script elabori i file spostati su esso. Per far questo dobbiamo inserire questo codice:

on open elementiDaElaborare
-- eseguo del codice
end open

elementiDaElaborare sono tutti i files spostati sullo script, ora dobbiamo ripetere un processo su ognuno di essi:

repeat with ogniElemento in elementiDaElaborare
-- eseguo qualcosa
end repeat

Abbiamo detto che dobbiamo ridimensionare l’immagine, quindi possiamo inserire nel ciclo repeat il codice che modifica essa:

set ogniElemento to posix path of ogniElemento
do shell script {"sips -z 480 320 " & ogniElemento}

Salviamo il tutto e proviamo a spostare qualche immagine sulla nostra applicazione. Tutte verranno ridimensionate in 320×480 in poco tempo.

Se ora volessimo invece decidere la dimensione finale degli elementi abbiamo bisogno di impostarla, il tutto tramite una semplice finestra di dialogo da inserire prima del ciclo repeat:

display dialog "Larghezza finale:" default answer "" buttons "Avanti" default button 1
set larghezza to text returned of result
set larghezza to larghezza as number
display dialog "Altezza finale:" default answer "" buttons "Avanti" default button 1
set altezza to text returned of result
set altezza to altezza as number

In queste poche righe abbiamo ottenuto altezza e larghezza finale, adesso le riutilizziamo nel comando da Terminale nel ciclo repeat:

do shell script {"sips -z " & altezza & space & larghezza & space & ogniElemento}

Dovremmo ottenere così uno script utile, leggero e completo. Ecco qua il codice per esteso:

on open elementiDaElaborare
display dialog "Larghezza finale:" default answer "" buttons "Avanti" default button 1
set larghezza to text returned of result
set larghezza to larghezza as number
display dialog "Altezza finale:" default answer "" buttons "Avanti" default button 1
set altezza to text returned of result
set altezza to altezza as number
repeat with ogniElemento in elementiDaElaborare
-- Ottengo il percorso del file
set ogniElemento to POSIX path of ogniElemento
set ogniElemento to quoted form of ogniElemento
do shell script {"sips -z " & altezza & space & larghezza & space & ogniElemento}
end repeat
end open

AppleScript, Guide

TuttoMela AS/AS S Develop Program – Tutorial 3

30 dicembre, 2008

Tutorial 3 – Utilizzare i dizionari

Obbiettivi:

- Imparare ad utilizzare i dizionari

Utilizzare i dizionari in AppleScript è fondamentale, poichè attraverso essi possiamo trovare i comandi che faremo svolgere alle applicazioni.

Innanzitutto apriamo Script Editor e andiamo sotto Archivio/Apri Dizionario, o più comodamente cmd+o.

applescript-tutorial3

Per prima cosa ci spunta una finestra che ci farà scegliere il dizionario da aprire. Per iniziare scegliamo “iTunes”.

Ci troveremo in una finestra simile a questa:

applescript2-tutorial3Distinguiamo tre sezioni principali: Standard Suite, che è presente in ogni programma; iTunes Suite, che è il dizionario del programma iTunes ed Internet Suite, che fa sempre parte di iTunes.

Mi soffermerò principalmente sulle prime due. Nella standard Suite possiamo distinguere i comandi più comuni, nonché quelli che funzionano in ogni programma.

Esempio – Tell application “iTunes” to quit – funziona anche in Mail – Tell application “Mail” to quit.

Nella iTunes Suite visualizziamo tutti i comandi che possiamo far svolgere ad iTunes, come il comando “play” che fa partire la musica, ed il comando “pause” che la ferma.

Creeremo ora uno script che fa partire o stoppare la musica a seconda della condizione del player, e visualizza il nome della traccia in riproduzione.

tell application “iTunes”
 playpause
 set stato to player state
  if stato is playing then
   set nome to name of current track
   set artista to artist of current track
   display dialog {nome & ” – ” & artista}
  end if
end tell

 

Analizziamo insieme lo script:

Playpause, come scritto nel dizionario, aziona o ferma la riproduzione musicale a seconda della condizione.

Set stato to player state ritorna con “playing” o “paused” la condizione della riproduzione musicale.

set nome/artista to name of current track assegna il nome/artista della canzone in riproduzione a una variabile.

AppleScript ,

TuttoMela AS/AS S Develop Program – Tutorial 2

5 novembre, 2008

Tutorial 2 – La nostra prima applicazione

Obiettivi:
• Imparare ad utilizzare i simboli “+ – * :”
• Compilare la prima applicazione

Siamo giunti al nostro secondo tutorial. In questa guida impareremo a creare una applicazione, più precisamente una calcolatrice.

Apriamo Script Editor e scriviamo questo codice:

set domandaUno to display dialog "Primo valore:" default answer "valore1" buttons {"-", "x", ":"}
-- Chiedo il primo valore e l'operazione da eseguire
set numeroUno to text returned of domandaUno
-- Imposto una variabile al risultato della domanda
if numeroUno is not "" then
-- Se il risultato non è vuoto continuo
if button returned of domandaUno is "-" then
-- Se il bottone schiacciato è meno...
set domandaDue to display dialog "Secondo valore:" default answer "valore2" buttons {"Annulla", "="} default button 2
set numeroDue to text returned of domandaDue
set risultato to numeroUno - numeroDue
display dialog risultato buttons {"Ok"}
end if
if button returned of domandaUno is "x" then
-- Se il bottone schiacciato è x...
set domandaDue to display dialog "Secondo valore:" default answer "valore2" buttons {"Annulla", "="} default button 2
set numeroDue to text returned of domandaDue
set risultato to numeroUno * numeroDue
display dialog risultato buttons {"Ok"}
end if
if button returned of domandaUno is ":" then
-- Se il bottone schiacciato è :...
set domandaDue to display dialog "Secondo valore:" default answer "valore2" buttons {"Annulla", "="} default button 2
set numeroDue to text returned of domandaDue
set risultato to numeroUno / numeroDue
display dialog risultato buttons {"Ok"} default button 1
end if
end if

 

Apparentemente qua può sembrare una cosa complessissima da capire, ma è solo un problema di spazio.

Una volta scritto premiamo il tasto “compila”. Il codice ora ci sembrerà più chiaro.

Possiamo distinguere cinque colori principali:

- L’azzurro, usato per tutti i comandi (esempio display dialog);
- Il blu, usato per le varie particelle (esempio if, end if, set);
- Il verde, usato per le variabili;
- Il grigio, usato per i commenti.

 

Premiamo “esegui” e la nostra calcolatrice sarà funzionante. Ma ora esaminiamo il codice:

set domandaUno to display dialog "Primo valore:" default answer "valore1" buttons {"-", "x", ":"}
Display dialog è un comando per far apparire un messaggio stampato sullo schermo.
Default answer viene usato per chiedere una risposta testuale. E’ facoltativo, ma è necessario specificare una risposta di default (lasciare vuoto “” per non averla).
Buttons {”-”, “x”, “:”} rende cliccabili quei tre bottoni (il limite massimo è appunto tre).
Set domandaUno to imposta una variabile al codice sopra scritto. Le variabili vanno impostate senza le virgolette.

set numeroUno to text returned of domandaUno
Text returned of domandaUno è la risposta alla domanda (default answer “”) del messaggio precedente.
Set numeroUno assegna una variabile a quel risultato.

if numeroUno is not "" then
Questo è molto facile, basta tradurlo. Se numeroUno (ovvero la risposta) non è “” (quindi niente) prosegue.

if button returned of domandaUno is "-" then
Se il bottone premuto nella schermata di dialogo iniziale è “-” continua.

set domandaDue to display dialog "Secondo valore:" default answer "valore2" buttons {"Annulla", "="} default button 2
set numeroDue to text returned of domandaDue

Questo l’abbiamo già visto.

set risultato to numeroUno - numeroDue
Semplicemente imposta “risultato” a numeroUno – numeroDue

display dialog risultato buttons {"Ok"} default button 1
Stampa il risultato. E’ importante notare che le variabili non vanno MAI messe tra le virgolette, in caso contrario verrà contato come semplice testo.
Default button è il pulsante di default, ovvero quello che premendo Invio verrà selezionato; in questo caso 1, ovvero il primo ed unico.

end if
Chiudiamo la funzione “if” (importante!).

Il tutto si ripete con gli altri due segni. Bisogna notare che il segno di moltiplicazione diventa * e il segno di divisione /.

end if
Chiudiamo la funzione “if” riferita a if numeroUno is not “” then.

E anche questo tutorial è finito. Spero vi sia piaciuto e che ci abbiate capito abbastanza.
Alla prossima settimana con il Tutorial 3 – interagire con le altre applicazioni.

 

Ora dobbiamo solo salvare il progetto! Clicchiamo mela+s e selezioniamo Bundle dell’applicazione al posto di script. “Esegui soltanto” serve a rendere inmodificabile lo script, mentre “Script”, nel menu a tendina, serve a creare un documento modificabile con un doppio click.

Il progetto è scaricabile

AppleScript

TuttoMela AS/AS S Develop Program – Tutorial 1

29 ottobre, 2008

Tutorial 1 – Cosa mi serve?
Obiettivi:
• Conoscere il contenuto della cartella “AppleScript”
• Capire come funziona Script Editor
Nella cartella “Applicazioni” ne abbiamo un’altra chiamata “AppleScript”, al suo interno possiamo distinguere quattro files:

- Example Scripts, una cartella contenente utili esempi riguardo AppleScript;

- Impostazioni Azioni Cartella, un programma particolare per assegnare degli script alle cartelle. Vedremo più avanti a cosa serve;
- Script Editor, il nostro compilatore, ovvero l’applicazione fondamentale per scriptare;
- Utility AppleScript, una applicazione poco importante, serve ad impostare alcune cose.

Ora sappiamo cosa c’è in quella cartella che probabilmente vi siete sempre chiesti cosa fosse.

 

Iniziamo:

Apriamo Script Editor, fondamentalmente sono quattro gli elementi principali che vi serviranno spesso:

- Compila, che compilerà il vostro codice;

- Esegui, che compilerà e eseguirà il vostro codice;

- Stop, che fermerà il vostro comando;

- Lo spazio del risultato, in basso, di minore importanza, ma comunque utile.

AppleScript, Mac

TuttoMela AppleScript/AppleScript Studio Develop Program

29 ottobre, 2008

 

Cosa è AppleScript?

“AppleScript è un sistema di scripting introdotto da Apple Computer integrato nel proprio sistema operativo Mac OS. In altre parole, AppleScript rappresenta l’interfaccia di script al Mac OS e quindi lavora tramite un’interfaccia grafica. Con l’avvento di Mac OS X 10.4 Tiger, è possibile usare Automator per generare script disegnando un diagramma di flusso. Il manager del progetto AppleScript è Sal Soghoian.”
[fonte: Wikipedia]

E a cosa serve?

L’uso primario di AppleScript doveva essere quello di controllare altre applicazioni; per questo scopo dipende dal protocollo di comunicazione del Mac OS chiamato AppleEvents. Questi sono essenzialmente dei messaggi spediti da un’applicazione ad un’altra, tramite dei codici: AppleScript usa i dizionari di ogni applicazione per associare a tali codici dei termini comprensibili, permettendo quindi la comunicazione nei due sensi tra codici AppleEvents e termini AppleScript.
[fonte: Wikipedia]

Cosa ha di diverso AppleScript Studio?

Con l’avvento del Mac OS X, AppleScript è andato ben oltre le sue origini: AppleScript Studio è un ambiente di sviluppo gratuito che usa AppleScript come linguaggio principale e in cui l’interfaccia grafica viene progettata tramite il framework ProjectBuilder.
Con l’uscita di Mac OS X 10.3 Panther, AppleScript Studio e Project Builder sono stati inseriti nell’ambiente di sviluppo integrato Xcode. Il tutto permette di costruire l’interfaccia grafica tramite drag and drop e verificare immediatamente come verrà vista nell’applicazione.
[fonte: Wikipedia]

In questi tutorial impareremo a usare questi linguaggi, a iniziare da AppleScript (amichevolmente chiamato AS) fino ad arrivare ad AppleScript Studio (amichevolmente chiamato AS S).

Ecco come si struttureranno i tutorial:

- Obbiettivi da raggiungere;

- Codice con spiegazione;

- Compilazione di uno script utile.

 

I tutorial arriveranno presto! Stay tuned!

AppleScript, Mac