Applescript-esimerkkejä. MAC OS X AppleScriptin esittely

Tämä on ohjelmointikieli, yritykselle kuuluva tekniikka, jota käytetään useimmiten työprosessien automatisointiin ja mahdollistaa ohjelmien välisen viestinnän. Vau :)

En aio avata artikkelisarjaa aiheesta: "Applescript for dummies. Askel askeleelta" yhdestä yksinkertaisesta syystä - tästä aiheesta on paljon materiaalia Internetissä. Ja jotta en kirjoittaisi aluketta uudelleen omalla tavallani ja en keksi pyörää uudelleen, mainitsen vain muutaman minulle sopivimman lähteen. Valaistun itsekin siitä.

Melkein jokainen kirjoittaja kirjoittaa, että skriptikieli on niin yksinkertainen, että kuka tahansa käyttäjä, jolla on vähintään vähän perinteistä englantia, voi kirjoittaa siihen. Eikä sinun tarvitse hallita olio-ohjelmoinnin kaikkia osa-alueita. Siinä on osa totuutta, koska käsikirjoituksessa

kerro sovellukselle "Finder"

näyttöikkuna "Hei unissakävelijat!"

On vaikea olla ymmärtämättä, mitä ohjelmalta vaaditaan. Mutta en ole aivan samaa mieltä OOP:sta. Jos kirjoitat sellaisia ​​hyödyttömiä asioita, kuten piippaus tai sanot "Kuka on mies? ", niin kyllä, et ehkä tiedä mitä silmukka ja luokka ovat, ja OOP on vielä kaukana tästä. Mutta jos haluat oppia kirjoittamaan ohjelmia tai komentosarjoja helpottamaan arjen tehtäviä itsellesi tai tietokannalle , sinun on parempi tietää, että ne ovat "perintö" ja "kapselointi".

Mistä aloittaa?

Kaikki on yksinkertaista ja käden ulottuvilla. Käynnistä Script Editor ja siirry ensin ohjeeseen. Jos käytät venäläistä versiota, ei pitäisi olla vaikeuksia ollenkaan.

Kuka haluaa kirjan?

Jos vakiokäsikirja ei riitä tai se on kirjoitettu niin, että kaikki ei ole heti selvää sinulle, voit myös kääntyä kirjojen puoleen (sähköinen tai painettu - se on sinun). Kirjaan "AppleScript Language Guide" viitataan usein. Osoittautuu, että Script Editorin ohjeessa on linkki siihen.

On mahdotonta olla ottamatta huomioon muita resursseja, joita kehitysyhtiö itse tarjoaa meille. Aloittelijoille on olemassa kirja "AppleScript 1-2-3" tai voit ostaa sen samalla nimellä.

Isompi on parempi

Miksi et harkitse verkkoresursseja? Loppujen lopuksi täältä löydät uusimmat, ja he vastaavat lukijoiden arvosteluihin useammin ja nopeammin. Etsitään kirjallisuutta ymmärrettävällä kielellä.

Erilaisten katsausartikkelien lisäksi löydät Internetistä "". Sanoisin, että nämä ovat erityisesti niille, jotka ovat kiinnostuneita applescriptistä. Kirja on tarkoitettu aloittelijoille, se on kirjoitettu yksinkertaisesti, sivuja on vähän, mutta esimerkkejä on runsaasti. Juuri sitä mitä tarvitaan. Sieltä voit myös ladata kirjan nimeltä "".

Venäjän käsikirjat ovat hyviä, mutta ilman perustieto Englanti tulee olemaan lievästi sanottuna vaikea oppia kirjoituskielenä.

Artikkeleista kiinnittäisin huomiota tähän. Pidin siitä, että se esitti yksityiskohtaisesti joitakin itse skriptikielen perusperiaatteita, "lyhyt ja selkeä".

Älä unohda myös erilaisia ​​​​foorumeita, joissa käyttäjät vaihtavat mielipiteitä, kokemuksia ja valmiita skriptejä. Henkilökohtaisesti minulla on tämä kirjanmerkeissäni.

Ennen kuin aloitat materiaalin etsimisen ja lataamisen, suosittelen, että päätät tavoitteesi. Yleistä kehitystä varten voit tutustua joihinkin lähteisiin. Todella hyödyllisten skriptien kirjoittamiseen joudut viettämään useita päiviä/viikkoja/kuukausia (kykyistäsi ja vapaa-ajasta riippuen). Se on erittäin mielenkiintoinen ja koukuttava.

En voi tällä hetkellä arvioida henkilön mahdollisuuksia saada työtä Applescript-ohjelmoijana tai testaajana. Todennäköisesti ei kovin suuri. Mutta jos sinusta tuntuu, että se on sinun, mene eteenpäin. Jos näet tavoitteen etkä näe esteitä, ei ole väliä kuka sitä tarvitsee (ainakin sinä). Todellista lahjakkuutta arvostetaan aina. Ja sinulla on mahdollisuus tehdä työtä, jota rakastat.

AppleScript on tehokas ohjelmointikieli, joka juontaa juurensa Mac OS 7:stä. Kuitenkin sen kypsyydestä huolimatta kokeneet Mac-ohjelmoijat arvostelevat usein AppleScriptiä liian yksinkertaisesta, liian helppo oppia ja liian samankaltaisesta kuin tavallinen englanti.

Tietenkin haluat, että tietokonekielellä on juuri nämä ominaisuudet – jos tietysti haluat tietokonekieltä ollenkaan. AppleScript on yksinkertaisin kieli ohjelmointi, jolla voit automatisoida Macisi, vaikka olisit yksinkertainen käyttäjä etkä sertifioitu tietojenkäsittelytieteilijä.

AppleScript-ohjelmia (kutsutaan skripteiksi tai skripteiksi) voidaan pitää ohjelmistoroboteina. Yksinkertainen AppleScript voi tehdä joitain päivittäisiä tehtäviä, kuten luomista varmuuskopio Asiakirjakansiot. Monimutkaisempi kirjoitus voi kattaa useita sivuja. Ammattikustantamoissa, joissa AppleScript on suosituin, skripti voi muodostaa yhteyden Internetin kautta kovalevy valokuvaaja, hanki valokuva tietystä kansiosta, suorita värinkorjaus Photoshopissa, liitä tulos määritettyyn asetteluasiakirjaan, tulosta karkea taitto, lähetä sähköposti-ilmoitus editorille - ja kaikki tämä tapahtuu automaattisesti.

Tietämättään käyttäjä käyttää jatkuvasti taustalla olevaa AppleScript-tekniikkaa. Lukuisat Mac-komponentit kommunikoivat kulissien takana Apple-tapahtumien avulla, jotka ovat viestejä, jotka välittävät ohjeita tai tietoja ohjelmasta toiseen. Jos käytät Näytä alkuperäinen -komentoa aliaksessa tai Get Info -komentoa tiedostossa tai kansiossa, Apple-tapahtuma kertoo Finderille, kuinka vastata.

AppleScript on monin tavoin parempi kuin Automator, joista vähäisin on sen teho. Ja vielä yksi asia: AppleScript on niin syvä aihe, että se pitäisi omistaa erilliselle kirjalle. Tämä luku on vain maukas alkupala: AppleScript: The Essential Guide kaltainen kirja olisi seitsemän ruokalajin ateria.

Neuvoja Voit ladata koko luvun AppleScriptistä – joka ilmestyi tämän kirjan edellisessä painoksessa – Missing CD -sivulta osoitteessa www.missingmanuals.com.

Sinun ei tarvitse luoda AppleScriptiä nauttiaksesi tämän tekniikan eduista. Mac OS X sisältää kymmeniä valmiita skriptejä, jotka ovat todella hyödyllisiä, ja suorittaaksesi minkä tahansa niistä, valitse vain sen nimi valikosta. Tämä AppleScriptin "kopiointi" vaatii yhtä paljon teknisiä taitoja kuin painikkeen painaminen hississä.

Voit kokeilla joitain näistä hienoista aloitusskenaarioista lisäämällä skenaariovalikon valikkopalkkiin (Kuva 7.16, oikealla).

Skenaariovalikossa on 16 valmista luokkaa, jotka yhdistävät noin 100 skenaariota; Suorita komentosarja valitsemalla sen nimi. Tässä on luettelo hyödyllisimmistä ja mielenkiintoisimmista skenaarioista.

