Esempi di Applescript. MAC OS X Introduzione ad AppleScript

Si tratta di un linguaggio di programmazione, una tecnologia che appartiene all'azienda, viene spesso utilizzata per automatizzare i processi di lavoro e consente ai programmi di comunicare tra loro. Oh :)

Non aprirò una serie di articoli sull'argomento: “Applescript for dummies. Passo dopo passo" per un semplice motivo: su Internet c'è molto materiale su questo argomento. E per non riscrivere il sillabario a modo mio e non reinventare la ruota, indicherò solo alcune fonti che mi sono sembrate più adatte. Io stesso ne sarò illuminato.

Quasi tutti gli autori scrivono che il linguaggio di scripting è così semplice che qualsiasi utente con almeno una piccola conoscenza dell'inglese tradizionale può scriverci. E non devi padroneggiare ogni aspetto della programmazione orientata agli oggetti. C'è una parte di verità in questo, perché è nella sceneggiatura

dire all'applicazione "Finder"

visualizza la finestra di dialogo "Ciao sonnambuli!"

È difficile non capire cosa è richiesto da quale programma. Ma non sono del tutto d’accordo sull’OOP. Se scrivi cose inutili come un segnale acustico o dici "Chi è l'uomo? ", allora sì, potresti non sapere cosa sono un ciclo e una classe, e l'OOP è ancora molto lontano da questo. Ma se vuoi imparare come scrivere programmi o script per semplificare le attività quotidiane per te o per qualche database , allora è meglio che tu sappia che sono "Eredità" e "Incapsulamento".

Da dove cominciare?

Tutto è semplice e a portata di mano. Avvia lo Script Editor e vai prima alla guida. Se usi la versione russa, non dovrebbero esserci difficoltà.

Chi vuole un libro?

Se il manuale standard non è sufficiente, o è scritto in modo tale che non tutto ti sia immediatamente chiaro, puoi anche ricorrere ai libri (elettronici o stampati, dipende da te). Si fa spesso riferimento al libro “AppleScript Language Guide”. Si scopre che esiste un collegamento ad esso nella guida di Script Editor.

È impossibile non tenere conto delle altre risorse che la stessa società di sviluppo ci offre. C'è un libro per principianti "AppleScript 1-2-3" oppure puoi acquistarlo con lo stesso nome.

Più grande è meglio

Perché non considerare le risorse online? Dopotutto, qui puoi trovare le ultime novità e rispondono alle recensioni dei lettori più spesso e più velocemente. Cerchiamo la letteratura in una lingua accessibile.

Oltre a vari articoli di revisione, puoi trovare "" su Internet. Direi che questi sono specifici per coloro che sono interessati ad AppleScript. Il libro è per principianti, è scritto in modo semplice, ci sono poche pagine, ma ci sono moltissimi esempi. Esattamente ciò che serve. Lì puoi anche scaricare un libro chiamato "".

I manuali russi sono buoni, ma senza conoscenza di base L'inglese sarà, per usare un eufemismo, difficile da imparare come linguaggio di scripting.

Tra gli articoli, presterei attenzione a questo. Mi è piaciuto per la sua presentazione dettagliata di alcuni dei principi di base del linguaggio di scripting stesso, "breve e chiara".

Non dimenticare anche i vari forum dove gli utenti si scambiano opinioni, esperienze e script già pronti. Personalmente ho questo tra i miei segnalibri.

Prima di iniziare a cercare e scaricare materiale, ti consiglio di decidere il tuo obiettivo. Per lo sviluppo generale, puoi familiarizzare con alcune fonti. Per scrivere script veramente utili dovrai impiegare diversi giorni/settimane/mesi (a seconda delle tue capacità e del tempo libero). È molto interessante e crea dipendenza.

Al momento non riesco a stimare le possibilità di una persona di ottenere un lavoro come programmatore o tester Applescript. Molto probabilmente non molto grande. Ma se senti che è tuo, vai avanti. Se vedi l’obiettivo e non vedi gli ostacoli, non importa chi ne ha bisogno (almeno tu). Il vero talento sarà sempre apprezzato. E hai la possibilità di fare il lavoro che ami.

AppleScript è un potente linguaggio di programmazione che risale a Mac OS 7. Tuttavia, nonostante la sua maturità, i programmatori Mac esperti spesso criticano AppleScript perché è troppo semplice, troppo facile da imparare e troppo simile all'inglese normale.

Naturalmente, vorremmo che un linguaggio informatico avesse proprio queste qualità, sempre che, ovviamente, lo desideriamo. AppleScript lo è linguaggio più semplice programmazione con cui potrai automatizzare il tuo Mac, anche se sei un semplice utente e non un informatico certificato.

I programmi AppleScript (chiamati script o script) possono essere considerati robot software. Un semplice AppleScript può svolgere alcune attività quotidiane come la creazione copia di backup Cartelle di documenti. Uno script più complesso può occupare più pagine. Nelle case editrici professionali, dove AppleScript è più popolare, lo script può connettersi tramite Internet disco rigido fotografo, ottieni una foto da una cartella specifica, esegui la correzione del colore in Photoshop, incolla il risultato in un documento di layout specificato, stampa un layout approssimativo, invia una notifica e-mail all'editor - e tutto questo viene fatto automaticamente.

Senza nemmeno saperlo, l'utente utilizza costantemente la tecnologia AppleScript sottostante. Numerosi componenti del Mac comunicano dietro le quinte utilizzando gli Apple Event, ovvero messaggi che trasmettono istruzioni o dati da un programma all'altro. Se utilizzi il comando Mostra originale su un alias o il comando Ottieni informazioni su un file o una cartella, l'evento Apple dirà al Finder come rispondere.

AppleScript è superiore ad Automator in molti modi, non ultima la sua potenza. E ancora una cosa: AppleScript è un argomento così profondo che dovrebbe essere dedicato a un libro a parte. Questo capitolo è solo un gustoso antipasto: un libro come AppleScript: The Essential Guide sarebbe un pasto di sette portate.

Consiglio Puoi scaricare un intero capitolo su AppleScript, apparso in un'edizione precedente di questo libro, dalla pagina Missing CD su www.missingmanuals.com.

Non è necessario creare AppleScript per usufruire dei vantaggi di questa tecnologia. Mac OS X viene fornito con decine di script già pronti che sono davvero utili e per eseguirli basta selezionarne il nome nel menu. Questa "riproduzione" di un AppleScript richiede la stessa abilità tecnica necessaria per premere un pulsante in un ascensore.

Puoi provare alcuni di questi fantastici scenari iniziali aggiungendo un menu scenario alla barra dei menu (Figura 7.16, a destra).

Il menu degli scenari ha 16 categorie già pronte, che combinano circa 100 scenari; per eseguire uno script è sufficiente selezionarne il nome. Ecco un elenco degli scenari più utili e interessanti.

Consiglio Se premi il tasto Maiusc mentre selezioni il nome di uno script dal menu, Mac OS X ti porterà direttamente alla posizione dello script nel Finder (ad esempio, la cartella Home>Libreria>Script). Inoltre, se premi il tasto Opzione mentre selezioni un nome, lo script si aprirà nello Script Editor, dove potrai esaminarlo o modificarlo.

