Računala Windows Internet

MAC OS X Uvod u AppleScript. AppleScript za apsolutne početnike Automatizacija kakao aplikacija

Otvorite, izrežite, pretvorite u drugi model boja, spremite. Otvorite, izrežite, pretvorite u drugi model boja, spremite. Otvorite ili još uvijek ovdje: odabiremo, prenosimo u međuspremnik, prelazimo na drugu aplikaciju, kopiramo iz međuspremnika. Odaberite, međuspremnik, prebacite

Ne zvuči kao kreativna aktivnost, zar ne? Ali gotovo svatko tko se bavi računalom mora izvoditi desetke i stotine ponavljajućih, u biti identičnih operacija dnevno. A nakon što sam tri tjedna radio s svojevrsnim “inteligentnim pretvaračem”, nije kao naučiti novu verziju “Photoshopa” ili svladati InDesign – ne želim se ni približiti računalu. Jednom riječju - potreban vam je pomoćnik. Koji će preuzeti izvođenje svih (dobro, ili barem većine) dosadnih i rutinskih, ali, naravno, potrebnih radnji koje se ponavljaju.

AppleScript - kakva zvijer?

I imamo takvog pomoćnika. To je poseban jezik za pisanje skripti (ili, ako želite, skripti) pod nazivom AppleScript. Po prvi put, ovaj se jezik pojavio u Mac OS 7.5 (tada još uvijek Macintosh System), i bio je tako dobro implementiran, a imao je i tako široke mogućnosti da je izdavanjem desete verzije OS-a "došao" samo do verzija 1.8. No, začudo, unatoč svom ogromnom potencijalu, odnosno više od desetljeća postojanja, AppleScript tehnologija nije postala raširena među korisnicima Maca. Što je krivo - mitovi o njegovoj složenosti, inertnost korisnika koji su navikli isključivo na kontrolu "ikona-miš" svojih Macova, ili nešto treće - ne mogu suditi, ali činjenica je da stotine znaju za postojanje AppleScript-a, ali ga koriste samo jedinice. Stoga, po mom mišljenju, nije suvišno razmotriti osnovne principe ove tehnologije.
U srži AppleScript-a je Macintosh Apple Events, usluga obrade događaja sustava koja omogućuje razmjenu kontrolnih naredbi, podataka i zahtjeva između aplikacija, operativnog sustava, mrežnih usluga, pa čak i različitih računala. Skriptni mehanizam (koji je jednostavno proširenje smješteno u mapi System) pretvara naredbe skripte u slijed događaja i prosljeđuje ih aplikaciji navedenoj u skripti, a nakon obrade, prima rezultat i šalje ga izvoru skripte.
Iako je AppleScript pravi programski jezik (podržava varijable, petlje, uvjetne naredbe, potprograme, omogućuje izvođenje složenih izračuna, pa čak ima i alate za izgradnju i obradu dijaloških okvira), glavni zadaci i dalje padaju na ramena vanjskih aplikacija. A AppleScript djeluje kao svojevrsno "ljepilo" koje prenosi podatke između programa ("prijenos datoteke iz Illustratora u Photoshop"), procjenjuje trenutno stanje radnog okruženja pojedinih programa, OS-a i mreže ("je rasterizacija datoteke već dovršeno ili još nije?" ), i omogućuje vam poduzimanje radnji na temelju rezultata prethodnih operacija ("ako su sve datoteke rasterizirane, pošaljite materijale u posebnu mapu i pokrenite skriptu odgovornu za sastavljanje stranice novina ").
Postoji nekoliko razina "scenarnosti" aplikacija. Tako, primjerice, oni programi koji su najmanje prilagođeni automatizaciji razumiju samo osnovne, najjednostavnije naredbe: učitaj aplikaciju, otvori dokument, pošalji ga na ispis i zatvori aplikaciju (pokreni, otvori, ispiši i zatvori). Oni "sukladniji" (kao što su npr. Photoshop, Illustrator i FreeHand) u svom arsenalu imaju alate koji su sasvim dovoljni za pisanje programa za grupnu obradu datoteka i izvođenje određenih nizova radnji (makro naredbi). Pa, oni koji podržavaju gotovo sve značajke AppleScript tehnologije (a to uključuje QuarkXPress, Adobe InDesign i većinu Appleovih programa) omogućuju kontrolu vašeg rada na najdubljim razinama: postavite opcije ispisa, koristite međuspremnik, provjerite i mijenjati vrijednosti internih varijabli itd.

Osnove skriptologije

Za unos izvornih tekstova i izvršavanje skripti možete koristiti program Script Editor - glavni i jedini alat za izradu skripti u standardnoj distribuciji Mac OS-a.
Uređivač skripti nalazi se u mapi Apple Extras/AppleScript (za lokaliziranu verziju Mac OS-a - Add-ons/AppleScript), a nakon pokretanja prikazuje prozor sličan onom prikazanom na sl. jedan.


Riža. 1. Urednik skripte

Gornje i donje polje za unos namijenjeno je opisu skripte i njezinog teksta, te jedva da trebaju dodatne komentare. Gumb Snimi vam omogućuje snimanje makronaredbe, za to morate prijeći na željenu aplikaciju nakon pritiska na tipku i izvršiti niz radnji; nakon čega će se tekst skripte pojaviti u donjem polju za unos (treba napomenuti da mogućnost snimanja makro naredbi nije podržana od strane svakog programa). Gumb Provjeri sintaksu provjerava ima li grešaka u tekstu skripte, a također ga dovodi u "tržišni" oblik - naglašava ključne riječi i ugniježđene blokove podebljanim slovima i uvlakama.
Scenarij jedan. Za početak, očekivano, napisat ćemo jednostavan program koji izvodi nekoliko elementarnih radnji: zatvara sve otvorene prozore, uklanja sve izmjenjive diskove s medija, raspoređuje ikone na ekranu, prazni smeće i isključuje računalo. Tekst takvog programa izgleda ovako:

reci aplikaciji "Finder"

zatvori svaki prozor
izbaci svaki disk
očistiti radnu površinu
isprazni smeće
ugasiti

kraj reci

Što sve ovo znači? Usluga Apple Events ("okosnica" AppleScript tehnologije) prosljeđuje podatke, zahtjeve i poruke ne samo između programa, već i između programskih elemenata koji se nazivaju objekti, koji mogu imati ugniježđenu strukturu zvanu objektni model. Tako se npr. za program Finder objektni model (točnije, samo jedna od grana ovog modela) može predstaviti na sljedeći način: Finder - Desktop - Folder - File; za uređivač teksta, ovaj model će imati oblik Dokument - Stranica - Stavak - Rečenica; za vektorsku ilustraciju izgledat će kao Ilustracija - Osnovni oblik - Bezierova krivulja - Točka (slika 2).


Riža. 2. Primjeri modela objekata

Svaki objekt obično ima jedno ili više svojstava (slika 3) koja se mogu postaviti ("postaviti visinu stranice na 14 inča"), modificirati ("promijeniti širinu sa 8" na 8,5") i kontrolirati ("što je jednako desnoj margini" stranice?").


Riža. 3. Svojstva objekta

Da biste mogli kontrolirati ovaj ili onaj objekt, on mora biti odabran (naveden) na modelu objekta. Za to je konstrukcija reci kraj reci, a sve naredbe koje kontroliraju objekt sadržane su unutar ove konstrukcije; ako je objekt "duboko" u jednoj od grana modela, tada se koristi nekoliko ugniježđenih blokova reci kraj reci. U sljedećem primjeru, skripta pristupa radnoj površini (jednom od elemenata objektnog modela Finder) u fazama, a zatim premješta mapu "test" na radnoj površini u smeće.

reci aplikaciji "Finder"
reci desktop

Izbriši mapu "test"

kraj reci
kraj reci

Kada pišete skriptu koja kontrolira bilo koji program - bilo da je Finder, FileMaker, Adobe Acrobat ili nešto drugo - morate znati koje naredbe jezika AppleScript podržava ovaj program, koji su objekti uključeni u njegov objektni model, kao i nazive i svrhe svih svojstava dostupnih objekata. Sve te informacije pohranjuju se izravno u izvršnu datoteku programa, u takozvani aplikacijski rječnik. Za korištenje ovog rječnika, u programu Script Editor potrebno je izvršiti naredbu File / Open Dictionary (File / Open Dictionary), te u prozoru koji se pojavi odabrati izvršnu datoteku aplikacije koja vas zanima. Kao rezultat toga, prozor sličan onom prikazanom na sl. 4 - u desnom dijelu nalazi se popis svih naredbi i objekata, u lijevom dijelu su dati njihovi kratki opisi.