Neuvoja Jos painat Vaihto-näppäintä valitessasi skriptin nimeä valikosta, Mac OS X vie sinut suoraan Finderissa kyseisen skriptin sijaintiin (esimerkiksi Koti>Kirjasto>Skriptit-kansioon). Lisäksi, jos painat Optio-näppäintä valitessasi nimeä, skripti avautuu Script Editorissa, jossa voit tarkastella tai muokata sitä.

Tämä alivalikko sisältää vain Import Addresses -komentosarjan, joka on suunniteltu kopioimaan nimiä ja osoitteita Entouragesta Address Book -ohjelmaan, Outlook Express, Palm Desktop, Eudora, Claris Emailer tai Netscape. Jos sinulla on paljon ystäviä, käytä tätä komentosarjaa, jotta sinun ei tarvitse kirjoittaa uudelleen kaikkia heidän nimiään, puhelinnumeroitaan ja postiosoitteitaan. (Lisänä oleva Address Importers -alikansio tarjoaa komentosarjoja tuontia varten kolmesta erityisohjelmasta.)

Perusteet-alivalikko sisältää kolme kätevää pientä AppleScriptiin liittyvää komentosarjaa: AppleScript Help (avaa Help Viewerin ja etsii sanaa AppleScript); AppleScript-verkkosivusto (avaa AppleScript-verkkosivun verkkoselaimessa); Avaa Script Editor (avaa Script Editor -ohjelman, joka on suunniteltu AppleScript-skriptien lukemiseen ja muokkaamiseen).

Tämä kansio sisältää ryhmän ColorSync-pisarakomentotiedostoja (jotka suoritetaan, kun vedät jotain sen kuvakkeelle), jotka kiinnostavat taiteilijoita, verkkosivustojen suunnittelijoita, julkaisijoita ja muita vastaavia.

Joissakin tapauksissa, kun valitset skriptin tästä valikosta, näet oikosulun Ilmoitus ja valitse sitten Avaa-valintaikkuna graafinen tiedosto käsiteltäväksi.

Toiset toimivat välittömästi; esimerkiksi Mimic PC -näytön komentosarja säätää näytön värejä vastaamaan tarkasti Windows-tietokoneen näytön hieman erilaisia ​​sävyjä. Tämä on erittäin kätevää, jos työskentelet

KOKEEN KÄYTTÄJÄN KURSSIT
Käsikirjoitusvalikon salaisuudet
Skriptivalikko näyttää kahden sisällön erilaisia ​​kansioita Skriptit: Yksi on Koti>Kirjasto>Skriptit ja toinen on pääkirjaston kansiossa. Henkilökohtaisesta kansiostasi otetut skriptit on erotettu katkoviivalla komentosarjavalikossa.

Näitä skriptejä ei voi vain ajaa. Ne sopivat myös ihanteellisesti niiden avaamiseen Script Editorissa (kaksoisnapsauttamalla) ja analysoimaan rivi riviltä, ​​miten ne toimivat. Kun ymmärrät syntaksin, voit kopioida koodinpätkät ja käyttää niitä skripteissäsi vaihtamisen jälkeen. (Skriptieditori on Ohjelmat > AppleScript-kansiosta löytyvä ohjelma, jonka avulla voit luoda omia komentosarjoja.)

Valokuva tai verkkosivu ja haluat tietää, miltä se näyttää valaistumattomille massoille. (Jos haluat palauttaa alkuperäiset värit, siirry System Preferences -ikkunan Display-kaukosäätimen Väri-välilehteen.)

Kaikki nämä skenaariot liittyvät Finderissa työskentelemiseen - esimerkiksi tiedostojen ja ikkunoiden käsittelyyn. Tässä niistä hyödyllisimmät:

Lisää tiedostonimiin, Lisää kansioiden nimiin. Nämä komentosarjat liittävät etuliitteen tai jälkiliitteen jokaisen tiedoston tai kansion nimeen etu- (aktiivisessa) Finder-ikkunassa (tai jos ikkunoita ei ole auki, työpöydällä). Näitä komentosarjoja käyttämällä voit lisätä sanan "luonnos" tai "lopullinen" tai "vanha" kaikkien kansion tiedostojen nimiin.

Korvaa teksti kohteiden nimissä -toiminnolla voit suorittaa korvaavan haun tiedostojen, kansioiden tai molempien nimissä. Jos joku julkaisija hylkää 45 luvun kirjaehdotuksesi, voit käyttää tätä skriptiä kaikkien 45 luvun nimeämiseen uudelleen: Oletetaan, että "Hiirimattojen historia – ehdotus Random Housen luvulle 1" tulee "Hiirimattojen historia - ehdotus Simonille". " & Schuster, luku 1."

Leikkaa tiedostojen nimet, leikkaa kansioiden nimet. Jos teit virheen, kun suoritit Lisää tiedostonimiin -komentosarjan, voit aina korjata sen Trim File Names -toiminnolla. Tämä komentosarja poistaa käyttäjän valitsemat tiedostopäätteet, jälkiliitteet tai etuliitteet.

Oletetaan, että olet juuri luonut useita uusia kansioita kerralla. Mac OS X nimeää nämä kansiot "nimettömäksi kansioksi", "nimettömäksi kansioksi 2" jne. Mutta entä jos pidät paremmin nimistä "kansio 1", "kansio 2" jne.? Suorita Trim Folder Names -komentosarja; Kirjoita valintaikkunaan untitled ja napsauta OK.

On epätodennäköistä, että käytät aktiivisesti Folder Actions -skriptejä, koska täsmälleen sama pääsy kansioiden toimintoihin tarjoaa Control-klikkaamalla kansiota (tai sen ikkunan sisällä).

Nämä komentosarjat osoittavat, kuinka voit automatisoida joitain kirjasimiin liittyviä tehtäviä.

FontSync on Applen jalo yritys ratkaista vanha tietokonejulkaisuongelma. Olet luonut kauniin uutiskirjeen ja viet sen paikalliseen painotaloasi tulostamaan sen korkealaatuisilla laitteilla, mutta huomaat, että sinun täytyy heittää tulosteet pois ja aloittaa alusta – vain saadaksesi selville, että fontit eivät toimi. ei näytä siltä miltä halusit.. Kirjapainossa ei ollut täsmälleen samoja fontteja, joita käytit asiakirjan valmistelussa. Tai mikä vielä pahempaa, kirjasimilla oli täsmälleen samat nimet, mutta ne ovat eri yrityksen luomia, ja siksi ne erosivat hieman sinun kirjasimistasi tietyissä parametreissa.

FontSyncin ideana on ilmoittaa käyttäjälle etukäteen mahdollisista epäjohdonmukaisuuksista. Create FontSync Profile -skripti luo FontSync-profiilitiedoston muutamassa minuutissa. Tämä asiakirja sisältää hämmästyttävän määrän tietoa kaikkien järjestelmään asennettujen fonttien suunnittelusta, kulusta ja kukoistamisesta. Painotalossa tällainen asiakirja voidaan käsitellä käyttämällä ylimääräistä Match FontSync Profile -skriptiä. Se tunnistaa huolellisesti erot käyttäjän Macin ja painokoneiden fonttien välillä.

Tietenkin tämä tekniikka olettaa implisiittisesti liikaa: että painotalossa on Macintosh-tietokoneita asennettuna, että ne pystyvät käsittelemään FontSynciä ja myös sitä, että käyttäjä ei unohda ensin luoda ja siirtää FontSync-profiilia kirjapainoon.

IChat on läpikäynyt merkittävän uudistuksen 10.5:ssä - Apple on lisännyt paljon mielenkiintoisia (joskin joskus hyödyttömiä) ominaisuuksia. On myös tullut mahdolliseksi suorittaa AppleScripts signaaleina, kun yhteystietoihisi liittyvä tapahtuma tapahtuu. Voit esimerkiksi automaattisesti hyväksyä chat-kutsuja yksittäisiä kontakteja tai jopa vastata niihin valmiilla tervehdyksellä. Voit jopa ohjata musiikin toistoa yhdellä Macilla kirjoittamalla komentoja toisen kodin Macin iChat-ikkunaan. Yksityiskohdat luvussa 21.