Questo sottomenu contiene solo lo script Importa indirizzi, progettato per copiare nomi e indirizzi da Entourage nel programma Rubrica, Outlook Express, Palm Desktop, Eudora, Claris Emailer o Netscape. Se hai molti amici, utilizza questo script in modo da non dover reinserire tutti i loro nomi, numeri di telefono e indirizzi postali. (La sottocartella Address Importers associata offre script per l'importazione da tre programmi specifici.)

Il sottomenu Nozioni di base contiene tre piccoli e pratici script relativi ad AppleScript: Aiuto AppleScript (apre il Visualizzatore aiuto e cerca la parola AppleScript); Sito Web AppleScript (apre la pagina Web AppleScript nel browser Web); Apri Script Editor (apre il programma Script Editor, progettato per leggere e modificare gli script AppleScript).

Questa cartella contiene un gruppo di script droplet ColorSync (che vengono eseguiti quando trascini qualcosa sulla sua icona) che interessano artisti, progettisti di siti Web, editori e simili.

In alcuni casi, quando selezioni uno script da questo menu, vedrai un breve Annuncio e quindi la finestra di dialogo Apri per selezionare file grafico essere processato.

Altri agiscono immediatamente; ad esempio, lo script del monitor Mimic PC regola i colori dello schermo in modo che corrispondano fedelmente alle tonalità leggermente diverse sul monitor di un computer Windows. Questo è molto comodo se stai lavorando

CORSI PER UTENTI ESPERTI
Segreti del menu script
Il menu script mostra il contenuto di due cartelle diverse Script: uno è Home>Libreria>Script e l'altro si trova nella cartella principale della Libreria. Gli script presi dalla tua cartella personale sono separati da una linea tratteggiata nel menu script.

Questi script non solo possono essere eseguiti. Sono ideali anche per aprirli nello Script Editor (basta fare doppio clic) e analizzare riga per riga come funzionano. Una volta compresa la sintassi, puoi copiare frammenti di codice e, dopo averli modificati, utilizzarli nei tuoi script. (Lo Script Editor è un programma che si trova nella cartella Applicazioni > AppleScript che puoi utilizzare per creare i tuoi script.)

Una fotografia o una pagina web e vuoi sapere come apparirà alle masse non illuminate. (Per ripristinare i colori originali, vai alla scheda Colore del telecomando del display nella finestra Preferenze di Sistema.)

Tutti questi scenari riguardano il lavoro nel Finder, ad esempio la manipolazione di file e finestre. Ecco quelli più utili:

Aggiungi a nomi di file, Aggiungi a nomi di cartella. Questi script allegano un prefisso o un suffisso al nome di ciascun file o cartella nella finestra anteriore (attiva) del Finder (o, se non ci sono finestre aperte, sul desktop). Utilizzando questi script, puoi aggiungere la parola "bozza" o "finale" o "vecchio" ai nomi di tutti i file in una cartella.

Sostituisci testo nei nomi degli elementi consente di eseguire una ricerca di sostituzione nei nomi di file, cartelle o entrambi. Se un editore rifiuta la tua proposta di libro da 45 capitoli, puoi utilizzare questo script per rinominare tutti i 45 capitoli: diciamo che quello che era "A History of Mousepads - Proposal for Random House, Capitolo 1" diventa "A History of Mousepads - Proposal for Simon" " & Schuster, capitolo 1."

Taglia i nomi dei file, taglia i nomi delle cartelle. Se hai commesso un errore durante l'esecuzione dello script Aggiungi ai nomi dei file, puoi sempre correggerlo utilizzando Taglia nomi dei file. Questo script rimuove estensioni di file, suffissi o prefissi scelti dall'utente.

Diciamo che hai appena creato diverse nuove cartelle contemporaneamente. Mac OS X chiama queste cartelle "cartella senza titolo", "cartella senza titolo 2", ecc. Ma cosa succede se ti senti più a tuo agio con i nomi "cartella 1", "cartella 2", ecc.? Esegui lo script Taglia nomi cartelle; Nella finestra di dialogo, digitare senza titolo e fare clic su OK.

È improbabile che utilizzerai attivamente gli script Azioni cartella, poiché lo stesso identico accesso alle operazioni sulle cartelle viene fornito facendo clic tenendo premuto il tasto Control su una cartella (o all'interno della sua finestra)

Questi script dimostrano come automatizzare alcune attività relative ai caratteri.

FontSync è il nobile tentativo di Apple di risolvere un vecchio problema di desktop publishing. Hai finito di creare una bellissima newsletter e la stai portando alla tua tipografia locale per farla stampare su apparecchiature di alta qualità, solo per scoprire che devi buttare via le stampe e ricominciare da capo, solo per scoprire che i caratteri non sono più disponibili. non hai l'aspetto che volevi... La tipografia non disponeva esattamente degli stessi caratteri utilizzati per preparare il documento. O, peggio ancora, i font avevano esattamente gli stessi nomi, ma erano stati creati da un'azienda diversa, e quindi differivano leggermente dai tuoi in alcuni parametri.

L'idea alla base di FontSync è quella di avvisare l'utente in anticipo di possibili incongruenze. Lo script Crea profilo FontSync crea un file di profilo FontSync in pochi minuti. Questo documento contiene una quantità impressionante di informazioni sul design, il flusso e le caratteristiche di tutti i caratteri installati sul sistema. In una tipografia, tale documento può essere elaborato utilizzando lo script aggiuntivo Match FontSync Profile. Identificherà meticolosamente le differenze tra i caratteri sul Mac dell'utente e quelli delle macchine da stampa.

Naturalmente questa tecnologia presuppone implicitamente troppo: che nella tipografia siano installati computer Macintosh, che possano gestire FontSync e anche che l'utente non dimentichi di creare e trasferire prima un profilo FontSync alla tipografia.

IChat ha subito una revisione significativa nella versione 10.5: Apple ha aggiunto molte funzionalità interessanti (anche se a volte inutili). È diventato anche possibile eseguire AppleScript come segnali quando si verifica un evento correlato ai tuoi contatti. Ad esempio, puoi accettare automaticamente gli inviti alla chat da contatti individuali o anche rispondere con un saluto preparato. Puoi anche controllare la riproduzione della musica su un Mac digitando i comandi nella finestra iChat di un altro Mac a casa tua. Dettagli nel capitolo 21.

Il vantaggio di questi due scenari è piccolo. Data e ora correnti visualizza la data e l'ora correnti in una finestra di dialogo dotata di un pulsante Appunti per copiare le informazioni, pronte per essere incollate. Font Sampler visualizza una pagina che elenca i font (i cui nomi sono scritti nello script) installati con Mac OS X. (Lo script è diventato meno utile da quando Libro Font ha aggiunto comandi di stampa incorporati simili.)

Due scenari in questo menu meritano una menzione speciale. La temperatura attuale per codice postale mostra la temperatura fuori dalla finestra in Fahrenheit e Celsius. Questo è un altro motivo per non uscire di casa tutto il giorno.

Stock Quote riceve le quotazioni azionarie della società selezionata con un ritardo di 20 minuti. Non è eccezionale quanto ottenere preventivi in ​​tempo reale, ma è gratuito.

La maggior parte degli script in questo sottomenu risolvono alcuni problemi specifici come il conteggio delle lettere nelle e-mail. cassette postali o crearne uno nuovo account. Il più divertente di tutti, ovviamente, è lo scenario Crazy Message Text (Fig. 7.17).

Gli script in questa cartella ti consentono di accedere a cartelle speciali del Finder, direttamente dal menu, da qualsiasi programma. Se alla cartella che desideri aprire non è assegnato un proprio script, selezionalo dall'elenco nello script Apri cartella speciale.

Consiglio Per coloro a cui non importa dover modificare questo script utilizzando lo Script Editor, è possibile modificarlo per consentire di selezionare e aprire più di una cartella alla volta (tramite, ad esempio, -click). Ti basterà digitare il testo selezioni multiple consentite vero subito dopo la dicitura Scegli la cartella da aprire: (alla fine della riga, situata all'incirca all'inizio del secondo terzo dello script). Non dimenticare di salvare le modifiche.

Questi script sono progettati per dimostrare la potenza di AppleScript per la stampa e la creazione di documenti PostScript e PDF.

Uno di questi, Print Window, colma una lacuna di vecchia data in Mac OS X. Dovrebbe stampare elenco testi contenuto di qualsiasi cartella selezionata. (È un po' buggato, però.)

Secondo il team Informazioni su questi script, questi 48 script predefiniti ti aiutano a scrivere script più veloci e accurati perché i frammenti di codice sono privi di errori di battitura e errori di sintassi. Man mano che migliori, puoi aggiungere qui i tuoi script, con frammenti di codice su misura per gli script che scrivi di solito per rendere il tuo lavoro ancora più efficiente. (Quando crei uno script nello Script Editor, inserisci questi frammenti di codice nel testo facendo clic tenendo premuto il tasto Control e selezionando il menu accesso veloce.)

Nella maggior parte dei casi, gli script svolgono il loro lavoro in modo silenzioso e inosservato. Ma se vuoi automatizzare un programma che non capisce i normali comandi AppleScript, gli script possono "controllarlo" manualmente simulando selezioni di menu, pressioni di pulsanti e così via.

Nota Questa funzionalità, chiamata scripting dell'interfaccia utente (UI), avrà effetto solo dopo aver aperto la console di Accesso Universale in Preferenze di Sistema e selezionato la casella di controllo Abilita l'accesso per i dispositivi di assistenza (dispositivi ausiliari).

Non ha senso eseguire gli script dal sottomenu Script elementi dell'interfaccia utente così come sono: sono solo esempi per dimostrare la sintassi corretta.

Quest'ultima serie di script fornisce un accesso rapido ad alcuni siti Web popolari. Un'eccezione è lo script Scarica mappa meteorologica, che scarica la mappa meteorologica corrente degli Stati Uniti continentali, la salva sul desktop come Weathermap.jpg e quindi la apre in Anteprima.

Consiglio Puoi aggiungere script, file e persino indirizzi Internet al menu e quindi avviarli facilmente dalla barra dei menu. Tutto ciò che trascini nella cartella Libreria> Script apparirà automaticamente nel menu degli script.

D'altra parte, se inizi ad aggiungere molti dei tuoi elementi al menu Script, sarà più conveniente rimuovere da esso gli esempi Apple. Nessun problema. Apri Utilità AppleScript e deseleziona Mostra script computer.

Lavorare con script AppleScript già pronti

Mentre utilizzi il menu degli script, ti renderai presto conto di avere dozzine di script integrati gratuiti sul tuo Mac. La cosa bella è che puoi capire come funzionano e persino cambiarli mentre impari gradualmente a scrivere i tuoi AppleScript. Puoi persino copiare e utilizzare intere sezioni di script Apple nei tuoi script.

Per prima cosa, ovviamente, devi aprire lo script. Il modo più semplice per farlo è aprire il menu degli script, selezionare la categoria desiderata e fare clic tenendo premuto il tasto Opzione sul nome dello script desiderato.

Puoi iniziare a imparare AppleScript guardando un semplice script. Ad esempio, apri lo script Nuova finestra dell'applicazione (nella categoria Script di navigazione) facendo clic sul suo nome tenendo premuto il tasto Opzione. Di conseguenza, Script Editor aprirà il file in una nuova finestra (Fig. 7.18).

Ecco come funziona questo script:

Tell application "Finder" indica a Mac OS X quale programma deve eseguire i seguenti comandi.

Attiva porta il Finder in primo piano, proprio come se avessi fatto clic sulla sua icona nel Dock.

Apri la cartella "Applicazioni" del disco di avvio indica al Finder di aprire una nuova finestra che visualizza la cartella Applicazioni del disco rigido principale.

End tell dice al Finder di svolgere le sue attività e di ignorare eventuali ulteriori comandi dal tuo script.

Per testare lo script, fare clic sul pulsante Esegui o premere -R.

Consiglio Puoi modificare questo script per adattarlo meglio alle tue esigenze. Prova, ad esempio, a sostituire "Applicazioni" con "Utenti" in modo che lo script apra la cartella Utenti.

Creare i tuoi AppleScript

Mac OS X viene fornito con dozzine di programmi: tantissimi! Ok, manca qualcosa, ad esempio un metronomo. Come farai a suonare il piano con un ritmo costante senza sentire i clic ritmici del tuo Mac? Naturalmente, in caso di necessità, un metronomo di GarageBand aiuterà, ma questo è sparare ai passeri da un cannone.

Puoi invece utilizzare AppleScript. Aprire nuovo documento nello Script Editor (File>Nuovo o -N) e digitare quanto segue:

visualizza la finestra di dialogo "Benvenuti nel metronomo AppleScript"

imposta bpm sul testo restituito da (visualizza finestra di dialogo ¬

"Quanti battiti al minuto?" risposta predefinita 60)

imposta la pausa tra i segnali acustici su (60/bpm)

ritardo pausa tra i segnali acustici

Nota Non è necessario stampare il simbolo ¬. Quindi i programmatori dicono: "Dovrebbe essere su una riga, ma la larghezza della pagina non è sufficiente".

Quando esegui questo script, viene visualizzata una finestra di dialogo che ti chiede quanti battiti al minuto vuoi che il metronomo conteggi. Il numero immesso (ad esempio, 120) viene memorizzato in una variabile di archiviazione temporanea all'interno dello script denominata bpm.

Lo script calcola quindi la quantità di pausa tra i segnali acustici e registra quella frazione di secondo nella variabile pauseBetweenBeeps. Se dicessi allo script di emettere un segnale acustico, diciamo, 120 volte al minuto, pauseBetweenBeeps verrebbe scritto su 0,5 perché dovrebbe esserci una pausa di mezzo secondo tra i segnali acustici.

Infine, lo script crea un ciclo infinito: segnala, fai una pausa per una durata specificata, quindi ripeti.

Fai clic sul pulsante Esegui per testare lo script e, quando hai sentito abbastanza suoni, fai clic sul pulsante Interrompi.

LE MIE TECNICHE PREFERITE
Allegati desktop con un clic
Ecco un piccolo trucco con Automator che può essere un vero toccasana per chi ha spesso bisogno di inviare documenti per e-mail. (Simula il comodissimo comando Invia a che si trova nel menu di scelta rapida delle macchine Windows.)

Crea un processo in Automator in soli due passaggi: Ottieni elementi selezionati del Finder (nella categoria Finder) e Nuovo messaggio di posta (nella categoria Posta).

Se invii sempre file allo stesso destinatario, ad esempio il tuo capo, puoi anche preimpostare l'indirizzo nel pannello dei processi di Automator. Se l'oggetto e il testo del messaggio vengono ripetuti ogni volta, è possibile impostarli anche in anticipo.

Ora seleziona File>Salva come plug-in. Assegna un nome al processo Email This o qualunque cosa tu voglia.

D'ora in poi, puoi inviare un documento dal Finder facendo clic tenendo premuto il tasto Control su di esso e scegliendo Automator>Invia questo tramite e-mail dal menu visualizzato.

Vittoria! Mac OS X avvia Mail e crea un messaggio in uscita con un file allegato.

Suggerimento gratuito: se inserisci un'altra azione Crea archivio (dalla categoria Finder) tra queste due azioni, il tuo comando di menu comprimerà anche il file (o la cartella) in un file .zip prima di inviarlo per posta!

Consiglio Sarà ancora più bello se lo metti dentro Impostazioni di sistema Preferenze di Sistema>Accesso Universale>Udito>Fa lampeggiare lo schermo quando viene emesso un suono di avviso. Ora, quando lo script viene eseguito, lo schermo lampeggerà insieme al suono. Se stai registrando musica, disattiva l'audio del Mac: avrai un metronomo visivo, ma nessun segnale audio.

Confronto tra AppleScript e Automator

Esistono centinaia di usi per AppleScript: automatizzare processi troppo complessi per Automator, controllare programmi che Automator non può vedere e programmare cose come il looping dei comandi che Automator non può eseguire.

Se consideri AppleScript solo come sostituto di Automator, stai perdendo molta potenza. In verità, AppleScript offre funzionalità che Automator probabilmente non avrà tra 10 anni: è uno strumento molto più avanzato.

Automator è utile per compiti semplici. Se hai bisogno di AppleScript per automatizzare il tuo Mac, non disperare. Stai adottando uno strumento davvero potente. (Puoi anche combinarli e incorporare AppleScript nei processi di Automator utilizzando l'azione Esegui AppleScript.)

Buona fortuna con l'automazione!

  • AppleScript Apple, . AppleScriptAppleScript. , - .

    AppleScript.

    0 . . . . . . . . . . . . . . . . . . . . . 6

    1 . . . . . . . . . 7

    2 . . . . . . 10

    3(I) . . . . . . . . 13

    4 . . . . . . . . . . . . . . . . . . . . . 15

    5 . . . . . . . . . . . . . . . . . . . . . 17

    6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    8(II). . . . . . . trenta

    9 ? ! . . . . . . . . 32

    10 . . . . . . . . . . . . . . . . . . 34

    11 . . . . . . . . . . . . . . 40

    13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    14 . . . . . . . . . . . . . . . . . . . 53

    16 . . . . . . . . . . . . . . . . 59

    17 . . . . . . . . 60 . . . . . . . . 60

    AppleScript Apple, . , AppleScript:

    AppleScript, AppleScript. , -, .

    AppleScript, . -AppleScript ( Adobe Photoshop, QuarkXPress, Adobe InDesign). FileMaker Pro. , Convertitore grafico, BBEdit, Microsoft Word AppleScript(). , AppleScript. , . . , AppleScript, AppleScript. , -AppleScript.

    . (. 15). -AppleScript. , .

    AppleScript, AppleScript:

    , ; AppleScript, .., AppleScript; (Mac OS X)

    AppleScript; AppleScript; AppleScript (Mac OS X).

    AppleScript. , Giava, . AppleScript, 10-, -. .

    5AppleScript, . - AppleScript Studio, (Strumenti per sviluppatori XCode).

    JavaScript, .

    () . , . , . , .

    . , : . - . , . : .

    AppleScript, . . Editor di script (.2), ​​​​.

    Copyright (c) 2003 di Bert Altenburg

    : Bert Altenburg, - .

    1. . , - . , AppleScript. AppleScript.

    2. , PC, . - , -. Monitor CPU (Utilità, Applicazioni), - . (Calcolo distribuito DC), Folding@home, . DC-, - . DC-. -- , DC- . , . ? DC- - . (), - . , - , . DC--: , . , DC-:

    www.aspenleaf.com/distributed/distrib-projects.html

    3. . , . () , - . - , . - , . - , :

    http://www.macinstruct.com/tutorials/crash/index.html

    Sistema operativo Mac AppleScript. , - . , .

    , -. , (dichiarazione), . , .

    AppleScript, . , 1 .

    AppleScript:

    dire "Questa è una frase parlata".

    Fred, Trinoidi, Violoncelli, Zarvox, Victoria.

    dire "Questa è una frase parlata". utilizzando "Zarvox"

    : AppleScript. , . , Vittoria Zarvox.

    AppleScript. - , - . : . AppleScript-, . AppleScript, . (scriptabile). , AppleScript (Mac OS X), .

    Trovatore. Trovatore. , . Trovatore , - , . -, Cestino, Trova.

    8, AppleScript.

    Adobe Photoshop. PhotoShop. , Trovatore.

    AppleScript, .

    Dillo, AppleScript (Mac OS X), Finder. AppleScript (Mac OS X), - fine racconto. Trova AppleScript Finder, . ,:

    dì all'applicazione "xyz"

    (dire al blocco). xyz xyz. , AppleScript , - , . , . (, ("). : , AppleScript . . .)

    Trovatore. , Trovatore. Cercatore, cercatore.

    dì all'applicazione "Finder" di svuotare il cestino, di aprire il disco di avvio e di terminare di dire

    Trovatore. Cercatore, - , . .

    Finder, AppleScript (Mac OS X).

    L'applicazione 9tell "Finder" svuota il cestino, apre il disco di avvio e termina il tellbeep

    Trovatore. emette un segnale acustico per AppleScript. , .

    Segnale acustico (AppleScript (Mac OS X)) .

    dire all'applicazione "Finder" svuotare il cestino, emettere un segnale acustico, aprire il disco di avvio e terminare

    Segnale acustico del Finder, AppleScript (Mac OS X). , . , -, Finder, bip, Finder.

    AppleScript (Mac OS X). - , Trova, . ().

    dì all'applicazione "Finder" di svuotare il cestino con un segnale acustico e di dire di aprire il disco di avvio

    AppleScript (Mac OS X), . () - , .

    dì all'applicazione "Finder" di svuotare il cestino di' di aprire il disco di avviodi' "Ho svuotato il cestino e ho aperto il disco di avvio per te" usando "Victoria"

    AppleScript (Mac OS X), Finder. , .

    Editor di script, . Editor di script AppleScript, Applicazioni. , . .

    Compilare. , AppleScript , AppleScript . Ehi Finder! Scarica la mia spazzatura (Finder!!) Ehi Finder! Pulisci il cestino (Finder,) Finder. (compilazione) AppleScript (Mac OS X): - . , . , - . Redattore di script.

    AppleScript (Mac OS X).

    dì "Sto imparando AppleScript nel modo più semplice!" utilizzando "Zarvox"

    Correre, . Editor di script,!

    Accedere. Invio - Spazio () (). Ritorno (Shift) -. Ritorno .

    Compilare. - Correre, .

    Corri, Comando-R. : , -

    , (script compilato) (applicazione).

    : , -AppleScript,

    Esegui l'editor di script.

    : , AppleScript ,

    Redattore di script. , - , (Preferenze di Sistema). , . - , Editor di script, Apri file.

    : Salva, - (solo esecuzione). , - .

    dire all'applicazione "Finder" di svuotare il cestino e di dire

    Redattore di script.

    Applicazione , :

    Applicazione dell'app Script Editor. , xyz. - (-), pqr. - , AppleScript. , AppleScript pqr , racconta .

    Editor di script, -. , controllo . :

    1) Controlla l'editor di script. (.), Dillo ai blocchi. , Dillo a "Finder".

    2) Finder svuota il cestino, (), 1. . - .

    2 + 6 = ...... = 3 * 4

    2 + 6 = xy = 3 * 4

    AppleScript. (variabili) , . - (identificatori), . -AppleScript, imposta.

    imposta x su 25imposta y su 4321.234

    AppleScript, . : (-, (bug)). , X. , larghezza immagine .

    imposta PictureWidth su 8

    , (, -,). , AppleScript, - . , (8).

    AppleScript-. , imposta, diciamo, su, bip , - AppleScript. , larghezza immagine, . -, .

    AppleScript, . , .

    imposta immagineLarghezza su 8imposta immagineAltezza su 6 imposta immagineSuperficieArea su immagineLarghezza * altezza immagine

    , (operatori), - .

    imposta cubeEdgeLength su 10.0imposta cubeVolume su cubeEdgeLength ^ 3

    Editor di script, . , . (Risultato) , 10.0. , 1000,0. , cubeEdgeLength ^ 3 , .

    : . - . (interi) , - , (. 13)

Da questo articolo imparerai cos'è AppleScript, perché e chi ne ha bisogno, come puoi automatizzare le applicazioni di altre persone e aggiungere funzionalità di automazione alle tue.

Automatizzalo

Ci sono spesso problemi per i quali è irrazionale creare un progetto separato in un linguaggio compilato. Ad esempio, quando devi mettere insieme rapidamente un codice in ginocchio che dovrebbe semplicemente svolgere un lavoro specifico, senza decorazioni della GUI, gestire tutti i tipi di situazioni di eccezione, ottimizzazione e così via. È qui che i linguaggi di scripting vengono in soccorso: shell, Perl, PHP e così via, lo sai. Tutti (o quasi) sono disponibili sotto Mac OS X. Ma in questo sistema operativo, oltre ai linguaggi di scripting generalmente accettati, esiste anche un linguaggio di scripting speciale, orientato specificamente a Mac OS X ed è strettamente correlato a Esso. Questo è AppleScript.

AppleScript è stato incluso nel sistema a partire dal System 7. Nato dal progetto HyperCard (che conteneva il linguaggio di scripting HyperTalk, che è molto simile all'inglese naturale), AppleScript è stato originariamente creato per consentire lo scambio di dati tra attività, nonché per controllare lavoro applicazioni di terze parti. Lo stesso AppleScript ha funzionalità piuttosto modeste: in questo linguaggio, anche gli script per eseguire attività relativamente semplici spesso sembrano chiamate ad altre applicazioni. Tuttavia, dopo una significativa revisione del sistema durante la transizione alla linea Mac OS X, il linguaggio AppleScript è diventato più flessibile e potente e il nuovo framework Cocoa ha consentito agli sviluppatori di integrare funzionalità di automazione nelle proprie applicazioni utilizzando AppleScript con il minimo sforzo.

Sceneggiatura semplice

Per modificare ed eseguire gli script utilizzeremo lo Script Editor standard. Puoi trovarlo nella cartella /Applicazione/AppleScript. Innanzitutto, scriviamo un semplice script "HelloWorld".

visualizza l'avviso "Hello World!" # Mostra il dialogo
pronuncia "Ciao mondo" # Output nelle colonne

Penso che non sia necessario spiegare nulla qui, ma vorrei sottolineare l'accesso estremamente semplice al sintetizzatore vocale da AppleScript utilizzando il comando say. Questa è una vera comunicazione con l'utente in stile Apple :). Naturalmente, questo dialogo può essere facilmente personalizzato. Ad esempio, aggiungi i pulsanti necessari:

Pannello con pulsanti aggiuntivi

visualizza l'avviso "Hello World!" pulsanti("Ciao", "Ciao")
imposta la risposta al pulsante restituito del risultato
se la risposta è "Ciao", allora
...
altro
...
finisci se

Ora scriviamo qualcosa di più utile. Ad esempio, lasciamo che l'utente selezioni un file e ne legga il contenuto:

# Pannello di selezione file
imposta theFile su (scegli il file con il prompt "Seleziona un file da leggere:" di tipo ("TESTO"))
aperto per accedere al file

Leggere il contenuto

imposta il contenuto del file su (leggi il file)
chiudere l'accesso al file

Questi esempi mostrano chiaramente l'idea principale di AppleScript: è molto vicino alla vita reale lingua inglese. Pertanto, leggere gli script è facile anche per una persona lontana dalla programmazione. Ogni comando verbale può essere integrato con nomi e parametri modificatori.

Interazione con le applicazioni

AppleScript utilizza un meccanismo di messaggistica per comunicare con altre applicazioni:

dire all'applicazione "Microsoft Word"
esentato
fine racconto

Utilizzando il comando tell, selezioniamo l'applicazione a cui invieremo il messaggio. In questo caso, chiediamo a MS Word di uscire. Nel blocco "tell - end tell" è possibile inviare un numero qualsiasi di comandi. I messaggi inviati all'applicazione possono essere più specifici. Tutto dipende da quali comandi hanno implementato i suoi sviluppatori. iTunes, ad esempio, esporta numerosi comandi e proprietà nell'ambiente AppleScript:

Avvia la playlist desiderata in iTunes

comunica all'applicazione "iTunes"
riproduci la playlist denominata "My Favorite"
fine racconto

Puoi scoprire l'insieme di messaggi e tipi di dati che un'applicazione esporta nell'ambiente AppleScript esaminando la sua terminologia (il file AppName.scriptRerminology nelle risorse dell'applicazione). Per fare ciò, nello Script Editor, vai al menu "File - Apri dizionario - ..." e seleziona l'applicazione desiderata.

Per semplificare l'utilizzo delle classi e dei comandi esportati dall'applicazione, questi sono organizzati in sezioni. Tutte le applicazioni che supportano lo scripting hanno almeno due sezioni: una standard e una più specifica questa applicazione sezioni. La sezione standard contiene una serie di comandi standard supportati da qualsiasi applicazione Mac: apri, stampa, chiudi ed esci. Il contenuto delle restanti sezioni dipende dall'immaginazione degli sviluppatori.

Esecuzione di AppleScript dall'interno dell'applicazione

Se stai scrivendo un'applicazione in Objective-C/Cocoa, è possibile che alcune cose siano più convenienti da fare utilizzando AppleScript. Per creare ed eseguire script nelle applicazioni Cocoa, esiste la classe NSAppleScript. Ecco un semplice esempio del suo utilizzo: l'implementazione dell'ottenimento della riga di stato dell'utente dall'applicazione iChat.

NSAppleScript *iChatGetStatusScript = zero;
iChatGetStatusScript = [ initWithSource: @"dillo all'applicazione "iChat" di ricevere il messaggio di stato"];
NSString *statusString = [stringValue];

È possibile che la stessa cosa possa essere eseguita in un altro modo senza utilizzare uno script generato in fase di esecuzione, ma è improbabile che il codice alternativo sembri più semplice di questo. Se gli script sono di grandi dimensioni, puoi archiviarli in risorse bundle e leggerli quando necessario.

Automazione in un'applicazione Cocoa

È molto utile aggiungere il supporto di scripting alle tue applicazioni Cocoa, perché se la tua applicazione ha un'interfaccia per AppleScript, allora l'utente, scrivendo poche righe in AppleScript, potrà personalizzarla per le sue esigenze e integrarla con altre applicazioni che ha installato e quindi, ad esempio, automatizzare la soluzione delle attività di routine. Per esportare tipi e comandi nell'ambiente AppleScript, è necessario descriverli in file speciali. È possibile farlo nei file .scriptSuite e .scriptTerminology o in un file con estensione .sdef. In entrambi i casi i file sono in formato XML, ma sdef è più semplice da utilizzare.

Il contenuto del file scriptTermonology viene visualizzato nello Script Editor quando si visualizza il dizionario dell'applicazione. Questo file contiene una descrizione degli oggetti esportati in AppleScript.

Aprendo il file scriptSuite nel Plist Editor, puoi vedere che contiene le seguenti sezioni principali:

  • AppleEventCode - un codice di quattro lettere che identifica l'applicazione per l'ambiente AppleScript (il codice deve essere univoco all'interno dello stesso sistema);
  • Nome: il nome della sezione che contiene i comandi e le classi esportate.

Smontare organizzazione interna questi file non hanno molto senso, poiché molto probabilmente dovrai occuparti solo dei file sdef.

File sdef di esempio
















In sdef, la terminologia di scripting è mescolata con descrizione dettagliata comandi e tipi, che possono essere trovati nei file .scriptingSuit. Mettiamolo in pratica creando un'applicazione Cocoa che supporti AppleScripting. Per fare ciò, nel nuovo progetto Cocoa, aggiungiamo i flag Scripting e OSAScriptingDefinition con il nome del nostro file sdef al file Info.plist:

...
NSApleScriptEnabled

OSAScriptingDefinition
Scrtipting.sdef

Aggiungiamo il seguente file Scripting.sdef al progetto:












Quindi, da AppleScript abbiamo una proprietà disponibile: myprop. Non resta che scrivere il codice ObjC che elaborerà la lettura di questa proprietà dagli script. Per fare ciò, dobbiamo creare la categoria NSApplication, poiché questa è la classe che abbiamo scelto come destinatario dei messaggi dagli script.

#importare
@interface NSApplication (Scripting) - (NSString *) miaprop;
@FINE
@implementation NSApplication (Scripting) - (NSString *) miaprop
{
return @"Questa è di mia proprietà";
}

Se ora passiamo alle proprietà della nostra applicazione da AppleScript, vedremo la nostra proprietà e il suo valore tra di loro:

dire all'applicazione "Scripting"
proprietà
fine racconto

Conclusione

Naturalmente, è impossibile descrivere qui tutte le funzionalità di AppleScript e la sua interazione con le applicazioni Cocoa. Sì, non è necessario: ci sono dei manuali per questo. E noi, da parte nostra, continueremo la serie di articoli sulla codifica per le piattaforme Apple e vi diremo molte altre cose nuove e interessanti.

Apri, ritaglia, converti in un altro modello di colore, salva. Apri, ritaglia, converti in un altro modello di colore, salva. Apri Oppure: seleziona, trasferisci nel buffer, passa ad un'altra applicazione, copia dal buffer. Seleziona, trasferisci nel buffer, cambia

Non sembra un'attività creativa, vero? Ma quasi tutti coloro che hanno a che fare con un computer devono eseguire decine e centinaia di operazioni ripetitive, sostanzialmente identiche, al giorno. E dopo aver lavorato per tre settimane come una sorta di “convertitore intelligente”, non è più come insegnare nuova versione"Photoshop" o master InDesign: non vuoi nemmeno avvicinarti al computer. In una parola: hai bisogno di un assistente. Che si assumerà l'esecuzione di tutte (o almeno la maggior parte) delle azioni noiose e di routine, ma, ovviamente, necessarie e ripetitive.

AppleScript: che razza di bestia è?

E abbiamo un tale assistente. Questo è un linguaggio speciale per scrivere script (o, se preferisci, script) chiamato AppleScript. Questo linguaggio è apparso per la prima volta in Mac OS 7.5 (allora ancora il sistema Macintosh), ed era così ben implementato e aveva anche capacità così ampie che con il rilascio della decima versione del sistema operativo ha raggiunto solo la versione 1.8. Ma, stranamente, nonostante le sue enormi capacità potenziali e la sua storia di oltre dieci anni di esistenza, la tecnologia AppleScript non si è diffusa tra gli utenti Mac. Che ciò sia dovuto ai miti sulla sua complessità, all'inerzia degli utenti abituati esclusivamente al controllo “icona-mouse” dei loro Mac, o qualcos'altro, non posso giudicare, ma il fatto è un dato di fatto: centinaia sanno dell'esistenza di AppleScript, ma usalo solo unità. Pertanto, a mio avviso, non sarebbe superfluo considerare i principi fondamentali di funzionamento di questa tecnologia.
AppleScript è basato su Macintosh Apple Events, un servizio di elaborazione di eventi di sistema che consente lo scambio di comandi di controllo, dati e richieste tra applicazioni. sistema operativo, servizi di rete e persino computer diversi. Il motore di script (che è una normale estensione situata nella cartella Sistema) converte i comandi dello script in una sequenza di eventi e li passa all'applicazione specificata nello script e, dopo averli elaborati, accetta il risultato e lo inoltra all'origine dello script .
Sebbene AppleScript sia un vero linguaggio di programmazione (supporta variabili, cicli, istruzioni condizionali, subroutine, consente calcoli complessi e dispone persino di strumenti per creare ed elaborare finestre di dialogo), l'esecuzione dei compiti principali ricade ancora sulle spalle di applicazioni esterne. E AppleScript agisce come una sorta di "colla" che trasferisce dati tra programmi ("trasferisci un file da Illustrator a Photoshop"), valuta lo stato attuale dell'ambiente di lavoro dei singoli programmi, del sistema operativo e della rete ("ha rasterizzazione del file già completato o non ancora?" ), e consente di intraprendere azioni in base ai risultati delle operazioni precedenti ("se tutti i file sono rasterizzati, inviare i materiali in una cartella speciale ed eseguire lo script responsabile dell'assemblaggio della striscia di giornale ").
Esistono diversi livelli di "scriptability" delle applicazioni. Quindi, ad esempio, quei programmi meno adatti all'automazione comprendono solo i comandi basilari e più semplici: caricare un'applicazione, aprire un documento, inviare alla stampa e chiudere l'applicazione (esegui, apri, stampa ed esci). Quelli più “accomodanti” (come Photoshop, Illustrator e FreeHand) hanno nel loro arsenale strumenti abbastanza sufficienti per scrivere programmi di elaborazione di file batch ed eseguire determinate sequenze di azioni (comandi macro). Bene, quelli che implementano il supporto per quasi tutte le funzionalità della tecnologia AppleScript (e questo include QuarkXPress, Adobe InDesign e la maggior parte dei programmi Mela) permettono di controllare il proprio lavoro ai livelli più “profondi”: impostare i parametri di stampa, utilizzare gli appunti, controllare e modificare i valori delle variabili interne, ecc.

Nozioni di base di scriptologia

Per inserire il testo sorgente ed eseguire script, puoi utilizzare il programma Script Editor, lo strumento principale e unico per creare script nel pacchetto Mac OS standard.
L'editor degli script si trova nella cartella Apple Extras/AppleScript (per la versione localizzata di Mac OS - Componenti aggiuntivi/AppleScript) e dopo l'avvio visualizza una finestra simile a quella mostrata in Fig. 1.


Riso. 1. Editor di script

I campi di input superiore e inferiore hanno lo scopo di descrivere rispettivamente lo script e il suo testo ed è improbabile che necessitino di commenti aggiuntivi. Il pulsante Registra permette di registrare un macro comando; per fare ciò, dopo aver premuto il pulsante, andare su applicazioni richieste ed eseguire una serie di azioni; dopodiché il testo dello script apparirà nel campo di input inferiore (va notato che la capacità di registrare comandi macro non è supportata da tutti i programmi). Il pulsante Controlla sintassi controlla se ci sono errori nel testo dello script e lo porta anche in una forma "commerciabile": è evidenziato in grassetto e con rientro. parole chiave e blocchi nidificati.
Scenario uno. Per cominciare, come previsto, scriviamo il programma più semplice, che esegue diverse azioni di base: chiude tutte le finestre aperte, rimuove tutti i dischi rimovibili dal supporto, organizza le icone sullo schermo, pulisce il cestino e spegne il computer. Il testo di un tale programma è simile al seguente:

dire all'applicazione "Finder"

Chiudi ogni finestra
espellere ogni disco
pulire il desktop
svuotare la spazzatura
fermare

Fine del racconto

Cosa significa tutto questo? Il servizio Apple Events (il "cuore" della tecnologia AppleScript) trasferisce dati, richieste e messaggi non solo tra programmi, ma tra elementi del programma chiamati oggetti, che possono avere una struttura annidata chiamata modello a oggetti. Quindi, ad esempio, per il programma Finder, il modello a oggetti (più precisamente, solo uno dei rami di questo modello) può essere rappresentato nella seguente forma: Finder - Desktop - Cartella - File; Per editor di testo tale modello avrà la forma Documento - Pagina - Paragrafo - Frase; per un'illustrazione vettoriale sarà simile a Illustrazione - Forma base - Curva di Bezier - Punto (Fig. 2).


Riso. 2. Esempi di modelli a oggetti

Ogni oggetto ha in genere una o più proprietà (Figura 3) che possono essere impostate ("imposta l'altezza della pagina su 14 pollici"), modificate ("cambia la larghezza da 8 a 8,5 pollici") e controllate ("ciò che equivale all'altezza giusta margine della pagina?").


Riso. 3. Proprietà dell'oggetto

Per controllare un particolare oggetto, è necessario selezionarlo (indicarlo) sul modello a oggetti. A questo scopo viene utilizzato il disegno raccontare fine raccontare e tutti i comandi che controllano l'oggetto sono contenuti all'interno di questo costrutto; se l'oggetto si trova “nelle profondità” di uno dei rami del modello, vengono utilizzati più blocchi annidati uno nell'altro raccontare fine raccontare. Nell'esempio seguente, lo script accede in modo incrementale al desktop (uno degli elementi del modello a oggetti del Finder) e quindi sposta la cartella "test", che si trova sul desktop, nel Cestino.

dire all'applicazione "Finder"
dillo al desktop

Elimina la cartella "prova"

Fine del racconto
fine racconto

Quando scrivi uno script che controlla qualsiasi programma, non importa se si tratta di Finder, FileMaker, Adobe Acrobat o qualcos'altro, devi sapere quali comandi del linguaggio AppleScript sono supportati da questo programma, quali oggetti sono inclusi nel suo modello a oggetti, nonché i nomi e gli scopi di tutte le proprietà degli oggetti disponibili. Tutte queste informazioni sono memorizzate direttamente nel file eseguibile di un particolare programma, nel cosiddetto dizionario dell'applicazione. Per utilizzare questo dizionario, nel programma Script Editor è necessario eseguire il comando File / Apri dizionario (File / Apri dizionario) e nella finestra che appare selezionare il file eseguibile dell'applicazione di interesse. Di conseguenza, sullo schermo verrà visualizzata una finestra simile a quella mostrata in Fig.. 4 - sul lato destro c'è l'elenco di tutti i comandi e gli oggetti, sul lato sinistro ci sono le loro brevi descrizioni.


Riso. 4. Applicazione dizionario

Secondo scenario. Passiamo alla risoluzione dei problemi pratici. Chi si occupa di web design molto spesso deve verificare la compatibilità delle proprie pagine con le versioni precedenti dei browser. Per fare ciò, è necessario aprire finestre con cartelle, cercare lì i file eseguibili dei programmi di visualizzazione, scaricarli e quindi cercare anche cartelle con pagine Web sui dischi. In generale, non è l’esperienza più piacevole. Creiamo uno script che semplificherà la navigazione delle pagine: ne caricherà automaticamente diverse browser diversi, e in ognuno si aprirà il documento di cui abbiamo bisogno.

dire all'applicazione "Finder"

Selezionare (specificare) il file richiesto
selezionare il file "index.html" della cartella "Sito Web corrente" del desktop
-- assegna alla variabile myFile il percorso del file selezionato
imposta myFile sulla selezione come stringa

Carica Microsoft IE e apri la pagina selezionata
comunica l'applicazione" Internet Explorer 3.01"
aperto(alias mioFile)
fine racconto

Facciamo la stessa operazione con Netscape Navigator
dire all'applicazione "Netscape Navigator 3.01"
aperto (alias mioFile)
fine racconto

Nel programma di cui sopra sono apparsi diversi nuovi design. Tutte le righe che iniziano con simboli "--" sono commenti. In AppleScript i commenti possono essere scritti sia su una riga separata che alla fine della riga, subito dopo il comando, in ogni caso tutti i caratteri che seguono "--" e prima dell'inizio nuova linea sono considerati commenti e vengono ignorati quando lo script viene eseguito.

Il comando "seleziona" simula la selezione esplicita di un elemento con il cursore del mouse, e la sua azione ricorda un po' l'uso del costrutto raccontare fine raccontare, ma con la differenza che quando si utilizza il comando Selezionare possiamo assegnare alcune proprietà dell'oggetto selezionato (ad esempio il percorso di un file o di una cartella) ad una variabile.

Operatore impostato serve per indicare i valori delle variabili che vengono create al primo accesso. Cioè non c'è bisogno di descrivere prima il nome e il tipo della variabile: hai scritto, ad esempio, imposta myDate sulla data corrente e AppleScript ha creato la variabile e selezionato la dimensione e il tipo richiesti. Ma non è tutto: utilizzare l'operatore impostato puoi modificare tutte le proprietà degli oggetti. Questo viene fatto come segue:

dire all'applicazione "Finder"
dillo al desktop
raccontare il file "Listino prezzi"

-- modifica la proprietà del commento del file "Listino prezzi".
- il file è sul desktop
imposta il commento su "Questo listino prezzi non è aggiornato!"

Fine del racconto
fine racconto
fine racconto

Oppure la stessa cosa, usando solo il comando select:

dire all'applicazione "Finder"

Selezionare il file "Listino prezzi" del desktop
imposta il commento della selezione su "Questo listino prezzi non è aggiornato!"

Fine del racconto

Come avrai notato, fino ad ora tutto il lavoro con gli script - digitazione del testo sorgente ed esecuzione - veniva eseguito esclusivamente con l'aiuto di un editor speciale. Questo metodo è utile quando è necessario creare un nuovo script o rifarne uno vecchio. Ma per l'uso quotidiano non va bene - mentre apri lo Script Editor, mentre trovi lo script richiesto sui dischi, pensi involontariamente - non sarebbe più veloce fare lo stesso lavoro manualmente, senza alcuna automazione? Gli sviluppatori AppleScript si sono occupati di questo: gli script possono essere archiviati non solo nel modulo file di testo, ma anche in forma compilata, pienamente idonea ad un'esecuzione autonoma. Per convertire lo script in codice eseguibile, è necessario eseguire il comando Salva come di sola esecuzione nell'editor dello script. Nella finestra di dialogo che appare (simile a quanto visibile in Fig. 5), selezionare Applicazione dall'elenco a discesa; reimposta la casella di controllo Resta aperto (se non abiliti questa opzione, dopo l'esecuzione lo script completerà automaticamente il suo lavoro, altrimenti rimarrà nella memoria del computer) e seleziona la casella di controllo Mostra schermata di avvio più recente. Dopo aver completato tutte le azioni descritte, l'avvio dello script non causerà alcuna difficoltà: basta posizionare il cursore del mouse su di esso e fare doppio clic sul pulsante.


Riso. 5. Salvare lo script come programma eseguibile

Scenario tre e ultimo. Sicuramente sui benefici Prenota copia molti hanno sentito. E coloro che almeno una volta nella vita hanno perso i risultati del loro lavoro mensile (nel peggiore dei casi, almeno una settimana) sanno certamente che è meglio dedicare 15 minuti ogni giorno all'archiviazione file necessari che poi strapparti i capelli e gettare cenere sul monitor. Ma, di regola, anche dopo la perdita Informazioni importanti le persone non cambiano le loro abitudini: potresti dirti: “Ecco, da oggi faccio copia di tutti i file!” E passeranno una o due settimane - e i programmi sembrano "non avere problemi" e non c'è tempo libero - "E perché ho bisogno di quel backup! E questo andrà bene." Per rendere la vita un po' più semplice a tutti coloro che vogliono vedere i propri file sani e salvi, ma non amano molto lavorare con il programma StuffIt, scriveremo uno script che archivierà ogni giorno tutti i dati necessari e li inserirà in uno speciale disco. Ecco il testo sorgente di un tale programma:

dire all'applicazione "Finder"

Specificare l'unità e la cartella in cui sono archiviati tutti i file
-- Per l'archiviazione
imposta myArhiveFolder su "Mac OS: Lavoro corrente:"
-- specificare la cartella in cui sono archiviati gli archivi
imposta myTargetFolder su "Per arhive: Pubblica archivio:"
-- assegnare il nome del futuro archivio
-- (il nome è la data corrente)
imposta myFile sulla stringa della data di (data corrente) e ".sit"
-- crea il nome completo del file (percorso + nome)
imposta myArhiveFile su myTargetFolder e myFile

Se esiste già un file con lo stesso nome
-- (ovvero il backup è stato effettuato oggi)
- poi terminiamo la sceneggiatura
se no (esiste (file myArhiveFile)) allora

Se un file con il nome indicato non esiste già,
-- quindi scarica StaffIt Deluxe ed esegui l'archiviazione,
- e scarica immediatamente StuffIt dalla memoria
raccontare l'applicazione "StuffIt Deluxe"

Attivare
crea un nuovo archivio con proprietà (percorso: myArhiveFile)
roba (alias myArhiveFolder) nell'archivio 1
chiudi archivio 1
esentato

Lo script sopra semplifica la procedura di backup, ma non quanto vorremmo: per avviare l'archiviazione dovrai cercare questo script (sui dischi o sul desktop) ed eseguirlo. Per automatizzare completamente il lavoro, è necessario compilare lo script e salvarlo nella cartella Sistema/Elementi di arresto. Ora, ogni volta che spegni il computer, l'archiviatore caricherà e salverà automaticamente tutti i file importanti su un disco speciale. Va notato che l'archiviazione verrà eseguita solo una volta al giorno, indipendentemente dal fatto che il computer abbia funzionato per 20 ore consecutive o riavviato ogni mezz'ora, utilizzando l'operatore condizione se termina se Stiamo verificando se valga la pena archiviare o se sia meglio aspettare. Fino al giorno successivo.

Allora qual è il prossimo passo?...

Dopo aver letto le funzionalità di AppleScript e aver visto quanto sia facile creare script, anche per i principianti, potresti voler continuare a esplorare questo strumento di automazione. Ed è qui che ti aspetta la prima delusione. Purtroppo non ci sono praticamente informazioni su AppleScript in russo: per contare tutte le pubblicazioni bastano più che sufficienti le dita di una mano. Pertanto, per imparare un linguaggio di scripting, avrai bisogno anche di una buona conoscenza della lingua inglese.

Esistono due principali fonti di informazioni sulla tecnologia AppleScript. Il primo è il sito ufficiale di Apple Computer, ovvero una sezione del sito dedicata a tutto ciò che riguarda gli script: documentazione tecnica, tutorial, esempi, raccolte di link e molto altro. L'indirizzo di questa sezione è http://www.apple.com/applescript/. Ti consiglio vivamente di scaricare prima la AppleScript Language Guide, un libro di testo ben illustrato che include molti esempi pratici (il libro si trova su http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf, dimensione del file - 2,6 MB). La seconda fonte - il sito http://www.scripter.com - contiene molto materiale sia su AppleScript che su altri linguaggi di scripting alternativi per la piattaforma Macintosh.

Inoltre, se decidi di scrivere seriamente script, avrai bisogno di un buon ambiente di strumenti: lo Script Editor, fornito con Mac OS, è adatto solo per semplici script di 20-30 righe di codice. In questo caso, possiamo consigliare Scripter 2.5 di Main Event Software: l'editor ha una modalità di debug e un meccanismo ben congegnato per la visualizzazione dei dizionari dell'applicazione. E se intendi creare programmi AppleScript con una propria interfaccia utente, non sarebbe male procurarti anche FaceSpan 3.5 di Digital Technology: questa applicazione ridurrà il tempo necessario per creare menu e finestre di dialogo su schermo , e ti permetterà di evitare di perdere tempo e spiacevoli armeggi con schizzi su carta millimetrata.

Invece di una conclusione

Scrivere script è interessante. Scrivere script è utile. Scrivere script è persino carino. Anche se, ovviamente, è molto più piacevole abbandonarsi all'ozio desiderato, mentre il copione “appena sfornato” elabora pazientemente l'intera routine settimanale.

Prenditi il ​​tempo, trascorri qualche giorno imparando la lingua, scrivi un paio di script che semplificano il tuo lavoro e capirai tu stesso che AppleScript è uno strumento molto semplice, molto potente e molto flessibile. Ma dovevamo aspettarci qualcosa di diverso da Apple?..

Pubblicazioni sull'argomento