Riža. 4. Rječnik aplikacija

Drugi scenarij. Prijeđimo na rješavanje praktičnih problema. Web dizajneri često moraju provjeriti kompatibilnost svojih stranica sa starijim verzijama preglednika. Da biste to učinili, morate otvoriti prozore s mapama, tamo potražiti izvršne datoteke programa preglednika, preuzeti ih, a zatim također potražiti mape s web-stranicama na diskovima. Općenito, - nije najugodnije zanimanje. Napravimo skriptu koja će olakšati pregledavanje stranica: automatski će učitati nekoliko različitih preglednika i otvoriti dokument koji nam je potreban u svakom.

reci aplikaciji "Finder"

Odaberite (navedite) željenu datoteku
odaberite datoteku "index.html" mape "Trenutna web stranica" radne površine
-- dodijelite put odabranoj datoteci varijabli myFile
postavite myFile na odabir kao niz

Preuzmite Microsoft IE i otvorite odabranu stranicu
reci aplikaciji "Internet Explorer 3.01"
otvori (alias myFile)
kraj reci

Istu operaciju izvodimo s Netscape Navigatorom
reci aplikaciji "Netscape Navigator 3.01"
otvori (alias myFile)
kraj reci

U gornjem programu pojavilo se nekoliko novih dizajna. Svi redovi koji počinju znakovima "--" su komentari. U jeziku AppleScript komentari se mogu pisati i na zasebnom retku i na kraju retka, odmah nakon naredbe. U svakom slučaju, svi znakovi koji slijede "--" i prije početka novog retka smatraju se komentarima i zanemaruju se kada se skripta izvrši.

Naredba "select" simulira eksplicitni odabir elementa pomoću pokazivača miša, a njezino djelovanje je donekle slično korištenju konstrukcije reci kraj reci, ali s tom razlikom što prilikom korištenja naredbe Odaberi možemo dodijeliti neka svojstva odabranog objekta (na primjer, put datoteke ili mape) varijabli.

Operater skupa koristi se za označavanje vrijednosti varijabli koje se kreiraju u trenutku prvog poziva na njih. Odnosno, nema potrebe preliminarno opisivati ​​naziv i vrstu varijable: napisali smo npr. postavite myDate na trenutni datum, a AppleScript je stvorio varijablu i odabrao pravu veličinu za nju i vrstu. Ali to nije sve: uz pomoć operatera skupa Možete promijeniti sva svojstva objekata. To se radi na sljedeći način:

reci aplikaciji "Finder"
reci desktop
tell file "Cjenik"

-- promijeniti datoteku komentara (komentara) nekretnine "Cjenik"
-- datoteka je na radnoj površini
postavite komentar na "Ovaj cjenik je zastario!"

kraj reci
kraj reci
kraj reci

Ili ista stvar, samo s naredbom select:

reci aplikaciji "Finder"

Odaberite datoteku "Cjenik" radne površine
postavite komentar odabira na "Ovaj cjenik je zastario!"

kraj reci

Kao što vidite, do sada se sav rad sa skriptama - tipkanje i izvođenje - odvijao isključivo uz pomoć posebnog uređivača. Ova metoda je dobra kada trebate stvoriti novu skriptu ili preraditi staru. Ali za svakodnevnu upotrebu to nije dobro – dok otvorite Script Editor, dok na diskovima nađete potrebnu skriptu, nehotice pomislite – ne bi li bilo brže taj posao obaviti ručno, bez ikakve automatizacije? AppleScript programeri su se pobrinuli za to - skripte se mogu pohraniti ne samo kao tekstualne datoteke, već iu sastavljenom obliku, potpuno prikladnim za izvanmrežno izvršavanje. Da biste skriptu preveli u izvršni kod, morate izvršiti naredbu Spremi kao samo za pokretanje u uređivaču skripte (Spremi kao program). U dijaloškom okviru koji se pojavi (slično onom što se može vidjeti na slici 5) odaberite Application s padajućeg popisa; resetirajte potvrdni okvir Stay Open (Ostavite otvorenim - ako ne omogućite ovu opciju, nakon izvršenja skripta će automatski završiti svoj rad, inače će ostati u memoriji računala) i potvrdite okvir Newer Show Startup Screen (Ne prikazuj zaslon za učitavanje). Nakon što izvršite sve opisane radnje, pokretanje skripte neće vam uzrokovati poteškoće: samo zadržite pokazivač miša iznad nje i dvaput kliknite na gumb.


Riža. 5. Spremanje skripte kao izvršnog programa

Treći i posljednji scenarij. Sigurno su mnogi čuli za prednosti backup-a. A oni koji su barem jednom u životu izgubili rezultate svog mjesečnog (u najgorem slučaju, barem tjednog) rada sigurno znaju da je bolje potrošiti svaki dan 15 minuta na arhiviranje potrebnih datoteka nego kidati kosu iz glave i posipaj pepeo po monitoru . Ali, u pravilu, čak i nakon gubitka važnih informacija, ljudi ne mijenjaju svoje navike: kažete, dogodilo se i sebi - "To je to, od danas radim kopije svih datoteka!". I proći će tjedan-dva - i programi poput "ne propadaju", a slobodnog vremena nema - "A zašto mi treba taj backup! I tako će i proći." Kako bismo malo olakšali život svima onima koji žele vidjeti svoje datoteke zdrave i zdrave, a ne vole raditi s programom StuffIt, napisat ćemo skriptu koja će svakodnevno arhivirati sve potrebne podatke i stavljati ih na poseban disk . Evo izvornog koda za takav program:

reci aplikaciji "Finder"

Odredite pogon i mapu u kojoj su pohranjene sve datoteke
-- za arhiviranje
postavite myArhiveFolder na "Mac OS:Trenutačni rad:"
-- odredite mapu u kojoj su pohranjene arhive
postavite myTargetFolder na "Za arhive:Objavite arhivu:"
-- dodijeliti naziv budućoj arhivi
-- (ime je trenutni datum)
postavite myFile na datumski niz (trenutni datum) & ".sit"
-- kreirajte puni naziv datoteke (put + naziv)
postavite myArhiveFile na myTargetFolder & myFile

Ako datoteka s istim imenom već postoji
-- (tj. sigurnosna kopija je napravljena danas)
-- onda samo završite scenarij
ako ne (postoji (datoteka myArhiveFile)) onda

Ako datoteka s navedenim imenom još ne postoji,
-- zatim preuzmite StaffIt Deluxe i izvršite arhiviranje,
-- i odmah ispraznite StuffIt iz memorije
reci aplikaciji "StuffIt Deluxe"

Aktivirati
napravi novu arhivu sa svojstvima (naziv putanje:myArhiveFile)
stvari (alias myArhiveFolder) u arhivu 1
zatvori arhivu 1
prestati

Navedena skripta pojednostavljuje proceduru sigurnosnog kopiranja, ali još ne onoliko koliko bismo željeli - da biste počeli s arhiviranjem, morat ćete potražiti ovu skriptu (na diskovima ili na radnoj površini) i izvršiti je. Da biste potpuno automatizirali rad, morate sastaviti skriptu i spremiti je u mapu System / Shutdown Items (System folder / Shutdown Items). Sada, svaki put kada isključite računalo, arhiver će automatski učitati i spremiti sve važne datoteke na poseban disk. Valja napomenuti da će se arhiviranje obavljati samo jednom dnevno, bez obzira na to je li računalo radilo 20 sati zaredom, ili se ponovno podizalo svakih pola sata - pomoću operatora uvjeta ako kraj ako provjeravamo isplati li se arhivirati ili je bolje pričekati. Do sljedećeg dana.

Tako?..

Nakon što ste pročitali o moći AppleScript-a i vidjeli da je skriptiranje vrlo jednostavno i dostupno čak i početnicima, možda biste željeli nastaviti istraživati ​​ovaj alat za automatizaciju. I tu vas čeka prvo razočaranje. Nažalost, informacija o AppleScript-u na ruskom jeziku praktički nema: da bi se izbrojile sve publikacije, prsti jedne ruke su više nego dovoljni. Stoga, da biste naučili skriptni jezik, trebat će vam i dobro poznavanje engleskog jezika.