Näiden kahden skenaarion hyöty on pieni. Nykyinen päivämäärä ja aika näyttää nykyisen päivämäärän ja kellonajan valintaikkunassa, jossa on leikepöytäpainike tietojen kopioimista varten, valmiina liittämistä varten. Font Sampler näyttää sivun, jossa luetellaan fontit (niiden nimet on kirjoitettu komentosarjaan), jotka on asennettu Mac OS X:n kanssa. (Komentosarjasta on tullut vähemmän hyödyllinen, koska Font Book on lisännyt samanlaisia ​​sisäänrakennettuja tulostuskomentoja.)

Tämän valikon kaksi skenaariota ansaitsevat erityismaininnan. Nykyinen lämpötila postinumeron mukaan näyttää, mikä lämpötila ikkunan ulkopuolella on Fahrenheit- ja Celsius-asteina. Tämä on toinen syy olla poistumatta kotoa koko päivän.

Osakekurssi saa valitun yrityksen osakekurssit 20 minuutin viiveellä. Ei niin hienoa kuin reaaliaikaisten tarjousten saaminen, mutta se on ilmainen.

Useimmat tämän alivalikon komentosarjat ratkaisevat tietyn ongelman, kuten sähköpostien kirjainten laskemisen. postilaatikoita tai perustaa uusi tili. Hauskin kaikista on tietysti Hullun viestitekstin skenaario (kuva 7.17).

Tämän kansion skriptien avulla voit siirtyä erityisiin Finder-kansioihin – suoraan valikosta mistä tahansa ohjelmasta. Jos avattavalle kansiolle ei ole määritetty omaa komentosarjaa, valitse se Avaa erikoiskansio -komentosarjan luettelosta.

Neuvoja Niille, jotka eivät välitä tämän skriptin muokkaamisesta Script Editorilla, voit muokata sitä niin, että voit valita ja avata useamman kansion kerrallaan (esim. -klikkaamalla). Sinun tarvitsee vain kirjoittaa teksti useat valinnat sallittu tosi välittömästi sanojen Valitse avattava kansio: (rivin lopussa, joka sijaitsee suunnilleen skriptin toisen kolmanneksen alussa) jälkeen. Älä unohda tallentaa tekemäsi muutokset.

Nämä skriptit on suunniteltu osoittamaan AppleScriptin teho PostScript- ja PDF-dokumenttien tulostamiseen ja luomiseen.

Yksi niistä, Print Window, täyttää pitkään jatkuneen aukon Mac OS X:ssä. Sen pitäisi tulostaa tekstiluettelo minkä tahansa valitun kansion sisältö. (Se on kuitenkin hieman buginen.)

Tietoja näistä skripteistä -tiimin mukaan nämä 48 valmiiksi rakennettua skriptiä auttavat sinua kirjoittamaan nopeampia ja tarkempia skriptejä, koska koodinpätkät ovat kirjoitusvirheitä ja syntaksivirheet. Kun parannat, voit lisätä tähän omia skriptejäsi, ja koodinpätkiä on räätälöity tavallisesti kirjoittamiesi skriptien mukaan, mikä tekee työstäsi entistä tehokkaampaa. (Kun luot skriptin Script Editorissa, lisäät nämä koodinpätkät tekstiin käyttämällä Ctrl-napsauta ja valikkovalintaa nopea pääsy.)

Suurimmaksi osaksi käsikirjoitukset tekevät työnsä hiljaa ja huomaamatta. Mutta jos haluat automatisoida ohjelman, joka ei ymmärrä tavallisia AppleScript-komentoja, komentosarjat voivat "ohjata" sitä manuaalisesti simuloimalla valikon valintoja, painikkeiden painalluksia ja niin edelleen.

Huomautus Tämä ominaisuus, jota kutsutaan käyttöliittymän (UI) komentosarjaksi, tulee voimaan vasta, kun avaat Universal Access -konsolin Järjestelmäasetuksissa ja valitset Salli apulaitteiden käyttö -valintaruudun. apulaitteet).

Ei ole mitään järkeä ajaa komentosarjoja UI Element Scripts -alivalikosta sellaisenaan: ne ovat vain esimerkkejä oikean syntaksin osoittamiseksi.

Tämä uusin komentosarjasarja tarjoaa nopean pääsyn joihinkin suosittuihin verkkosivustoihin. Poikkeuksena on Download Weather Map -skripti, joka lataa nykyisen Yhdysvaltojen mantereen sääkartan, tallentaa sen työpöydälle nimellä weathermap.jpg ja avaa sen sitten esikatselussa.

Neuvoja Voit lisätä komentosarjoja, tiedostoja ja jopa Internet-osoitteita valikkoon ja käynnistää ne sitten helposti valikkoriviltä. Kaikki mitä vedät Kirjasto>Skriptit-kansioon, näkyy automaattisesti komentosarjavalikossa.

Toisaalta, jos aloitat lisäämään paljon omia kohteita Script-valikkoon, on helpompi poistaa Apple-näytteet sieltä. Ei ongelmaa. Avaa AppleScript Utility ja poista valinta kohdasta Näytä tietokoneen komentosarjat.

Työskentely valmiiden AppleScript-skriptien kanssa

Kun käytät komentosarjavalikkoa, huomaat pian, että Macissasi on kymmeniä ilmaisia ​​sisäänrakennettuja skriptejä. Hienoa on, että voit selvittää, kuinka ne toimivat, ja jopa muuttaa niitä, kun opit vähitellen kirjoittamaan omia AppleScriptejäsi. Voit jopa kopioida ja käyttää kokonaisia ​​Apple-skriptien osia omissa skripteissäsi.

Ensin sinun on tietysti avattava skripti. Helpoin tapa tehdä tämä on avata komentosarjavalikko, valita haluamasi luokka ja painaa Optio-klikkaa halutun skriptin nimeä.

Voit aloittaa AppleScriptin oppimisen katsomalla yksinkertaista käsikirjoitusta. Avaa esimerkiksi Uusi sovellusikkuna -komentosarja (Navigointiskriptit -luokassa) napsauttamalla sen nimeä Optio-näppäimellä. Tämän seurauksena Script Editor avaa tiedoston uuteen ikkunaan (kuva 7.18).

Tämä skripti toimii seuraavasti:

Kerro sovellukselle "Finder" kertoo Mac OS X:lle, minkä ohjelman tulee suorittaa seuraavat komennot.

Aktivointi tuo Finderin etualalle – aivan kuin olisit napsauttanut sen kuvaketta Dockissa.

Avaa käynnistyslevyn kansio "Sovellukset" käskee Finderia avaamaan uuden ikkunan, jossa näkyy pääkiintolevyn Sovellukset-kansio.

End tell käskee Finderia jatkamaan liiketoimintaansa ja jättämään huomioimatta kaikki muut komentosarjasi komennot.

Testaaksesi komentosarjan, napsauta Suorita-painiketta tai paina -R.

Neuvoja Voit muokata tätä skriptiä vastaamaan paremmin tarpeitasi. Kokeile esimerkiksi korvata "Sovellukset" sanalla "Käyttäjät", jotta komentosarja avaa Käyttäjät-kansion.

Omien AppleScriptien luominen

Mac OS X:n mukana tulee kymmeniä ohjelmia – niin monia! Okei, jotain puuttuu - esimerkiksi metronomi. Kuinka aiot soittaa pianoa tasaisessa rytmissä kuulematta Macin rytmistä napsautusta? Tietenkin, hyppysellinen, GarageBand-metronomi auttaa, mutta tämä on varpusten ampumista tykistä.

Voit käyttää sen sijaan AppleScriptiä. Avata uusi asiakirja komentosarjaeditorissa (Tiedosto>Uusi tai -N) ja kirjoita seuraava:

näyttöikkuna "Tervetuloa AppleScript Metronomiin"

aseta bpm palautetuksi tekstiksi (näyttöikkuna ¬

"Kuinka monta lyöntiä minuutissa?" oletusvastaus 60)

aseta pauseBetweenBeeps arvoon (60/bpm)

viive taukoBetweenBeeps

Huomautus¬-symbolia ei tarvitse tulostaa. Joten ohjelmoijat sanovat: "Tämän pitäisi olla yhdellä rivillä, mutta sivun leveys ei riitä."

Kun suoritat tämän skriptin, näyttöön tulee valintaikkuna, jossa kysytään, kuinka monta lyöntiä minuutissa haluat metronomin laskevan. Syöttämäsi numero (esimerkiksi 120) tallennetaan skriptin väliaikaiseen tallennusmuuttujaan nimeltä bpm.

Skripti laskee sitten piippausten välisen tauon määrän ja kirjaa tämän sekunnin murto-osan pauseBetweenBeeps-muuttujaan. Jos käskiisit skriptin piippaamaan esimerkiksi 120 kertaa minuutissa, pauseBetweenBeeps kirjoitetaan arvoon 0,5, koska piippausten välillä pitäisi olla puolen sekunnin tauko.

Lopuksi skripti luo äärettömän silmukan: signaali, tauko tietyn pituiseksi ja toista sitten.

Napsauta Suorita-painiketta testataksesi skriptiäsi, ja kun olet kuullut tarpeeksi ääniä, napsauta Stop-painiketta.

Lempitekniikkani
Työpöytäliitteet yhdellä napsautuksella
Tässä on pieni temppu Automatorin kanssa, joka voi olla hengenpelastaja jokaiselle, joka tarvitsee usein lähettää asiakirjoja sähkopostilla. (Se mallintaa erittäin kätevää Lähetä-komentoa, joka löytyy Windows-koneiden pikavalikosta.)

Luo prosessi Automatorissa vain kahdella vaiheella: Hanki valitut Finder-kohteet (Finder-luokassa) ja Uusi sähköpostiviesti (Posti-luokassa).

Jos lähetät tiedostoja aina samalle vastaanottajalle – esimerkiksi pomollesi – voit jopa asettaa osoitteen valmiiksi Automatorin prosessipaneelissa. Jos viestin aihe ja teksti toistuvat joka kerta, voit myös asettaa ne etukäteen.

Valitse nyt Tiedosto> Tallenna laajennuksena. Nimeä prosessi Lähetä tämä tai mitä tahansa haluat.

Tästä eteenpäin voit lähettää asiakirjan Finderista painamalla sitä Control-klikkaamalla sitä ja valitsemalla avautuvasta valikosta Automator>Lähetä tämä.

Voitto! Mac OS X käynnistää Mail-sovelluksen ja luo lähtevän viestin, johon on liitetty tiedosto.

Ilmainen vinkki: jos lisäät toisen Luo arkisto -toiminnon (Finder-luokasta) näiden kahden toiminnon väliin, valikkokomento pakkaa myös tiedoston (tai kansion) .zip-tiedostoksi ennen sen lähettämistä postitse!

Neuvoja Se on vielä viileämpi, jos laitat sen sisään Järjestelmäasetukset Järjestelmäasetukset>Yleinen käyttö>Kuulo>Välittää näyttöä, kun kuuluu hälytysääni. Nyt, kun komentosarjasi suoritetaan, näyttö vilkkuu äänen mukana. Jos tallennat musiikkia, mykistä Mac: sinulla on visuaalinen metronomi, mutta ei äänisignaalia.

AppleScriptin ja Automatorin vertailu

AppleScriptillä on satoja käyttötapoja - automatisoida prosesseja, jotka ovat liian monimutkaisia ​​Automatorille, ohjata ohjelmia, joita Automator ei näe, ja ohjelmoida asioita, kuten komentosilmukka, jota Automator ei voi tehdä.

Jos katsot AppleScriptiä vain Automatorin korvaajana, menetät paljon tehoa. Itse asiassa AppleScript tarjoaa ominaisuuksia, joita Automatorilla ei todennäköisesti ole 10 vuoden kuluttua: se on paljon edistyneempi työkalu.

Automaatti sopii yksinkertaisiin tehtäviin. Jos tarvitset AppleScriptin automatisoidaksesi Macisi, älä vaivu. Otat käyttöön todella tehokkaan työkalun. (Voit jopa yhdistää ne ja upottaa AppleScriptit Automator-prosesseihin Suorita AppleScript -toiminnolla.)

Onnea automaatioon!

  • AppleScript Apple, . AppleScript AppleScript. , -.

    AppleScript.

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

    1 . . . . . . . . . 7

    2 . . . . . . 10

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

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

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

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

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

    8 (II). . . . . . . kolmekymmentä

    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. , GraphicConverter, BBEdit, Microsoft Word AppleScript(). , AppleScript. , . . , AppleScript, AppleScript. , - AppleScript.

    . (. 15). - AppleScript. , .

    AppleScript, AppleScript:

    , ; AppleScript, .., AppleScript; (Mac-käyttöjärjestelmän kymmenes versio)

    AppleScript; AppleScript ; AppleScript (Mac OS X).

    AppleScript. , Java, . AppleScript, 10-, -. .

    5 AppleScript, . - AppleScript Studio, (kehittäjätyökalut XCode).

    JavaScript, .

    () . , . , . , .

    . , : . - . , . : .

    AppleScript, . . Käsikirjoituseditori (.2), ​​.

    Tekijänoikeus (c) 2003, Bert Altenburg

    : Bert Altenburg, - .

    1. . , -. , AppleScript. AppleScript.

    2. , PC, . -, -. CPU-näyttö (apuohjelmat, sovellukset), - . (Distributed Computing 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

    AppleScript Mac OS. , -. , .

    , -. , (lausunto), . , .

    AppleScript, . , 1.

    AppleScript:

    sano "Tämä on puhuttu lause."

    Fred, Trinoidit, Sellot, Zarvox, Victoria.

    sano "Tämä on puhuttu lause." käyttämällä "Zarvoxia"

    : AppleScript. , . , Victoria Zarvox.

    AppleScript. -, -. : . AppleScript - , . AppleScript, . (käsikirjoitettava). , AppleScript (Mac OS X), .

    Finder. Finder. , . Finder , - , . -, Roskakori, Finder.

    8, AppleScript.

    Adobe PhotoShop. PhotoShop. , Finder.

    AppleScript, .

    Tell, AppleScript (Mac OS X), Finder. AppleScript (Mac OS X) , - end tell . AppleScript Finder Finder, . , :

    kerro sovellukselle "xyz"

    (kerrotuslohko). xyz xyz. , AppleScript , - , . , . (, ("). : , AppleScript . . .)

    Finder. , Finder. Finder, Finder.

    kerro sovellus "Finder" tyhjennä roskakori avaa käynnistyslevy lopeta kerro

    Finder. Finder, - , . .

    Finder, AppleScript (Mac OS X).

    9tell-sovellus "Finder" tyhjennä roskakori avaa käynnistyslevyn loppu tellbeep

    Finder. piippaa AppleScript. , .

    Piippaus (AppleScript (Mac OS X)) .

    kerro sovellus "Finder" tyhjennä roskakori piippaa avaa käynnistyslevy loppu kerro

    Finderin äänimerkki, AppleScript (Mac OS X). , . , -, Finder, piippaus, Finder.

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

    kerro sovellukselle "Finder" tyhjennä roskakori piippaus lopeta Tellavaa käynnistyslevy

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

    kerro sovellukselle "Finder" tyhjennä roskakori kerro avaa käynnistyslevyke sano "tyhjensin roskakorin ja avasin käynnistyslevyn sinulle" käyttämällä "Victoria"

    AppleScript (Mac OS X), Finder. , .

    Käsikirjoituseditori, . Skriptieditori AppleScript, sovellukset. , . .

    Koota. , AppleScript , AppleScript . Hei Finder! Kaada roskat pois (Finder!!!) Hei Finder! Puhdista roskakori (Finder,) Finder. (kokoelma) AppleScript (Mac OS X): - . , . , -. Skriptieditori.

    AppleScript (Mac OS X).

    sano "Opin AppleScriptin helpolla tavalla!" käyttämällä "Zarvoxia"

    Juosta, . Käsikirjoituseditori, !

    Tulla sisään. Enter - Välilyönti () (). Paluu (Vaihto) -. Paluu.

    Koota. - Juosta, .

    Juokse, komento-R. :,-

    , (käännetty kirjoitus) (sovellus).

    : , - AppleScript,

    Script Editor Run.

    : , AppleScript ,

    Skriptieditori. , - , (Järjestelmäasetukset). , . - , Script Editor, Avaa tiedosto.

    : Tallenna, - (vain käynnissä). , -.

    kerro sovellus "Finder" tyhjennä roskakori lopuksi kerro

    Skriptieditori.

    Sovellus,:

    Script Editor -sovellus. , xyz. - (-), pqr. - , AppleScript. , AppleScript pqr , kerro .

    Käsikirjoituseditori, -. , ohjaus. :

    1) Ohjauskomentosarjaeditori. (.), Tell Blocks. , Kerro "Finder".

    2) Finder tyhjennä roskakori , (), 1. . - .

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

    2 + 6 = xy = 3 * 4

    AppleScript. (muuttujat) , . - (tunnisteet), . - AppleScript, sarja.

    aseta x arvoon 25 aseta y arvoon 4321.234

    AppleScript, . : (- , (vikoja)). , x. , kuvanleveys .

    aseta kuvan leveydeksi 8

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

    AppleScript - . , aseta, sano, piippaa , - AppleScript. , kuvanleveys, . -,.

    AppleScript, . , .

    aseta kuvanleveys arvoon 8 aseta kuvan korkeus 6:ksi aseta kuvaPinta-ala kuvanleveyteen * kuvan korkeus

    , (operaattorit), - .

    aseta cubeEdgeLength arvoon 10.0 aseta cubeVolume arvoksi cubeEdgeLength ^ 3

    Käsikirjoituseditori, . , . (Tulos) , 10.0. , 1000,0. , kuutioEdgeLength ^ 3 , .

    : . - . (kokonaisluvut) , - , (. 13)

Tästä artikkelista opit, mikä AppleScript on, miksi ja kuka sitä tarvitsee, kuinka voit automatisoida muiden ihmisten sovelluksia ja lisätä automaatioominaisuuksia omaisi.

Automatisoi se

Usein tulee ongelmia, joihin ei ole järkevää luoda erillinen projekti käännetyllä kielellä. Esimerkiksi, kun sinun täytyy nopeasti koota polvillesi koodi, jonka pitäisi vain tehdä tietty työ - ilman GUI-koristeita, kaikenlaisten poikkeustilanteiden käsittelyä, optimointia ja niin edelleen. Tässä skriptikielet tulevat apuun - shell, Perl, PHP ja niin edelleen. Ne kaikki (tai melkein kaikki) ovat saatavilla Mac OS X:ssä. Mutta tässä käyttöjärjestelmässä on yleisesti hyväksyttyjen skriptikielten lisäksi myös erityinen komentosarjakieli, joka on suunnattu nimenomaan Mac OS X:lle ja liittyy läheisesti se. Tämä on AppleScript.

AppleScript on ollut mukana järjestelmässä System 7:stä lähtien. HyperCard-projektista (joka sisälsi HyperTalk-skriptikielen, joka on hyvin samanlainen kuin luonnollinen englanti) kasvanut AppleScript luotiin alun perin mahdollistamaan tiedonvaihto tehtävien välillä sekä ohjaamaan tehdä työtä kolmannen osapuolen sovelluksia. AppleScript itsessään on melko vaatimaton toiminnallisuus: tällä kielellä jopa suhteellisen yksinkertaisten tehtävien suorittamiseen tarkoitetut skriptit näyttävät usein kutsuilta muihin sovelluksiin. Kuitenkin Mac OS X -linjaan siirtymisen aikana suoritetun merkittävän järjestelmäuudistuksen jälkeen AppleScript-kielestä tuli joustavampi ja tehokkaampi, ja uusi Cocoa-kehys antoi kehittäjille mahdollisuuden rakentaa automaatiovalmiuksia sovelluksiinsa AppleScriptillä vähällä vaivalla.

Yksinkertainen käsikirjoitus

Skriptien muokkaamiseen ja suorittamiseen käytämme tavallista komentosarjaeditoria. Löydät sen /Application/AppleScript-kansiosta. Ensin kirjoitetaan yksinkertainen "HelloWorld"-skripti.

näytä varoitus "Hei maailma!" # Näytä dialogi
sano "Hello World" # Tulosta sarakkeisiin

Mielestäni tässä ei tarvitse selittää mitään, mutta haluaisin huomauttaa, että puhesyntetisaattori on erittäin helppo päästä AppleScriptistä sanomiskomennolla. Tämä on todellista viestintää käyttäjän kanssa Apple-tyyliin :). Tietenkin tämä dialogi voidaan helposti mukauttaa. Lisää esimerkiksi tarvittavat painikkeet:

Paneeli lisäpainikkeilla

näytä varoitus "Hei maailma!" painikkeet ("Hei", "Hei")
aseta vastaus tuloksen palauttamaan painikkeeseen
jos vastaus on "Hei" niin
...
muu
...
loppu Jos

Kirjoitetaan nyt jotain hyödyllisempää. Annetaan esimerkiksi käyttäjän valita tiedosto ja lukea sen sisältö:

# Tiedoston valintapaneeli
aseta tiedostoksi (valitse tiedosto, jonka tyyppi on ("TEKSTI") "Valitse luettava tiedosto:")
avaa tiedostoon pääsyä varten

Sisällön lukeminen

aseta fileContents arvoon (lue tiedosto)
sulje pääsy tiedostoon

Nämä esimerkit osoittavat selvästi AppleScriptin pääidean - se on hyvin lähellä todellista elämää Englannin kieli. Siksi skriptien lukeminen on helppoa jopa koodaamisesta kaukana olevalle henkilölle. Jokaista verbikomentoa voidaan täydentää muokkaussubstantiivien ja parametrien kanssa.

Vuorovaikutus sovellusten kanssa

AppleScript käyttää viestimekanismia viestiäkseen muiden sovellusten kanssa:

kerro sovellukselle "Microsoft Word"
lopettaa
loppu kertoa

Tell-komennolla valitsemme sovelluksen, johon lähetämme viestin. Tässä tapauksessa pyydämme MS Wordia poistumaan. "Tell - end tell" -lohkossa voidaan lähettää mikä tahansa määrä komentoja. Sovellukseen lähetettävät viestit voivat olla tarkempia. Kaikki riippuu siitä, mitä komentoja sen kehittäjät ottavat käyttöön. iTunes esimerkiksi vie melkoisen määrän komentoja ja ominaisuuksia AppleScript-ympäristöön:

Käynnistä haluamasi soittolista iTunesissa

kerro sovellukselle "iTunes"
toista soittolista nimeltä "My Favorite"
loppu kertoa

Voit selvittää sovelluksen AppleScript-ympäristöön viemät viestit ja tietotyypit tarkastelemalla sen terminologiaa (sovellusresurssien AppName.scriptRerminology-tiedosto). Voit tehdä tämän siirtymällä komentosarjaeditorissa "Tiedosto - Avaa sanakirja - ..." -valikkoon ja valitsemalla haluamasi sovellus.

Jotta voit helpommin työskennellä sovelluksen viemien luokkien ja komentojen kanssa, ne on järjestetty osiin. Kaikissa sovelluksissa, jotka tukevat komentosarjaa, on vähintään kaksi osiota: yksi vakio- ja yksi erityisosaamista Tämä hakemus osiot. Vakioosa sisältää joukon vakiokomentoja, joita kaikki Mac-sovellukset tukevat: avaa, tulosta, sulje ja lopeta. Muiden osien sisältö riippuu kehittäjien mielikuvituksesta.

AppleScriptin suorittaminen sovelluksestasi

Jos kirjoitat hakemusta Objective-C/Cocoassa, on mahdollista, että joitain asioita on helpompi tehdä AppleScriptillä. Komentosarjojen luomiseen ja suorittamiseen Cocoa-sovelluksissa on NSAppleScript-luokka. Tässä on yksinkertainen esimerkki sen käytöstä - käyttäjän tilarivin saaminen iChat-sovelluksesta.

NSAppleScript *iChatGetStatusScript = nolla;
iChatGetStatusScript = [ initWithSource: @"kerro sovellukselle "iChat" saadaksesi tilaviestin"];
NSString *statusString = [merkkijonoArvo];

On mahdollista, että sama asia voitaisiin tehdä toisella tavalla ilman ajonaikaisesti luotua komentosarjaa, mutta on epätodennäköistä, että vaihtoehtoinen koodi näyttäisi tätä yksinkertaisemmalta. Jos komentosarjat ovat suuria, voit tallentaa ne nippuresursseihin ja lukea ne tarvittaessa.

Automaatio Cocoa-sovelluksessa

On erittäin hyödyllistä lisätä komentosarjatukea Cocoa-sovelluksiin, koska jos sovelluksessasi on käyttöliittymä AppleScriptiin, käyttäjä voi muokata sitä omien tarpeidensa mukaan kirjoittamalla muutaman rivin AppleScriptiin ja integroida sen muihin sovelluksiin. jonka hän on asentanut, ja sitten esimerkiksi automatisoida rutiinitehtävien ratkaisun. Jotta voit viedä tyyppejä ja komentoja AppleScript-ympäristöön, sinun on kuvattava ne erityisissä tiedostoissa. Tämä on mahdollista tehdä .scriptSuite- ja .scriptTerminology-tiedostoissa tai yhdessä tiedostossa, jonka tunniste on .sdef. Molemmissa tapauksissa tiedostot ovat XML-muodossa, mutta sdef on helpompi käsitellä.