Postoje dva glavna izvora informacija o AppleScript tehnologiji. Prva je službena web stranica Apple Computera, točnije, dio stranice posvećen svemu što se odnosi na skripte: tehnička dokumentacija, tutorijali, primjeri, zbirke poveznica i još mnogo toga. Adresa ovog odjeljka je http://www.apple.com/applescript/. Toplo preporučujem da prvo preuzmete AppleScript Language Guide, dobro ilustrirani vodič koji uključuje mnoge praktične primjere (knjiga je dostupna na http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf , veličina datoteke 2 ,6 MB). Drugi izvor, http://www.scripter.com, sadrži obilje materijala o AppleScript i drugim alternativnim skriptnim jezicima za Macintosh platformu.

Osim toga, ako se odlučite uhvatiti u koštac s pisanjem skripti, trebat će vam dobro okruženje alata - Script Editor koji dolazi s Mac OS-om prikladan je samo za jednostavne skripte od 20-30 redaka koda. U ovom slučaju možemo preporučiti Scripter 2.5 iz Main Event Software - uređivač ima način za otklanjanje pogrešaka i dobro osmišljen mehanizam za prikaz aplikacijskih rječnika. A ako ćete stvarati AppleScript programe koji će imati vlastito korisničko sučelje, mogli biste dobiti i FaceSpan 3.5 od Digital Technology - ova će aplikacija skratiti vrijeme potrebno za stvaranje izbornika na zaslonu i dijaloških okvira, i izbjegavajte dugo i frustrirajuće petljanje sa skicama na milimetarskim valovima.papir.

Umjesto zaključka

Pisanje scenarija je zabavno. Pisanje skripti je korisno. Pisanje scenarija je čak i lijepo. Iako je, naravno, puno ugodnije prepustiti se željenom besposličarstvu, u vrijeme kada „svježe pečeni“ scenarij strpljivo razrađuje cijelu tjednu rutinu.

Uzmite si vremena, provedite nekoliko dana učeći jezik, napišite par skripti koje će vam olakšati posao i uvjerit ćete se da je AppleScript vrlo jednostavan, vrlo moćan i vrlo fleksibilan alat. Iako, treba li očekivati ​​nešto drugačije od Applea? ..

AppleScript je moćan programski jezik koji datira iz Mac OS-a 7. Međutim, unatoč njegovoj zrelosti, iskusni Mac programeri često kritiziraju AppleScript da je previše jednostavan, lak za učenje i previše sličan običnom engleskom.

Naravno, željeli biste da računalni jezik ima upravo te kvalitete – ako vam je, naravno, kompjuterski jezik uopće potreban. AppleScript je najjednostavniji programski jezik s kojim možete automatizirati svoj Mac, čak i ako ste jednostavan korisnik, a ne informatičar.

AppleScript programi (koji se nazivaju skripte ili skripte) mogu se smatrati softverskim robotima. Jednostavan AppleScript može obaviti neke svakodnevne zadatke kao što je sigurnosna kopija mape Dokumenti. Složenija skripta može se prostirati na nekoliko stranica. U profesionalnom izdavaštvu, gdje je AppleScript najpopularniji, skripta se može povezati preko Interneta s tvrdim diskom fotografa, dohvatiti fotografiju iz određene mape, ispraviti je u boji u Photoshopu, zalijepiti rezultat u određeni dokument izgleda, ispisati grubi izgled , pošaljite obavijest e-poštom uredniku—i sve se to radi automatski.

A da to i ne zna, korisnik stalno koristi temeljnu AppleScript tehnologiju. Brojne Mac komponente komuniciraju iza kulisa pomoću Appleovih događaja, poruka koje prosljeđuju upute ili podatke od programa do programa. Ako se naredba Prikaži original primijeni na pseudonim ili se naredba Get Info primijeni na datoteku (mapu), tada će Appleov događaj reći Finderu kako na njega odgovoriti.

AppleScript je superiorniji od Automatora na više načina, ne samo zbog svoje snage. I još nešto: AppleScript je toliko duboka tema da bi ga trebalo posvetiti zasebnoj knjizi. Ovo poglavlje je samo ukusno predjelo: knjiga poput AppleScript: Essential Guide bila bi obrok od sedam sljedova.

Savjet Možete preuzeti cijelo poglavlje o AppleScript-u—koji se pojavio u prethodnom izdanju ove knjige—sa stranice Missing CD na www.missingmanuals.com.

Ne morate pisati AppleScript da biste uživali u plodovima ove tehnologije. Mac OS X dolazi s desecima skripti koje su zaista korisne, a da biste izvršili bilo koju od njih, samo odaberite njezin naziv u izborniku. Ova vrsta "reprodukcije" AppleScript-a zahtijeva točno onoliko tehničke vještine kao i pritiskanje gumba u dizalu.

Možete isprobati neke od ovih super početnih skripti dodavanjem izbornika skripte na traku izbornika (slika 7-16, desno).

Izbornik scenarija ima 16 gotovih kategorija koje objedinjuju oko 100 scenarija; da biste pokrenuli skriptu, jednostavno odaberite njezino ime. Ovdje je popis najkorisnijih i najzanimljivijih scenarija.

Savjet Ako držite pritisnutu tipku Shift dok birate naziv skripte u izborniku, Mac OS X će vas odvesti izravno do mjesta na kojem se skripta nalazi u Finderu (na primjer, u mapi Početna>Knjižnica>Skripte). Štoviše, ako pritisnete tipku Option tijekom odabira imena, skripta će se otvoriti u uređivaču skripti, gdje je možete pregledati ili urediti.

Ovaj podizbornik sadrži samo skriptu Import Addresses za kopiranje imena i adresa iz Entourage, Outlook Express, Palm Desktop, Eudora, Claris Emailer ili Netscape u adresar. Ako imate mnogo prijatelja, koristite ovu skriptu kako ne biste morali ponovno unositi sva njihova imena, telefonske brojeve i poštanske adrese. (Prateća podmapa Address Importers nudi skripte za uvoz iz tri određena programa.)

Podizbornik Osnove sadrži tri zgodne male skripte povezane s AppleScriptom: AppleScript Help (otvara preglednik pomoći i traži riječ AppleScript); AppleScript web stranica (otvara AppleScript web stranicu u vašem web pregledniku) Otvori Script Editor (otvara program Script Editor za čitanje i uređivanje AppleScript skripti).

Ova mapa sadrži skupinu skripti tipa kapljice ColorSync (takva se skripta pokreće ako nešto povučete na njezinu ikonu) od interesa za umjetnike, dizajnere web stranica, izdavače itd.

U nekim slučajevima, kada odaberete skriptu iz ovog izbornika, vidjet ćete kratku informativnu poruku, a zatim dijaloški okvir Otvori za odabir grafičke datoteke za obradu.

Drugi djeluju odmah; na primjer, skripta Mimic PC monitora prilagođava boje zaslona tako da se usko podudaraju s malo drugačijim nijansama na monitoru računala sa sustavom Windows. Ovo je vrlo zgodno ako radite na tome

ISKUSNI TEČAJI
Tajne izbornika skripte
Izbornik skripte prikazuje sadržaj dvije različite mape Skripte: jedna je Početna>Knjižnica>Skripte, a druga je u glavnoj mapi knjižnice. Oni scenariji koji su preuzeti iz vaše osobne mape odvojeni su isprekidanom linijom u izborniku scenarija.

Te se skripte ne mogu samo izvoditi. Također su idealni za otvaranje u Script Editoru (jednostavno dvostrukim klikom) i analizu redak po redak kako rade. Kada shvatite sintaksu, možete kopirati isječke koda i modificirati ih za korištenje u svojim skriptama. (Uređivač skripti je program koji se nalazi u mapi Applications > AppleScript koji vam omogućuje stvaranje vlastitih skripti.)

Fotografija ili web stranica i želite znati kako će izgledati u očima neprosvijećenih masa. (Da biste vratili izvorne boje, idite na karticu Boja (Boja) ploča Zaslon (Moniors) u prozoru Postavke sustava (Postavke sustava).)

Svi ovi scenariji povezani su s radom u Finderu – recimo, s manipuliranjem datotekama i prozorima. Evo najkorisnijih:

Dodaj u nazive datoteka, Dodaj u nazive mapa. Ove skripte dodaju prefiks ili sufiks imenu svake datoteke ili mape u prednjem (aktivnom) prozoru Findera (ili, ako nema otvorenih prozora, na radnoj površini). S ovim skriptama možete dodati riječ "nacrt" ili "konačno" ili "staro" nazivima svih datoteka u mapi.

Zamijeni tekst u nazivima stavki omogućuje vam da izvršite zamjenu pretraživanja u nazivima datoteka, mapa ili oboje. Ako je jedan izdavač odbio vaš prijedlog knjige od 45 poglavlja, ova skripta može preimenovati svih 45 poglavlja iz "Povijest podloge za miša - Prijedlog Random House, Poglavlje 1" u "Povijest podloge za miša - Prijedlog Simona" & Schuster, Poglavlje 1.