ScriptTermonology-tiedoston sisältö näkyy Script Editorissa, kun tarkastellaan sovellussanakirjaa. Tämä tiedosto sisältää kuvauksen AppleScriptiin vietyistä objekteista.

Kun avaat scriptSuite-tiedoston Plist-editorissa, näet, että se sisältää seuraavat pääosat:

  • AppleEventCode - nelikirjaiminen koodi, joka tunnistaa AppleScript-ympäristön sovelluksen (koodin on oltava ainutlaatuinen samassa järjestelmässä);
  • Nimi - viedyt komennot ja luokat sisältävän osan nimi.

Pura sisäinen organisaatio näissä tiedostoissa ei ole paljon järkeä, koska joudut todennäköisesti käsittelemään vain sdef-tiedostoja.

Esimerkki sdef-tiedostosta
















Sdef:ssä komentosarjaterminologiaa sekoitetaan Yksityiskohtainen kuvaus komentoja ja tyyppejä, jotka löytyvät .scriptingSuit-tiedostoista. Toteutetaan tämä käytäntöön luomalla Cocoa-sovellus, joka tukee AppleScriptingiä. Voit tehdä tämän lisäämällä uudessa Cocoa-projektissa Scripting- ja OSAScriptingDefinition-liput sdef-tiedostomme nimellä Info.plist-tiedostoon:

...
NSApleScriptEnabled

OSAScriptingDefinition
Scripting.sdef

Lisätään seuraava Scripting.sdef-tiedosto projektiin:












Joten AppleScriptistä meillä on käytettävissä yksi ominaisuus - myprop. Jäljelle jää vain kirjoittaa ObjC-koodi, joka käsittelee tämän ominaisuuden lukemisen skripteistä. Tätä varten meidän on luotava NSApplication-luokka, koska tämä on luokka, jonka valitsimme komentosarjojen viestien vastaanottajaksi.

#tuonti
@rajapinta NSApplication (komentosarja) - (NSString *) myprop;
@loppu
@toteutus NSApplication (Scripting) - (NSString *) myprop
{
return @"Tämä on omaisuuteni";
}

Jos nyt käännymme AppleScriptin sovelluksemme ominaisuuksiin, näemme omaisuutemme ja sen arvon niiden joukossa:

kerro sovellukselle "komentosarja"
ominaisuuksia
loppu kertoa

Johtopäätös

Tietenkin on mahdotonta kuvata tässä kaikkia AppleScriptin ominaisuuksia ja sen vuorovaikutusta Cocoa-sovellusten kanssa. Kyllä, tämä ei ole välttämätöntä - tätä varten on käsikirjat. Ja me omalta osaltamme jatkamme artikkelisarjaa Apple-alustojen koodauksesta ja kerromme sinulle paljon muuta uutta ja mielenkiintoista.

Avaa, rajaa, muunna toiseen värimalliin, tallenna. Avaa, rajaa, muunna toiseen värimalliin, tallenna. Avaa Tai muuten: Valitse, siirrä puskuriin, vaihda toiseen sovellukseen, kopioi puskurista. Valitse, siirrä puskuriin, vaihda

Ei kuulosta luovalta toiminnalta, vai mitä? Mutta melkein jokaisen tietokoneen kanssa tekemisissä olevan on suoritettava kymmeniä ja satoja toistuvia, olennaisesti identtisiä toimintoja päivässä. Ja kolmen viikon työskentelyn jälkeen eräänlaisena "älykkäänä muuntajana" se ei ole enää kuin opettamista uusi versio"Photoshop" tai master InDesign - et halua edes mennä lähelle tietokonetta. Sanalla sanoen - tarvitset avustajan. Joka ottaa vastuulleen kaikki (tai ainakin useimmat) tylsät ja rutiininomaiset, mutta tietysti välttämättömät toistuvat toimet.

AppleScript - millainen peto se on?

Ja meillä on sellainen avustaja. Tämä on erityinen kieli skriptien (tai halutessasi skriptien) kirjoittamiseen nimeltä AppleScript. Tämä kieli ilmestyi ensimmäisen kerran Mac OS 7.5:ssä (silloin vielä Macintosh-järjestelmässä), ja se oli niin hyvin toteutettu ja sillä oli myös niin laajat ominaisuudet, että käyttöjärjestelmän kymmenennen version julkaisuun mennessä se saavutti vasta version 1.8. Mutta kummallista kyllä, AppleScript-teknologia ei ole yleistynyt Mac-käyttäjien keskuudessa valtavista mahdollisuuksistaan ​​ja yli kymmenen vuoden historiastaan ​​huolimatta. Johtuuko tämä sen monimutkaisuutta koskevista myyteistä, yksinomaan Mac-tietokoneidensa "kuvake-hiiri" -hallintaan tottuneiden käyttäjien hitaudesta vai jostain muusta, en voi arvioida, mutta tosiasia on tosiasia: sadat tietävät olemassaolosta AppleScript, mutta käytä sitä vain yksiköitä. Siksi mielestäni ei olisi tarpeetonta pohtia tämän tekniikan perusperiaatteita.
AppleScript perustuu Macintosh Apple Eventsiin, järjestelmätapahtumien käsittelypalveluun, joka mahdollistaa ohjauskomentojen, tietojen ja pyyntöjen vaihdon sovellusten välillä. käyttöjärjestelmä, verkkopalvelut ja jopa erilaisia ​​tietokoneita. Komentosarjamoottori (joka on tavallinen System-kansiossa oleva laajennus) muuntaa komentosarjakomennot tapahtumasarjaksi ja välittää ne skriptissä määritetylle sovellukselle ja käsittelyn jälkeen hyväksyy tuloksen ja välittää sen komentosarjan lähteeseen. .
Vaikka AppleScript on todellinen ohjelmointikieli (se tukee muuttujia, silmukoita, ehdollisia lausekkeita, alirutiineja, mahdollistaa monimutkaisia ​​laskelmia ja sisältää jopa työkaluja valintaikkunoiden rakentamiseen ja käsittelyyn), päätehtävien suorittaminen on silti käyttäjän harteilla. ulkoisia sovelluksia. Ja AppleScript toimii eräänlaisena "liimana", joka siirtää tietoja ohjelmien välillä ("siirrä tiedosto Illustratorista Photoshopiin"), arvioi yksittäisten ohjelmien, käyttöjärjestelmän ja verkon nykyisen työympäristön tilan ("sillä on rasterointi" tiedosto on jo valmis vai ei vielä?" ), ja voit ryhtyä toimiin aikaisempien toimintojen tulosten perusteella ("jos kaikki tiedostot on rasteroitu, lähetä materiaalit erityiseen kansioon ja suorita sanomalehtinauhan kokoamisesta vastaava komentosarja ”).
Sovelluksilla on useita "skriptoitavuuden" tasoja. Joten esimerkiksi ne ohjelmat, jotka ovat vähiten sopeutuneet automaatioon, ymmärtävät vain perus, yksinkertaisimmat komennot: lataa sovellus, avaa asiakirja, lähetä tulostettavaksi ja sulje sovellus (suorita, avaa, tulosta ja lopeta). "Sopivammilla" (kuten Photoshop, Illustrator ja FreeHand) on arsenaalissaan työkaluja, jotka ovat aivan riittäviä erätiedostojen käsittelyohjelmien kirjoittamiseen ja tiettyjen toimintosarjojen (makrokomentojen) suorittamiseen. No, ne, jotka tukevat melkein kaikkia AppleScript-tekniikan ominaisuuksia (ja tämä sisältää QuarkXPressin, Adobe InDesignin ja useimmat ohjelmat Omena) mahdollistaa työn ohjaamisen "syvimmillä" tasoilla: aseta tulostusparametreja, käytä leikepöytää, tarkista ja muuta sisäisten muuttujien arvoja jne.

Skriptologian perusteet

Lähdetekstin syöttämiseen ja komentosarjojen suorittamiseen voit käyttää Script Editor -ohjelmaa - pääasiallista ja ainoaa työkalua komentosarjojen luomiseen tavallisessa Mac OS -paketissa.
Skriptieditori sijaitsee Apple Extras/AppleScript -kansiossa (Mac OS:n lokalisoidulle versiolle - Lisäosat/AppleScript), ja käynnistämisen jälkeen se näyttää samanlaisen ikkunan kuin kuvassa 1. 1.