Skratite nazive datoteka, Skratite nazive mapa. Ako ste pogriješili kada ste pokrenuli skriptu Dodaj u nazive datoteka, uvijek je možete popraviti pomoću Trim File Names. Ova skripta uklanja ekstenzije datoteka, sufikse ili prefikse po izboru korisnika.

Recimo da ste upravo stvorili nekoliko novih mapa odjednom. Mac OS X takve mape naziva "mapa bez naziva", "mapa bez naslova 2" itd. Ali što ako vam više odgovara nazivi "mapa 1", "mapa 2" itd.? Pokrenite skriptu Trim Folder Names; Upišite untitled u dijaloški okvir i kliknite OK.

Vjerojatno nećete koristiti skripte za radnje mape u velikoj mjeri, budući da Control-klik na mapu (ili unutar njezinog prozora) pruža potpuno isti pristup operacijama mape.

Ove skripte pokazuju kako možete automatizirati neke zadatke vezane uz font.

FontSync je plemeniti pokušaj tvrtke Apple da riješi stari problem stolnog izdavaštva. Dakle, završili ste s kreiranjem prekrasnog newslettera i nosite ga u svoju lokalnu tiskaru kako biste ga ispisali na visokokvalitetnoj opremi, samo da biste se zatekli da morate baciti otiske i početi ispočetka - i to samo zato što su fontovi nemoj izgledati onako kako si htio.. Tiskara nije imala baš one fontove koje ste koristili za pripremu dokumenta. Ili, što je još gore, fontovi su imali potpuno iste nazive, ali ih je izradila druga tvrtka, pa su se po određenim parametrima malo razlikovali od vaših.

Ideja FontSynca je unaprijed obavijestiti korisnika o mogućim nedosljednostima. Skripta Create FontSync Profile stvara datoteku profila FontSync za nekoliko minuta. Ovaj dokument sadrži nevjerojatnu količinu informacija o dizajnu, razmacima i zavojima svih fontova instaliranih na sustavu. U tiskari se takav dokument može obraditi dodatnom skriptom Match FontSync Profile. Savjesno će identificirati razlike u fontovima između korisničkog Maca i strojeva tiskare.

Naravno, ova tehnologija implicitno pretpostavlja previše: da su Macintosh računala instalirana u tiskaru, da mogu rukovati FontSync, a također da korisnik neće zaboraviti prvo izraditi i prenijeti FontSync profil u tiskaru.

IChat je doživio značajan redizajn u 10.5 - Apple je dodao puno zanimljivih (iako ponekad beskorisnih) značajki. Konkretno, postalo je moguće pokrenuti AppleScripts kao signale kada se dogodi događaj povezan s vašim kontaktima. Na primjer, možete automatski prihvatiti pozivnice za chat od pojedinačnih kontakata ili čak odgovoriti na njih unaprijed napravljenim pozdravom. Možete čak i kontrolirati reprodukciju glazbe na jednom Macu unosom naredbi u iChat prozor drugog Maca u vašem domu. Detalji u 21. poglavlju.

Ova dva scenarija su od male koristi. Trenutni datum i vrijeme prikazuje trenutni datum i vrijeme u dijaloškom okviru opremljenom gumbom međuspremnika za kopiranje informacija spremnih za lijepljenje. Font Sampler prikazuje stranicu s popisom fontova (imenovanih u skripti) koji su instalirani uz Mac OS X. (Skripta je postala manje korisna jer knjiga fontova ima slične ugrađene naredbe za ispis.)

Dva scenarija na ovom izborniku zaslužuju posebno spomenuti. Trenutna temperatura po poštanskim brojevima pokazuje koja je temperatura izvan prozora - Fahrenheit i Celzijus. Ovo je još jedan razlog da ne izlazite iz kuće cijeli dan.

Stock Quote prima burzovne kotacije odabrane tvrtke s kašnjenjem od 20 minuta. Nije tako sjajno kao dobivanje ponuda u stvarnom vremenu, ali je besplatno.

Većina skripti u ovom podizborniku rješava neke specifične zadatke, kao što je brojanje e-poruka u pretincu e-pošte ili postavljanje novog računa. Najsmješnija od svega je, naravno, skripta Crazy Message Text (slika 7.17).

Skripte u ovoj mapi omogućuju vam navigaciju do posebnih mapa Finder - izravno iz izbornika, iz bilo kojeg programa. Ako mapi koju želite otvoriti nema dodijeljenu prilagođenu skriptu, odaberite je s popisa u skripti Otvori posebnu mapu.

Savjet Oni koji nemaju ništa protiv toga da moraju uređivati ​​ovu skriptu pomoću Script Editor-a mogu je modificirati kako bi omogućili odabir i otvaranje više mapa u isto vrijeme (putem, recimo, -click prečaca). Sve što trebate učiniti je upisati višestruke odabire dopušteno true odmah nakon Odaberi mapu za otvaranje: (na kraju retka, otprilike na početku druge trećine skripte). Ne zaboravite spremiti promjene.

Ove skripte imaju za cilj pokazati snagu AppleScript-a u ispisu i stvaranju PostScript i PDF dokumenata.

Jedan od njih, Print Window, zatvara dugogodišnju prazninu u Mac OS X. Trebao bi ispisati tekstualni popis sadržaja bilo koje odabrane mape. (Doduše, malo je buggy.)

Prema timu O ovim skriptama, ovih 48 unaprijed izrađenih skripti pomaže vam da pišete brže i točnije skripte jer vaši isječci koda ne sadrže pogreške pri pisanju i sintaktičke pogreške. Kako budete bili bolji, moći ćete ovdje dodati vlastite skripte s isječcima koda prilagođenim skriptama koje inače pišete kako bi vaš rad bio još učinkovitiji. (Kada izradite skriptu u uređivaču skripti, ove isječke koda zalijepite u tekst kombinacijom Control-clika i odabira iz izbornika prečaca.)

Uglavnom, skripte svoj posao rade tiho i neprimjetno. Ali ako želite automatizirati program koji ne razumije uobičajene AppleScript naredbe, skripte mogu njime "upravljati" ručno simuliranjem odabira izbornika, pritiskanja gumba i tako dalje.

Bilješka Ovaj alat, nazvan skripte korisničkog sučelja (UI), radit će tek nakon što otvorite konzolu za univerzalni pristup programa System Preferences i potvrdite okvir Omogući pristup za pomoćne uređaje. pomoćni uređaji).

Nema smisla pokretati skripte iz podizbornika UI Element Scripts takve kakve jesu: one su samo uzorci koji pokazuju ispravnu sintaksu.

Ovaj posljednji skup skripti omogućuje brzi pristup nekim popularnim web-mjestima. Iznimka je skripta Download Weather Map, koja preuzima trenutnu vremensku kartu za kontinentalni dio Sjedinjenih Država, sprema je na radnu površinu kao weathermap.jpg, a zatim je otvara u pregledu.

Savjet U izbornik možete dodati skripte, datoteke, pa čak i internetske adrese, a zatim ih je lako sve pokrenuti s trake izbornika. Sve što povučete u mapu Library>Scripts automatski će se pojaviti u izborniku Scripts.

S druge strane, ako počnete dodavati puno svojih stavki u izbornik Script, bit će prikladnije ukloniti uzorke iz Applea iz njega. Nema problema. Otvorite AppleScript Utility i poništite opciju Prikaži skripte računala.

Rad s unaprijed izgrađenim AppleScripts

Dok radite kroz izbornik skripti, uskoro ćete shvatiti da na svom Macu imate desetke besplatnih ugrađenih skripti. Sjajna stvar je što možete razumjeti kako funkcioniraju, pa čak ih i modificirati dok postupno naučite pisati vlastite AppleScript skripte. Možete čak kopirati i koristiti cijele dijelove Apple skripti u vlastitim skriptama.

Prvo, naravno, morate otvoriti skriptu. Najlakši način da to učinite je da otvorite izbornik skripte, odaberete željenu kategoriju i pritisnete Option-klik na naziv željene skripte.

Možete početi učiti AppleScript gledanjem jednostavne skripte. Otvorite, na primjer, skriptu New Application Window (u kategoriji Navigacijske skripte) tako da pritisnete Option i kliknete na njezin naziv. Kao rezultat toga, Script Editor će otvoriti datoteku u novom prozoru (slika 7.18).

Evo kako ova skripta radi:

Reci aplikaciji "Finder" govori Mac OS X koji bi program trebao izvršiti sljedeće naredbe.

Aktivacija dovodi Finder na prednju stranu - kao da ste kliknuli na njegovu ikonu u Docku.

Otvorite mapu "Aplikacije" diska za pokretanje nalaže Finderu da otvori novi prozor koji prikazuje mapu Applications na glavnom tvrdom disku.

End tell govori Finderu da se bavi svojim poslom i zanemari daljnje naredbe iz vaše skripte.

Da biste testirali skriptu, kliknite gumb Pokreni ili pritisnite -R.

Savjet Ovu skriptu možete urediti tako da bolje odgovara vašim potrebama. Pokušajte, na primjer, zamijeniti "Aplikacije" s "Korisnici" tako da skripta otvori mapu Korisnici.

Izradite vlastite AppleScripts

Mac OS X dolazi s desecima programa—ima ih samo nekoliko! Dobro, nešto nedostaje - metronom, na primjer. Kako ćete svirati klavir u stalnom ritmu, a da ne čujete ritmičke klikove koji vaš Mac čini? Naravno, u škripcu će pomoći GarageBand metronom, ali ovo je pucanje iz topa na vrapce.

Umjesto toga možete koristiti AppleScript. Otvorite novi dokument u uređivaču skripti (Datoteka (Datoteka)> Novo (Novo) ili -N) i upišite sljedeće:

dijaloški okvir "Dobro došli u AppleScript Metronome"

postavite bpm na tekst vraćen od (prikaz dijaloškog okvira ¬

"Koliko otkucaja u minuti?" zadani odgovor 60)

postavite pauzuBetweenBeeps na (60/bpm)

odgoda pauzaBetweenBeeps

Bilješka Ne morate ispisivati ​​znak ¬. Ovako kažu programeri: "Ovo bi trebalo biti u jednom retku, ali širina stranice nije bila dovoljna."

Kada pokrenete ovu skriptu, pojavljuje se dijaloški okvir koji vas pita koliko bi otkucaja u minuti trebao brojati metronom. Broj koji unesete (na primjer, 120) pohranjen je u varijablu za privremenu pohranu unutar skripte koja se zove bpm.

Skripta zatim izračunava pauzu između zvučnih signala i upisuje taj djelić sekunde u varijablu pauseBetweenBeeps. Ako ste rekli skripti da se oglasi, recimo 120 puta u minuti, pauseBetweenBeeps bi se postavila na 0,5 jer bi između zvučnih signala trebala postojati pauza od pola sekunde.

Konačno, skripta stvara beskonačnu petlju: zvučni signal, pauziranje na određeno vrijeme, a zatim ponavljanje.

Kliknite gumb Pokreni da biste testirali svoju skriptu, a kada vam je dosta zvukova, kliknite gumb Stop.

MOJE OMILJENE TEHNIKE
Privici za radnu površinu jednim klikom
Evo malog Automator trika koji može spasiti život svima koji moraju često slati dokumente e-poštom. (Modelira vrlo zgodnu naredbu Pošalji na koja se nalazi u izborniku prečaca na Windows strojevima.)

Stvorite proces u Automatoru sa samo dva koraka: Nabavite odabrane stavke Finder (u kategoriji Finder) i New Mail Message (u kategoriji Mail).

Ako uvijek šaljete datoteke na isto odredište - na primjer vašem šefu - možete čak i unaprijed postaviti adresu u procesnoj traci Automatora. Ako se predmet i tekst poruke svaki put ponavljaju, također se mogu postaviti unaprijed.

Sada odaberite Datoteka (Datoteka)> Spremi kao dodatak (Spremi kao modul). Imenujte proces Pošaljite ovo ili kako god želite.

Od ovog trenutka, možete poslati dokument iz Findera tako da ga pritisnete Control i kliknete na njega i odaberete Automator>Email This iz izbornika koji se pojavi.

Pobjeda! Mac OS X pokreće Mail i stvara odlaznu poruku koja već ima priloženu datoteku.

Besplatni savjet: ako umetnete još jednu radnju Create Archive (iz kategorije Finder) između ove dvije radnje, vaša naredba izbornika će također komprimirati datoteku (ili mapu) u .zip datoteku prije nego što je pošalje poštom!

Savjet Bit će još bolje ako u sustavu označite Postavke sustava (Postavke sustava)> Univerzalni pristup (Univerzalni pristup)> Sluh (Sluh)> Bljesak zaslona kada se pojavi zvuk upozorenja (Flash zaslon kada se pojavi zvuk upozorenja) postavke. Sada, kada je vaša skripta pokrenuta, zaslon će treptati zajedno sa zvukom. Ako snimate glazbu, utišajte svoj Mac: imat ćete vizualni metronom, ali se neće čuti zvuk.

Usporedba AppleScripta i Automatora

AppleScript se može koristiti na stotine načina – automatiziranje procesa koji je previše složen za Automator, upravljanje programima koje Automator ne može vidjeti i programiranje stvari poput petlje naredbi koje Automator ne može učiniti.

Ako AppleScript tretirate samo kao zamjenu za Automator, propuštate puno energije. Istina, AppleScript pruža značajke koje Automator vjerojatno neće imati za 10 godina: to je mnogo napredniji alat.

Automator je dobar za jednostavne zadatke. Ako trebate AppleScript za automatizaciju vašeg Maca, nemojte očajavati. Preuzimate stvarno moćan alat. (Možete ih čak i kombinirati i ugraditi AppleScripts u Automator procese pomoću akcije Pokreni AppleScript.)

Uspjesi u automatizaciji!

Ovo je programski jezik, tehnologija koja pripada tvrtki, najčešće se koristi za automatizaciju tijekova rada i omogućuje međusobnu komunikaciju programa. Kako 🙂 .

Neću otvarati seriju članaka na temu: “Applescript za lutke. Korak po korak ”iz jednog jednostavnog razloga - na internetu postoji mnogo materijala o ovoj temi. A kako ne bih prepisivao početnik na svoj način i ne bih ponovno izumio kotač, navest ću samo nekoliko izvora koji su mi se činili najprikladnijim. Po njemu ću i sam biti prosvijetljen.

Gotovo svaki autor piše da je skriptni jezik toliko jednostavan da svaki korisnik s barem nekim znanjem tradicionalnog engleskog može njime pisati. I nije potrebno poznavati sve aspekte objektno orijentiranog programiranja. Ima u tome istine, jer u scenariju

reci aplikaciji "Finder"

prikaz dijaloškog okvira "Zdravo luđaci!"

teško je ne razumjeti što se i od kojeg programa traži. Ali ne slažem se baš oko OOP-a. Ako napišete beskorisne stvari kao što je bip ili kažete "Tko je čovjek?" , onda da, možda ne znate što su ciklus i klasa, a čak je i ovo još daleko od OOP-a. Ali ako želite naučiti pisati programe ili skripte za olakšavanje svakodnevnih zadataka za sebe ili neku bazu podataka, onda bolje da znate što su "Nasljeđivanje" i "Encapsulation".

Gdje početi?

Sve je jednostavno i na dohvat ruke. Pokrenite Script Editor i prvo idite na pomoć. Ako koristite verziju na ruskom jeziku, uopće ne bi trebalo biti poteškoća.

Za koga knjiga?

Ako standardni priručnik nije dovoljan, ili je napisan tako da vam nije sve odmah jasno, možete se obratiti knjigama (elektronskim ili tiskanim - odlučite sami). Često se spominje knjiga "AppleScript Language Guide". Ispostavilo se da postoji poveznica na to uz pomoć Script Editora.

Nemoguće je ne uzeti u obzir druge resurse koje nam nudi sama razvojna tvrtka. Postoji knjiga za početnike "AppleScript 1-2-3" ili je možete kupiti s istim imenom.

Veće je bolje

Zašto ne razmotriti online resurse? Uostalom, ovdje možete pronaći najsvježije, a čitatelji češće i brže reagiraju na povratne informacije. Tražit ćemo literaturu na pristupačnom jeziku.

Uz razne pregledne članke, na Internetu možete pronaći i "". Rekao bih da su za one koje zanima applescript. Knjiga je za početnike, napisana je jednostavno, ima malo stranica, ali ima dosta primjera. Upravo ono što je potrebno. Tamo također možete preuzeti knjigu pod nazivom "".

Ruski priručnici su dobri, ali bez osnovnog znanja engleskog bit će teško naučiti skriptni jezik, blago rečeno.

Od članaka obratio bih pažnju na ovaj. Svidio mi se jer detaljno opisuje neke od osnovnih principa samog skriptnog jezika, "kratko i jasno".