Riisi. 1. Skriptieditori

Ylempi ja alempi syöttökenttä on tarkoitettu kuvaamaan komentosarjaa ja sen tekstiä, eivätkä ne todennäköisesti tarvitse lisäkommentteja. Tallenna-painikkeella voit tallentaa makrokomennon; voit tehdä tämän painikkeen painamisen jälkeen siirtymällä kohtaan vaaditut sovellukset, ja suorita sarja toimintoja; jonka jälkeen skriptiteksti ilmestyy alempaan syöttökenttään (on huomioitava, että makrokomentojen tallentamisen mahdollisuutta ei tueta kaikki ohjelmat). Tarkista syntaksi -painike tarkistaa, onko skriptin tekstissä virheitä, ja tuo sen myös "markkinakelpoiseen" muotoon - se on lihavoitu ja sisennetty. avainsanoja ja sisäkkäisiä lohkoja.
Skenaario yksi. Aluksi, kuten odotettiin, kirjoitetaan yksinkertaisin ohjelma, joka suorittaa useita perustoimintoja: sulkee kaikki avoimet ikkunat, poistaa kaikki siirrettävät levyt tietovälineestä, järjestää kuvakkeet näytölle, puhdistaa roskakorin ja sammuttaa tietokoneen. Tällaisen ohjelman teksti näyttää tältä:

kerro sovellukselle "Finder"

Sulje jokainen ikkuna
poista jokainen levy
puhdistaa työpöytä
Tyhjennä roskat
sammuttaa

Lopeta kerro

Mitä tämä kaikki tarkoittaa? Apple Events -palvelu (AppleScript-tekniikan "ydin") siirtää tietoja, pyyntöjä ja viestejä ei vain ohjelmien välillä, vaan myös objekteiksi kutsuttujen ohjelmaelementtien välillä, joilla voi olla objektimalliksi kutsuttu sisäkkäinen rakenne. Joten esimerkiksi Finder-ohjelmassa kohdemalli (tarkemmin sanottuna vain yksi tämän mallin haaroista) voidaan esittää seuraavassa muodossa: Finder - Työpöytä - Kansio - Tiedosto; varten tekstieditori tämä malli on muotoa Asiakirja - Sivu - Kappale - Lause; vektorikuvassa se näyttää tältä Kuva - Perusmuoto - Bezierin käyrä - Piste (kuva 2).


Riisi. 2. Esimerkkejä kohdemalleista

Jokaisella objektilla on yleensä yksi tai useampi ominaisuus (kuva 3), joita voidaan asettaa ("asettaa sivun korkeudeksi 14 tuumaa"), muokata ("muuta leveyttä 8 tuumasta 8,5 tuumaan") ja ohjata ("mikä on oikea sivun marginaali?").


Riisi. 3. Objektin ominaisuudet

Tietyn objektin ohjaamiseksi se on valittava (merkittävä) kohdemallissa. Tätä tarkoitusta varten käytetään suunnittelua kerro loppu kerro, ja kaikki objektia ohjaavat komennot sisältyvät tähän konstruktiin; jos kohde sijaitsee mallin jonkin haaran "syvyydessä", käytetään useita toistensa sisällä olevia lohkoja kerro loppu kerro. Seuraavassa esimerkissä komentosarja käyttää asteittain työpöytää (yksi Finder-objektimallin elementeistä) ja siirtää sitten työpöydällä olevan "testi"-kansion roskakoriin.

kerro sovellukselle "Finder"
kerro työpöydälle

Poista kansio "testi"

Lopeta kerro
loppu kertoa

Kun kirjoitat skriptiä, joka ohjaa mitä tahansa ohjelmaa - ei ole väliä, onko se Finder, FileMaker, Adobe Acrobat tai jotain muuta, sinun on tiedettävä, mitä AppleScript-kielen komentoja tämä ohjelma tukee, mitä objekteja sen objektimallissa on, sekä kaikkien käytettävissä olevien objektien ominaisuuksien nimet ja tarkoitukset. Kaikki nämä tiedot tallennetaan suoraan tietyn ohjelman suoritettavaan tiedostoon, niin kutsuttuun sovellussanakirjaan. Tämän sanakirjan käyttämiseksi Script Editor -ohjelmassa on suoritettava komento Tiedosto / Avaa Sanakirja (Tiedosto / Avaa sanakirja) ja valitse näkyviin tulevasta ikkunasta kiinnostavan sovelluksen suoritettava tiedosto. Tämän seurauksena näytölle tulee samanlainen ikkuna kuin kuvassa. 4 - oikealla puolella on luettelo kaikista komennoista ja objekteista, vasemmalla on niiden lyhyet kuvaukset.


Riisi. 4. Sanakirjasovellus

Toinen skenaario. Siirrytään käytännön ongelmien ratkaisemiseen. Web-suunnitteluun osallistuvien on melko usein tarkistettava sivunsa yhteensopivuus selain vanhempien versioiden kanssa. Tätä varten sinun on avattava kansiot sisältävät ikkunat, etsittävä sieltä katseluohjelmien suoritettavat tiedostot, ladattava ne ja etsittävä sitten levyiltä kansioita, joissa on web-sivuja. Yleensä se ei ole miellyttävin kokemus. Luodaan skripti, joka yksinkertaistaa sivujen selaamista: se lataa automaattisesti useita eri selaimet, ja jokaisessa se avaa tarvitsemamme asiakirjan.

kerro sovellukselle "Finder"

Valitse (määritä) vaadittu tiedosto
valitse työpöydän kansion "Nykyinen web-sivusto" tiedosto "index.html".
-- määritä myFile-muuttujalle polku valitulle tiedostolle
aseta myFile-valinta merkkijonoksi

Lataa Microsoft IE ja avaa valittu sivu
kerro sovellus" Internet Explorer 3.01"
avaa (alias myFile)
loppu kertoa

Teemme saman toimenpiteen Netscape Navigatorilla
kerro sovellukselle "Netscape Navigator 3.01"
avaa (alias myFile)
loppu kertoa

Yllä olevaan ohjelmaan on ilmestynyt useita uusia malleja. Kaikki symboleilla alkavat rivit "--" ovat kommentteja. AppleScriptissä kommentit voidaan kirjoittaa joko erilliselle riville tai rivin loppuun heti komennon jälkeen. Joka tapauksessa kaikki seuraavat merkit "--" ja ennen alkua uusi rivi katsotaan kommentteiksi ja jätetään huomiotta, kun komentosarja suoritetaan.

"select"-komento simuloi elementin nimenomaista valintaa hiiren kursorilla ja sen toiminta muistuttaa jonkin verran rakenteen käyttöä. kerro loppu kerro, mutta sillä erolla, että komentoa käytettäessä valitse voimme määrittää muuttujalle joitain valitun objektin ominaisuuksia (esimerkiksi tiedoston tai kansion polku).

Operaattori aseta ilmaisee muuttujien arvot, jotka luodaan, kun niitä käytetään ensimmäisen kerran. Eli ei tarvitse ensin kuvata muuttujan nimeä ja tyyppiä: kirjoitit esim. aseta myDate nykyiseksi päivämääräksi, ja AppleScript loi muuttujan ja valitsi vaaditun koon ja tyypin. Mutta siinä ei vielä kaikki: operaattorin käyttö aseta voit muuttaa kaikkia objektien ominaisuuksia. Tämä tehdään seuraavasti:

kerro sovellukselle "Finder"
kerro työpöydälle
kerro tiedosto "hinnasto"

-- Muuta "Price List" -tiedoston kommenttiominaisuutta
-- tiedosto on työpöydällä
aseta kommentiksi "Tämä hinnasto on vanhentunut!"

Lopeta kerro
loppu kertoa
loppu kertoa

Tai sama asia, vain käyttämällä select-komentoa:

kerro sovellukselle "Finder"

Valitse työpöydän hinnastotiedosto
aseta valinnan kommentiksi "Tämä hinnasto on vanhentunut!"

Lopeta kerro