Ne zaboravite i na razne forume na kojima korisnici razmjenjuju mišljenja, iskustva i gotove scenarije. Ja osobno označim ovu.

Prije nego krenete tražiti i preuzimati materijal, preporučam da se odlučite za cilj. Za opći razvoj, možete se upoznati s nekim izvorima. Da biste napisali stvarno korisne skripte, morat ćete potrošiti nekoliko dana/tjedana/mjeseca (ovisno o vašim sposobnostima i slobodnom vremenu). Vrlo je zanimljivo i izaziva ovisnost.

Ne mogu sada procijeniti šanse da se osoba zaposli kao programer ili tester applescripta. Najvjerojatnije ne baš velik. Ali ako osjećate da je ovo vaše - samo naprijed. Ako vidiš cilj i ne vidiš barijere, nije bitno kome (barem tebi) treba. Pravi talent uvijek će se cijeniti. I imate priliku raditi ono što volite.

Koristite li već AppleScript? Ne znam što je to? Mislite li da vam ovo nije od koristi? Ili, možda, sjećanje na školske sate informatike izaziva napad alergije na sam spomen riječi "program"? Dakle, učinili ste pravu stvar otvarajući ovaj članak.

Nadam se da će vam pomoći razumjeti ovaj vrlo koristan alat, a vrijeme provedeno u čitanju kasnije će vam se lijepo isplatiti.

Često, kada radimo s određenim programom, moramo izvoditi iste radnje više puta: pritisnuti iste tipke, odabrati istu naredbu iz izbornika, unijeti iste vrijednosti u dijaloške okvire i dolazi AppleScript. Slijed naših operacija opisujemo u obliku “skripte” programa, pokrećemo ga i - mirno pijemo kavu, povremeno gledajući je li završila obrada posljednje tri tisuće sedamsto osamdeset devete datoteke. Nešto slično postoji u obliku DOS BAT datoteka ili UNIX shell skripti. Ali AppleScript ima važnu prednost: i Finder i veliki broj aplikacijskih programa "razumije" ovaj jezik, a skripta im može pristupiti svima redom.

Jezik koji ćemo koristiti (koji se naziva i AppleScript) vrlo je blizak običnom engleskom. Na primjer, skripta bi mogla izgledati ovako:

reći aplikacija "Finder"
napraviti
kraj reci

Mislim da je svatko razumio što će učiniti. Ali da biste naučili pisati vlastite skripte, morat ćete razumjeti neke koncepte.

Objekti, svojstva, događaji...

AppleScript je objektno orijentirani jezik. Odnosno, sve što "postoji" u vašem računalu, ono smatra predmeta(predmeti). Objekt se može sastojati od drugih objekata, biti uključen u drugi objekt, odnositi se na drugi objekt. Na primjer, Finder je objekt. Ima "podređene" objekte - mape, datoteke, prozore. Tex-Edit editor ima tekstualni objekt koji se sastoji od riječi, redaka, pasusa itd. Poznavanje odnosa objekata (njihova hijerarhija) vrlo je važno, budući da se naredba prenosi "duž lanca". Postoji neka vrsta "vertikale moći": mi dajemo nalog Finderu, on - mapi, onom - mapi koja je ugniježđena u njoj, i tako dalje, dok ne dođe do željene datoteke. I "izvješće o učinku" opet će slijediti isti lanac - u suprotnom smjeru.

Oblikuju se objekti iste vrste (na primjer, sve mape). Razred(razred). Svaki objekt ima neki skup Svojstva(osobine) koje ga razlikuju od drugog. Na primjer, svaka datoteka ima naziv, oznaku, vrstu, datum stvaranja, verziju i više od desetak karakteristika. Skripta može promijeniti neke od njih, neke se mogu samo čitati.

Jedan razred (tzv "potomak") može naslijediti svojstva druge klase ( "predak"). Na primjer, i mape i datoteke imaju zajedničkog pretka - element (stavku).

Pogledajmo sada naš primjer, malo ga proširivši:

- bilo koji tekst napisan iza "dva minusa",
- smatra se komentarom;
- računalo na to ne obraća pažnju
reći aplikacija "Finder"
- riječ tell počinje grupu naredbi,
- vezano za jedan objekt
napraviti nova mapa na radnoj površini sa svojstvima (naziv: "Moj!", indeks oznake: 2)
kraj reci - i ovako završava grupa naredbi
reći aplikacija "Finder" reći stavka "Moja!"
otvorena
skupa to je ime do"Samo za mene"
kraj reci

Prvo kažemo Finderu da stvori novi objekt mape koji se nalazi na tablici. Neka svojstva su postavljena u naredbi (naziv mape i njezina oznaka boje), ostala će dodijeliti računalo prema zadanim postavkama. Zatim kažemo Finderu da naredi svojoj mapi (i to samo na ovaj način: "vazal mog vazala nije moj vazal") da otvori i promijeni ime.

Ali bilo bi vrijeme da se s teoretskog zaključivanja prijeđe na nešto opipljivije. Vrijeme je da pokrenete Script Editor.

Urednik skripte

Stvoreno je nekoliko programa za rad s AppleScriptom, među kojima su vrlo napredni razvojni alati. Nakon toga ćete vjerojatno kupiti jedan od njih. No za početno upoznavanje dovoljan nam je editor koji je dio Mac OS-a.

Prozor Script Editor podijeljen je na dva dijela: na vrhu je napisan komentar (prikazuje se na ekranu prije izvršavanja skripte), a program je napisan na dnu. Pokušajmo upisati naš primjer (naravno, možete i bez mojih komentara). Zatim kliknite gumb "Provjeri sintaksu". Ako ste pogriješili, pojavit će se okvir s objašnjenjem. No, najvjerojatnije će sve biti u redu - i nakon kratke stanke tekst će donekle promijeniti svoj izgled. Koji će font različiti elementi skripte biti istaknuti u ovom slučaju može se konfigurirati pomoću naredbe "AppleScript Formatting" u izborniku "Uredi". Sada možete kliknuti gumb "Pokreni". Upalilo je?

Napisana skripta može se spremiti na različite načine: bilo samo izvorni tekst(Tekst) ili već sastavljena skripta(Kompilirana skripta) - spreman za izvođenje od strane uređivača skripte ili nekih drugih programa, konačno - u obliku neovisnog (fusnota: naravno, ne baš - neće učiniti ništa bez instaliranog AppleScript-a) program apleta(Primjena). Možete napraviti skriptu "samo za izvršenje" (Run-only). Samo nemojte zaboraviti u ovom slučaju spremiti - za sebe - i izvornu datoteku. U protivnom, ne samo konkurenti koji žele povrijediti vaša autorska prava, već i vi sami nećete moći doći do njegovog izvornog koda.

Rječnici, rječnici, rječnici...

“Pa, dobro”, vjerojatno mislite, “koristiti uređivač je jednostavno, čitanje gotovih skripti također nije teško. Ali kako ih napisati? Gdje nabaviti sve te klase, naredbe, svojstva?” Odgovor je jednostavan: morate pogledati rječnik. Svaki program koji podržava rad s AppleScriptom, kao i ScriptingAddition (o "dodatcima" ćemo govoriti kasnije) sadrži kratak opis svih svojih objekata i prepoznatih naredbi. Ovaj rječnik možete pogledati izravno iz uređivača skripte - odabirom "Otvori rječnik" iz izbornika "Datoteka" ili povlačenjem željenog programa na sliku urednika.

Macintosh programi mogu podržavati AppleScript na tri različite razine.
Skriptabilan- program može izvršavati naredbe opisane u obliku skripte.
za snimanje- moguće je snimiti naredbe koje se izvršavaju u programu. Izradimo novu skriptu, započnemo snimanje (s tipkom "Snimi"), izvršimo, na primjer, ručno potrebne radnje u Finderu, zaustavimo snimanje ("Stop"). To je sve. Stoga je vrlo zgodno napraviti pripreme za scenarij.
pričvrstivi- skripta se može izvršiti izravno iz programa, "prikačena" na izbornik ili bilo koji objekt u prozoru. Primjeri takvih programa: AppleWorks, Tex-Edit, FileMaker Pro.

Otvorimo, na primjer, rječnik Finder.

Na lijevoj strani vidite popis svih "pojmova" definiranih u programu. Imajte na umu da su neki od njih u kurzivu. To su objekti. Svi ostali su timovi. Klikom na željenu riječ možete pročitati kratku referencu.

Što, na primjer, možete naučiti o "kontejneru"? Prvo vidimo: "Spremnik klase: Stavka koja sadrži druge stavke". To jest, to je element koji sadrži druge elemente. A ako pogledate opise sljedećih nekoliko klasa, postaje jasno da je "spremnik" koncept koji uključuje diskove, mape i tablicu (Desktop) i koš za smeće (smeće). Ima zajednička svojstva ovih, u mnogo čemu sličnih, objekata. A u "obiteljskom stablu" - hijerarhiji klasa - je njihov predak.

Nastavi čitati. "Oblik množine: spremnici". Množina? Učimo li englesku gramatiku? Da i ne. Već sam spomenuo da je AppleScript što bliži prirodnom jeziku. A ako želimo obraditi sve objekte dane klase, onda to možemo napisati, kako bi trebalo biti na engleskom, ili "svaki kontejner" ili "spremnici".

Kao što već znate, objekt može sadržavati i druge objekte. Koji i kako se međusobno razlikuju opisano je u sljedećem odjeljku rječnika - "Elementi" (Elementi). Kontejner, kao što vidite, može sadržavati objekte od desetak različitih klasa, na primjer, druge spremnike, mape, dokumente i programske datoteke, itd. I možete specificirati određeni element klase bilo imenom (po naziv) ili po serijskom broju (prema numeričkom indeksu).

Pa, i na kraju, posljednji odjeljak je "Svojstva" (Properties). Ovdje prvo vidimo da je klasa "Container" nasljednik klase "Element" ( stavka ), odnosno ima sva svoja svojstva. Ali ova klasa ima i nekoliko svojih. Imajte na umu: neka od njih su označena "" (samo za čitanje), ova svojstva ne mogu se promijeniti naredbom AppleScript.

Pogledajmo sada kako su naredbe opisane u rječniku. Na primjer, uzmimo "Make" (create) koji vam je već poznat iz primjera skripti. Na vrhu stranice - svrha naredbe (napravi novi element). Zatim – kako je napisan (sintaksa) i koje parametre ima. Imajte na umu da su neki parametri zatvoreni u uglastim zagradama. Tako u rječniku znače neobavezno opcije. Prilikom sastavljanja skripte možemo bez njih, ali ako ih koristimo, ne trebamo stavljati nikakve zagrade. Završava pomoć za naredbu navođenjem proizlaziti(proizlaziti). U našem primjeru, to će biti "referenca" (referenca) na kreirani objekt.

Izvoli. Već možete pokušati napisati neku jednostavnu skriptu. Tako…

O stvoritelju!

Mislim da znate da svaka datoteka na Macintoshu ima dvije karakteristike - vrstu i kreatorski kod - koje omogućuju Finderu da odluči kako se nositi s tom datotekom. Nije tajna da se često - na primjer, nakon prijenosa putem Interneta - ti atributi gube. Naravno, postoji mnogo programa koji ih mogu promijeniti. Ali pokušajmo napraviti vlastiti uslužni program, koristeći samo ono što je već uključeno u Mac OS.

Počnimo s najjednostavnijom opcijom. Pretpostavimo da trebamo dodijeliti datoteku letter.txt koja se nalazi na Tablici, dodijeliti tip "TEXT" i kod kreatora "ttxt" (SimpleText).

Odaberite objekt datoteke u rječniku Finder. Pronalazimo svojstva koja su nam potrebna: vrstu datoteke i vrstu kreatora. Za promjenu vrijednosti svojstva koristite “setraquo; (instalirati). Dakle, cijela skripta bi trebala izgledati otprilike ovako:

reći aplikacija "Finder" reći datoteka "letter.txt"
skupa njegovu vrstu datoteke do"TEKST"
skupa njegov tip tvorca do"ttxt"
kraj reci

ili ovako:

reći aplikacija "Finder"
skupa Vrsta datoteke od datoteka "letter.txt" do"TEKST"
skupa tip kreatora od datoteka "letter.txt" do"ttxt"
kraj reci

Dakle, kao što vidite, možete ili narediti datoteci promijeni svoja (svojina) svojstva (u ovom primjeru riječ "njegova" može biti izostavljena, jer je svrha naredbe nedvosmisleno definirana čak i bez nje), ili - program Finder može promijeniti svojstva podređenog objekta.

Svjesno sam postavio uvjet da se datoteka nalazi na radnoj površini. Inače, trebao nam je duži "lanac" podređenih objekata (nešto poput "kaži aplikaciji "Finder" da kaže disku "Macintosh HD" da kaže mapi "lekcija" da kaže datoteci "letter.txt""). Ili - za drugu verziju skripte - naznaka puni put: "datoteka "Macintosh HD:lesson:letter.txt"" (podsjećam: put u Mac OS-u je napisan s dvotočkama).

Pa, scenarij je napisan. On radi. No, iskreno, od toga nema nikakve koristi - uostalom, za svaku sljedeću datoteku morate promijeniti tekst same skripte. Vau, olakšali smo posao! Moramo poboljšati naš program. Naučimo ga pitati korisnika koju datoteku treba obraditi. Otvorite Finderov rječnik, pogledajte i evo ih! Ništa prikladno. Je li Apple napravio takvu pogrešku? Nikako…

"Zar nemaš isti, ali sa sedefastim gumbima?"

Arhitektura otvorene skripte (OSA - Open Script Architecture) omogućuje vam stjecanje gotovo svih potrebnih elemenata jezika. Naravno, ako se netko potrudio napisati "dodatak"(Scripting Addition ili OSAX) koji opisuje takav objekt i odgovarajuće naredbe. Ti se dodaci nalaze u mapi Dodaci za skriptiranje koja se nalazi u mapi sustava (ranije u Extensions). Bilo koja skripta ih može koristiti, bez obzira koji program trenutno naređuje.

Otvorimo rječnik Standardnih dodataka (za brzi dolazak do mape Scripting Additions, u dijaloškom okviru Open Dictionary nalazi se poseban gumb). Evo je - naredba "odaberi datoteku" (odaberi datoteku). Rezultat njegovog rada bit će veza na datoteku koju je odabrala osoba u standardnom dijaloškom okviru Otvori. Ovu vezu pohranit ćemo u varijablu, koju ćemo nazvati, na primjer, MyFile.

Naša skripta će izgledati ovako:

reći aplikacija "Finder"
skupa MyFile do odaberite datoteku
skupa Vrsta datoteke od MyFile do"TEKST"
skupa tip kreatora od MyFile do"ttxt"
kraj reci

Potpuno funkcionalan softver. Ali je li moguće učiniti ga praktičnijim? Zašto pokrenuti skriptu zasebno, a zatim odabrati naziv datoteke u dijaloškom okviru - ne bi li bilo bolje koristiti metodu Drag'n'Drop? Sve je u našoj moći!

Pisanje kapljice

Dakle, što želimo dobiti i kako to postići.

  1. Program bi trebao raditi neovisno o uređivaču skripte. S ovim je sve jasno, već znamo da ga za ovo treba spremiti kao aplet.
  2. Svrha skripte je promijeniti svojstva dane datoteke. Ovaj dio je već spreman.
  3. Datoteku, "povučenu" na sliku skripte, treba obraditi. Ovdje zabava počinje. S objektima koji "žive" u našem računalu stalno se događaju razne stvari. razvoj događaja. Na primjer, datoteka se može premjestiti, kopirati ili otvoriti. Program - pokrenite, izvršite bilo koju naredbu ili ne učinite ništa, konačno - završite. Da bi objekt "znao" kako reagirati na određeni događaj, potrebna je posebna potprogram - "rukovatelj"(rukovatelj). Kada se datoteke, mape ili pogoni ispuste na aplet, Finder mu šalje narednu poruku "Otvori" i popis "bačenih" objekata. Za ovaj događaj morat ćemo napisati voditelja.

U najjednostavnijem slučaju to će izgledati ovako:

na otvorite FileList - riječ "uključeno" pokreće obrađivač događaja
- u početku skripta radi sama, bez utjecaja na programe
skupa MyFile do stavka 1 od Popis datoteka
reći aplikacija "Finder" - sada zapovijedamo Finderu
skupa Vrsta datoteke od MyFile do"TEKST"
skupa tip kreatora od MyFile do"ttxt"
kraj reci
kraj otvorena - ne zaboravite naznačiti da je rukovatelj završio

Za privremeno pohranjivanje popisa koristili smo varijablu FileList. Varijable se mogu imenovati bilo kojom kombinacijom latiničnih slova, ali je poželjno da se po imenu razumije što ta varijabla znači.

Kao što vidite, obrađuje se prvi element s popisa koji je prošao prilikom pokretanja skripte. A ostalo? Naš program na njih jednostavno ne obraća pažnju. Nije teško pretpostaviti da će sljedeći korak na putu do izvrsnosti biti obrada cijele hrpe datoteka odjednom.