Kuten olet ehkä huomannut, tähän asti kaikki työ skriptien kanssa - lähdetekstin kirjoittaminen ja suoritus - tehtiin yksinomaan erityisen editorin avulla. Tämä menetelmä on hyvä, kun haluat luoda uuden skriptin tai tehdä vanhan uudelleen. Mutta jokapäiväiseen käyttöön se ei ole hyvä - kun avaat Script Editorin, kun löydät tarvittavan skriptin levyiltä, ​​ajattelet tahattomasti - eikö olisi nopeampaa tehdä sama työ manuaalisesti ilman automaatiota? AppleScript-kehittäjät huolehtivat tästä - skriptejä voidaan tallentaa paitsi muodossa tekstitiedostoja, mutta myös käännetyssä muodossa, joka soveltuu täysin itsenäiseen suoritukseen. Jotta voit muuntaa skriptin suoritettavaksi koodiksi, sinun on suoritettava komentosarjaeditorissa Save As Run-Only -komento. Valitse näkyviin tulevassa valintaikkunassa (samanlainen kuin kuvassa 5) avattavasta luettelosta Sovellus; nollaa Stay Open -valintaruutu (jos et ota tätä vaihtoehtoa käyttöön, komentosarja suorittaa työnsä automaattisesti suorituksen jälkeen, muuten se jää tietokoneen muistiin) ja valitse Uudempi Näytä aloitusnäyttö -valintaruutu. Kun olet suorittanut kaikki kuvatut toimet, komentosarjan käynnistäminen ei aiheuta sinulle vaikeuksia: siirrä hiiren osoitin sen päälle ja kaksoisnapsauta painiketta.


Riisi. 5. Skriptin tallentaminen suoritettavana ohjelmana

Kolmas skenaario ja viimeinen. Varmasti eduista Varakopio monet ovat kuulleet. Ja ne, jotka ainakin kerran elämässään ovat menettäneet kuukausittaisen (pahimmillaan vähintään viikon) työnsä tulokset, tietävät varmasti, että on parempi käyttää 15 minuuttia joka päivä arkistointiin tarvittavat tiedostot kuin sitten repiä hiuksiasi irti ja heittää tuhkaa näytöllesi. Mutta pääsääntöisesti jopa tappion jälkeen tärkeää tietoa ihmiset eivät muuta tottumuksiaan: saatat sanoa itsellesi: "Siinä se on, tästä päivästä lähtien teen kopioita kaikista tiedostoista!" Ja viikko tai kaksi kuluu - ja ohjelmat näyttävät "ei häiritsevän", eikä vapaa-aikaa ole - "Ja miksi tarvitsen sen varmuuskopion! Ja tämä riittää." Helpottaaksemme elämää hieman kaikille niille, jotka haluavat nähdä tiedostonsa turvassa, mutta eivät todellakaan pidä StuffIt-ohjelman kanssa työskentelystä, kirjoitamme skriptin, joka arkistoi kaikki tarvittavat tiedot joka päivä ja laittaa sen erityiseen levy. Tässä on tällaisen ohjelman lähdeteksti:

kerro sovellukselle "Finder"

Määritä asema ja kansio, johon kaikki tiedostot on tallennettu
-- arkistointia varten
aseta myArhiveFolder kohtaan "Mac OS:Nykyinen työ:"
-- määritä kansio, johon arkistot tallennetaan
aseta myTargetFolder kohtaan "Arkistot:Julkaise arkisto:"
-- anna tulevan arkiston nimi
-- (nimi on nykyinen päivämäärä)
aseta myFile päivämäärämerkkijonoon (nykyinen päivämäärä) & ".sit"
-- luo koko tiedoston nimi (polku + nimi)
aseta myArhiveFile kohtaan myTargetFolder & myFile

Jos samanniminen tiedosto on jo olemassa
-- (eli varmuuskopiointi tehtiin tänään)
-- Sitten vain lopetamme käsikirjoituksen
jos ei (olemassa (tiedosto myArhiveFile)), sitten

Jos tiedoston nimeä ei ole vielä olemassa,
-- lataa sitten StaffIt Deluxe ja suorita arkistointi,
-- ja heti poista StuffIt muistista
kerro sovellukselle "StuffIt Deluxe"

Aktivoida
tee uusi arkisto ominaisuuksilla (polkunimi:myArhiveFile)
tavaraa (alias myArhiveFolder) arkistoon 1
sulje arkisto 1
lopettaa

Yllä oleva komentosarja yksinkertaistaa varmuuskopiointia, mutta ei niin paljon kuin haluaisimme - arkistoinnin aloittamiseksi sinun on etsittävä tämä komentosarja (levyiltä tai työpöydältä) ja suoritettava se. Työn täysin automatisoimiseksi sinun on käännettävä komentosarja ja tallennettava se System/Shutdown Items -kansioon. Nyt joka kerta kun sammutat tietokoneen, arkistointilaite lataa ja tallentaa automaattisesti kaikki tärkeät tiedostot erityiselle levylle. On huomioitava, että arkistointi suoritetaan vain kerran päivässä, riippumatta siitä, toimiko tietokone 20 tuntia peräkkäin vai käynnistettiinkö tietokone uudelleen puolen tunnin välein - ehtooperaattorilla jos loppu jos Tarkistamme, kannattaako arkistoida vai onko parempi odottaa. Seuraavaan päivään asti.

Joten mitä seuraavaksi?...

Kun olet lukenut AppleScriptin ominaisuuksista ja nähnyt, kuinka helppoa komentosarjojen luominen on jopa aloittelijoille, sinun kannattaa ehkä jatkaa tämän automaatiotyökalun tutkimista. Ja tässä ensimmäinen pettymys odottaa sinua. Valitettavasti AppleScriptistä ei ole käytännössä mitään tietoa venäjäksi: kaikkien julkaisujen laskemiseksi yhden käden sormet ovat enemmän kuin tarpeeksi. Siksi skriptikielen oppiminen edellyttää myös hyvää englannin kielen taitoa.

AppleScript-tekniikasta on kaksi pääasiallista tietolähdettä. Ensimmäinen on Apple Computerin virallinen verkkosivusto, tai pikemminkin sivuston osa, joka on omistettu kaikelle skripteihin liittyvälle: tekniselle dokumentaatiolle, opetusohjelmille, esimerkeille, linkkikokoelmalle ja paljon muuta. Tämän osion osoite on http://www.apple.com/applescript/. Suosittelen, että lataat ensin AppleScript Language Guiden – hyvin kuvitetun oppikirjan, joka sisältää monia käytännön esimerkkejä (kirja löytyy osoitteesta http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf, tiedostokoko - 2,6 MB). Toinen lähde - sivusto http://www.scripter.com - sisältää paljon materiaalia sekä AppleScriptistä että muista vaihtoehtoisista Macintosh-alustalle tarkoitetuista komentosarjakielistä.

Lisäksi, jos päätät ryhtyä vakavasti skriptien kirjoittamiseen, tarvitset hyvän työkaluympäristön - Mac OS:n mukana toimitettu Script Editor sopii vain yksinkertaisille 20-30 koodirivin skripteille. Tässä tapauksessa voimme suositella Main Event Softwaren Scripter 2.5 -ohjelmaa - editorissa on virheenkorjaustila ja hyvin harkittu mekanismi sovellussanakirjojen näyttämiseen. Ja jos aiot luoda AppleScript-ohjelmia, joilla on oma käyttöliittymä, ei haittaisi hankkia myös FaceSpan 3.5 Digital Technologylta - tämä sovellus vähentää näyttövalikkojen ja valintaikkunoiden luomiseen kuluvaa aikaa. , ja sen avulla voit välttää aikaa vievän ja epämiellyttävän näpertelyn luonnosten kanssa millimetripaperilla.

Päätelmän sijaan

Käsikirjoitusten kirjoittaminen on mielenkiintoista. Skriptien kirjoittaminen on hyödyllistä. Käsikirjoitusten kirjoittaminen on jopa mukavaa. Vaikka tietysti on paljon miellyttävämpää hemmotella toivottua joutilaisuutta, kun taas "vastaleivottu" käsikirjoitus hoitaa kärsivällisesti koko viikkorutiinin.

Ota aikaa, vietä muutama päivä kielen oppimiseen, kirjoita pari skriptiä, jotka yksinkertaistavat työtäsi, ja ymmärrät itse, että AppleScript on hyvin yksinkertainen, erittäin tehokas ja erittäin joustava työkalu. Olisiko meidän kuitenkin pitänyt odottaa jotain erilaista Applelta?

Aiheeseen liittyviä julkaisuja