Jedan, jedan, još jednom...

Do sada su se sve naredbe naših skripti izvršavale jedna po jedna redoslijedom kojim su napisane. Sada moramo ponoviti iste radnje nekoliko puta za redom. Morat ćemo organizirati posebnu strukturu - ciklus. AppleScript ima razne kontrolne naredbe za to. Radnje možete ponoviti unaprijed unaprijed određeni broj puta ili ih izvoditi dok se ne ispuni određeni uvjet. Ali gotovo svaki programski jezik ima takve cikluse. U našem zadatku idealan je još jedan - "ponoviti za svaki element popisa". Uz to, skripta će poprimiti sljedeći oblik:

na otvorite FileList
ponovite sa MyFile u Popis datoteka - tako je napisan početak ciklusa
reći aplikacija "Finder"
skupa Vrsta datoteke od MyFile do"TEKST"
skupa tip kreatora od MyFile do"ttxt"
kraj reci
kraj ponavljanja - kraj kontrolne strukture mora biti označen
kraj otvorena

Što još nedostaje našem programu da postanemo sasvim profesionalni? I nedostaje joj "zaštita od budale". Uostalom, možete "baciti" i mape i prečace na sliku skripte, ali ona bi trebala raditi samo s običnim datotekama.

Koga hoćeš, biraj

Dakle, kada ponavljate elemente popisa, morate odrediti što je svaki od njih. Samo ako je obična datoteka uhvaćena - promijenite njezina svojstva. Da biste odabrali hoćete li izvršiti ili ne izvršiti bilo koju operaciju, omogućuje još jednu kontrolnu strukturu - uvjetni operator ako. Možete odrediti je li objekt mapa ili prečac dobivanjem informacija o njemu pomoću naredbe "info for" iz Standardnih dodataka. Njegov rezultat bit će objekt klase "informacije o datoteci". Evo njegovih svojstava - "mapa?" (mapa) i "prečac?" (alias) - provjerit ćemo. Budući da nam je potrebno da element ne bude mapa I nije bio prečac, spojit ćemo dva uvjeta logičkom operacijom "i" (kada je dovoljno ispuniti bilo koji od uvjeta - ILI prvi, ILI drugi - koristite hrpu "ili"). Općenito, kao rezultat našeg razmišljanja, dobili smo sljedeću skriptu:

na otvorite FileList
ponovite sa MyFile u Popis datoteka
skupa theInfo do informacije za MyFile
ako(mapa od theInfo je lažno) i ¬
(alias od theInfo je lažno) zatim
reći aplikacija "Finder"
skupa Vrsta datoteke od MyFile do"TEKST"
skupa tip kreatora od MyFile do"ttxt"
kraj reci
završi ako
kraj ponavljanja
kraj otvorena

Imajte na umu da svi uvjeti u naredbi If moraju biti napisani u jednom redu. Kako bi tekst programa bio lakši za čitanje, može biti korisno "presaviti" dugi red, kao što je učinjeno u ovom primjeru. Da biste to učinili, pritisnite kombinaciju tipki "Opcija-Povratak". U tekstu će se pojaviti znak za nastavak "¬".

Naravno, za ovu malu lekciju uspio sam vas upoznati samo s najjednostavnijim metodama rada s AppleScriptom. Ali mislim da ste vidjeli da u tome nema ništa komplicirano. Probati! Nadam se da ću ovu temu nastaviti u budućim člancima.

  • AppleScript Apple . AppleScript AppleScript. , - .

    AppleScript.

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

    1 . . . . . . . . . 7

    2 . . . . . . 10

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

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

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

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

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

    8 (II) . . . . . . . trideset

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

    . (. petnaest). - AppleScript. , .

    AppleScript, AppleScript:

    , ; AppleScript, .., AppleScript; (Mac OSX)

    AppleScript; AppleScript ; AppleScript (Mac OS X).

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

    5 AppleScript , . - AppleScript Studio, (Alati za razvojne programere XCode).

    JavaScript, .

    () . , . , . , .

    . , : . - . , . : .

    AppleScript, . . Uređivač skripte (.2), ​​.

    Autorsko pravo (c) 2003. Bert Altenburg

    : Bert Altenburg, - .

    jedan. . , - . , AppleScript . AppleScript.

    2. , PC, . - , -. CPU Monitor (uslužni programi, aplikacije), - . (Distributed Computing DC), [e-mail zaštićen], . 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. , - . , .

    , -. , (izjava), . , .

    AppleScript, . , jedan .

    AppleScript:

    recite "Ovo je izgovorena rečenica."

    Fred, Trinoidi, Cellos, Zarvox, Victoria.

    recite "Ovo je izgovorena rečenica." koristeći "Zarvox"

    : AppleScript . , . , Victoria Zarvox .

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

    nalazač. , Finder . , . Finder , - , . -, Otpad, Finder.

    8, AppleScript.

    Adobe Photoshop. photoshop. , Finder.

    AppleScript, .

    Reci, AppleScript (Mac OS X), Finder. AppleScript (Mac OS X) , - kraj reci . AppleScript Finder Finder, . , :

    reci aplikaciji "xyz"

    (kaži blok). xyz xyz. , AppleScript , - , . , . (, ("". : , AppleScript . .)

    nalazač. , Finder. nalaznik, nalaznik.

    reci aplikaciji "Finder" isprazni smeće otvori startup disk end reci

    nalazač. Finder, - , . .

    Finder, AppleScript (Mac OS X) .

    9tell aplikacija "Finder" isprazni smeće otvori pokretački disk end tellbeep

    nalazač. bip AppleScript. , .

    Zvučni signal (AppleScript (Mac OS X)) .

    reci aplikaciji "Finder" isprazni bip za smeće otvori pokretački disk end reci

    Zvučni signal Finder, AppleScript (Mac OS X) . , . , -, Finder , bip, Finder .

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

    reci aplikaciji "Finder" isprazni smeće bip kraj reci otvori disk za pokretanje

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

    reci aplikaciji "Finder" isprazni otpad reci otvori disk za pokretanje reci "Ispraznio sam smeće i otvorio disk za pokretanje za tebe" koristeći "Victoria"

    AppleScript (Mac OS X), Finder. , .

    urednik skripte,. Uređivač skripti AppleScript, aplikacije. , . .

    sastaviti. , AppleScript , AppleScript . Yo Finder! Baci moje smeće (Finder!) Hej Finder! Očistite kantu (Finder,) Finder. (kompilacija) AppleScript (Mac OS X) : - . , . , - . urednik skripte.

    AppleScript (Mac OS X) .

    recite "Učim AppleScript na jednostavan način!" koristeći "Zarvox"

    trčanje, . urednik skripte, !

    Unesi . Unesite - razmak()(). Povratak (Shift) -. povratak.

    Sastaviti. - Trčanje, .

    Trči, Command-R. : , -

    , (sastavljena skripta) (aplikacija).

    : , - AppleScript,

    Pokreni uređivač skripti.

    : , AppleScript ,

    urednik skripte. , - , (Postavke sustava). , . - , Uređivač skripte, Otvori datoteku.

    : Spremi, - (samo za pokretanje). , - .

    reci aplikacija "Finder" isprazni smeće kraj reci

    urednik skripte.

    Aplikacija, :

    Aplikacija Script Editor. .xyz. - (-), pqr. - , AppleScript . , AppleScript pqr , reci .

    Urednik skripte , - . , kontrolirati . :

    1) Control Script Editor. (.), Reci blokovi. , Recite "Finderu".

    2) Finder isprazni smeće , (), 1. . - .

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

    2+6=xy=3*4

    AppleScript. (varijable) , . - (identifikatori), . - AppleScript, postavljeno.

    postavite x na 25 postavite y na 4321.234

    AppleScript, . : (- , (bugovi)). , x. , širina slike .

    postavite širinu slike na 8

    , (, -,). , AppleScript, - . , (osam ) .

    AppleScript - . , postavite, recimo, na, bip , - AppleScript. , širina slike, . -, .

    AppleScript, . , .

    postavite širinu slike na 8 postavite Visinu slike na 6 postavite sliku Površinu na sliku širinu * Visina slike

    , (operateri), - .

    postavite cubeEdgeLength na 10,0 postavite cubeVolume na cubeEdgeLength ^3

    urednik skripte,. , . (rezultat) . , 10,0. , 1000,0. , cubeEdgeLength ^ 3 , .

    : . - . (cijeli brojevi) , - , (.13)