Računalniki Windows internet

MAC OS X Uvod v AppleScript. AppleScript za absolutne začetnike. Avtomatizacija aplikacij za kakav

Odprite, obrežite, pretvorite v drug barvni model, shranite. Odprite, obrežite, pretvorite v drug barvni model, shranite. Odpri ali še tukaj: izberemo, prenesemo v medpomnilnik, preklopimo na drugo aplikacijo, kopiramo iz medpomnilnika. Izbira, medpomnilnik, preklop

Ne zveni kot ustvarjalna dejavnost, kajne? Toda skoraj vsak, ki se ukvarja z računalnikom, mora opraviti na desetine in stotine ponavljajočih se, v bistvu enakih operacij na dan. In po treh tednih dela z nekakšnim »inteligentnim pretvornikom« ni tako, kot da bi se učil nove različice »Photoshopa« ali obvladal InDesign – računalniku se niti ne želim približati. Z eno besedo - potrebujete pomočnika. Ki bo prevzela izvedbo vseh (no, ali vsaj večine) dolgočasnih in rutinskih, a seveda potrebnih ponavljajočih se dejanj.

AppleScript - kakšna zver?

In imamo takšnega pomočnika. To je poseben jezik za pisanje skript (ali, če vam je ljubše, skript), imenovan AppleScript. Ta jezik se je prvič pojavil v operacijskem sistemu Mac OS 7.5 (takrat še sistem Macintosh) in je bil tako dobro implementiran, poleg tega pa je imel tako široke zmožnosti, da je z izdajo desete različice OS "segel" le do različica 1.8. Toda čudno je, da tehnologija AppleScript kljub velikemu potencialu ali že več kot desetletju obstoja ni postala razširjena med uporabniki Mac. Kaj je krivo - miti o njeni kompleksnosti, vztrajnost uporabnikov, ki so vajeni izključno nadzora "ikona-miška" nad svojimi Maci, ali kaj drugega - ne morem soditi, a dejstvo je, da na stotine ve za obstoj AppleScript, vendar ga uporabljajo samo enote. Zato po mojem mnenju ni odveč upoštevati osnovna načela te tehnologije.
Jedro AppleScript je Macintosh Apple Events, storitev za obdelavo sistemskih dogodkov, ki omogoča izmenjavo nadzornih ukazov, podatkov in zahtev med aplikacijami, operacijskim sistemom, omrežnimi storitvami in celo različnimi računalniki. Skriptni mehanizem (ki je preprosta razširitev, ki se nahaja v sistemski mapi) pretvori ukaze skripta v zaporedje dogodkov in jih posreduje aplikaciji, določeni v skriptu, in po obdelavi prejme rezultat in ga pošlje viru skripta.
Čeprav je AppleScript pravi programski jezik (podpira spremenljivke, zanke, pogojne stavke, podprograme, omogoča izvajanje zapletenih izračunov in ima celo orodja za gradnjo in obdelavo pogovornih oken), glavne naloge še vedno ležijo na plečih zunanjih aplikacij. In AppleScript deluje kot nekakšno "lepilo", ki prenaša podatke med programi ("prenos datoteke iz Illustratorja v Photoshop"), ocenjuje trenutno stanje delovnega okolja posameznih programov, OS in omrežja ("je rasterizacija datoteke že dokončano ali še ne?"), in vam omogoča, da izvedete dejanja na podlagi rezultatov prejšnjih operacij ("če so vse datoteke rasterizirane, pošljite gradivo v posebno mapo in zaženite skript, ki je odgovoren za sestavljanje časopisne strani ").
Obstaja več stopenj "scenarnosti" aplikacij. Tako na primer tisti programi, ki so najmanj prilagojeni avtomatizaciji, razumejo le osnovne, najpreprostejše ukaze: naložite aplikacijo, odprite dokument, ga pošljite na tiskanje in zaprite aplikacijo (zaženi, odpri, natisni in zapri). Bolj "skladni" (kot so na primer Photoshop, Illustrator in FreeHand) imajo v svojem arzenalu orodja, ki so povsem dovolj za pisanje programov za paketno obdelavo datotek in izvajanje določenih zaporedij dejanj (makroukazi). No, tisti, ki podpirajo skoraj vse funkcije tehnologije AppleScript (in to vključuje QuarkXPress, Adobe InDesign in večino programov Apple), omogočajo nadzor vašega dela na najbolj »globokih« ravneh: nastavite možnosti tiskanja, uporabite odložišče, preverite in spreminjanje vrednosti notranjih spremenljivk itd.

Osnove skriptologije

Za vnašanje izvornih besedil in izvajanje skriptov lahko uporabite program Script Editor - glavno in edino orodje za ustvarjanje skriptov v standardni distribuciji Mac OS.
Urejevalnik skriptov se nahaja v mapi Apple Extras/AppleScript (za lokalizirano različico Mac OS - Add-ons/AppleScript) in po zagonu prikaže okno, podobno tistemu na sl. eno.


riž. 1. Urejevalnik skript

Zgornje in spodnje vnosno polje sta namenjena opisu skripta oziroma njegovega besedila in skoraj ne potrebujeta dodatnih komentarjev. Gumb za snemanje vam omogoča snemanje ukaza makra, za to morate po pritisku na gumb iti na želeno aplikacijo in izvesti vrsto dejanj; po katerem se v spodnjem vnosnem polju prikaže besedilo skripta (opozoriti je treba, da zmožnosti snemanja makro ukazov ne podpira vsak program). Gumb Preveri sintakso preveri, ali so v besedilu skripta kakšne napake, in ga tudi pripelje v "tržno" obliko - poudari ključne besede in ugnezdene bloke krepko in alineje.
Scenarij prvi. Za začetek bomo po pričakovanjih napisali preprost program, ki izvede več osnovnih dejanj: zapre vsa odprta okna, odstrani vse izmenljive diske iz medijev, razporedi ikone na zaslonu, izprazni koš in izklopi računalnik. Besedilo takega programa izgleda takole:

povej aplikaciji "Finder"

zaprite vsako okno
izvrzi vsak disk
očisti namizje
prazen smeti
ugasniti

konec povej

Kaj vse to pomeni? Storitev Apple Events ("hrbtenica" tehnologije AppleScript) prenaša podatke, zahteve in sporočila ne le med programi, ampak med programskimi elementi, imenovanimi objekti, ki imajo lahko ugnezdeno strukturo, imenovano objektni model. Tako lahko na primer za program Finder objektni model (natančneje, samo eno od vej tega modela) predstavimo na naslednji način: Finder - Desktop - Folder - File; za urejevalnik besedil bo ta model imel obliko dokument - stran - odstavek - stavek; za vektorsko ilustracijo bo videti kot Ilustracija - Osnovna oblika - Bezierjeva krivulja - Točka (slika 2).


riž. 2. Primeri objektnih modelov

Vsak predmet ima običajno eno ali več lastnosti (slika 3), ki jih je mogoče nastaviti ("nastavi višino strani na 14 palcev"), spremeniti ("spremeni širino iz 8" na 8,5") in nadzorovati ("kaj je enako desnemu robu strani?").


riž. 3. Lastnosti objekta

Za nadzor tega ali onega predmeta ga je treba izbrati (navesti) na objektnem modelu. Za to je konstrukcija povej konec povej in vsi ukazi, ki nadzorujejo objekt, so vsebovani v tej konstrukciji; če je objekt "globoko" v eni od vej modela, se uporablja več ugnezdenih blokov povej konec povej. V naslednjem primeru skript po korakih dostopa do namizja (enega od elementov objektnega modela Finder) in nato premakne mapo »test« na namizju v koš.

povej aplikaciji "Finder"
povej namizju

Izbriši mapo "test"

konec povej
konec povej

Ko pišete skript, ki nadzoruje kateri koli program – naj bo to Finder, FileMaker, Adobe Acrobat ali kaj drugega – morate vedeti, katere ukaze v jeziku AppleScript podpira ta program, kateri predmeti so vključeni v njegov objektni model, pa tudi imena in namene vseh razpoložljivih lastnosti objektov. Vse te informacije so shranjene neposredno v izvedljivi datoteki programa, v tako imenovanem slovarju aplikacij. Za uporabo tega slovarja morate v programu Script Editor izvesti ukaz Datoteka / Odpri slovar (Datoteka / Odpri slovar) in v oknu, ki se prikaže, izbrati izvedljivo datoteko aplikacije, ki vas zanima. Posledično se prikaže okno, podobno tistemu na sl. 4 - v desnem delu je seznam vseh ukazov in objektov, v levem delu pa so podani njihovi kratki opisi.


riž. 4. Slovar aplikacij

Drugi scenarij. Pojdimo na reševanje praktičnih problemov. Spletni oblikovalci morajo pogosto preveriti združljivost svojih strani s starejšimi različicami brskalnikov. Če želite to narediti, morate odpreti okna z mapami, tam poiskati izvedljive datoteke programov za pregledovanje, jih prenesti in nato poiskati tudi mape s spletnimi stranmi na diskih. Na splošno - ni najbolj prijeten poklic. Ustvarimo skript, ki bo olajšal brskanje po straneh: samodejno bo naložil več različnih brskalnikov in v vsakem odprl dokument, ki ga potrebujemo.

povej aplikaciji "Finder"

Izberite (določite) želeno datoteko
izberite datoteko "index.html" v mapi "Trenutna spletna stran" na namizju
-- spremenljivki myFile dodeli pot do izbrane datoteke
nastavite myFile na izbor kot niz

Prenesite Microsoft IE in odprite izbrano stran
povej aplikaciji "Internet Explorer 3.01"
odprt (vzdevek myFile)
konec povej

Enako operacijo izvedemo z Netscape Navigatorjem
povej aplikaciji "Netscape Navigator 3.01"
odpri (vzdevek myFile)
konec povej

V zgornjem programu se je pojavilo več novih modelov. Vse vrstice, ki se začnejo z znaki "--" so komentarji. V jeziku AppleScript so komentarji lahko napisani tako v ločeni vrstici kot na koncu vrstice, takoj za ukazom. Vsekakor pa vsi znaki, ki sledijo "--" in pred začetkom nove vrstice se štejejo za komentarje in se prezrejo, ko se skript izvede.

Ukaz "select" simulira eksplicitno izbiro elementa z miškinim kazalcem, njegovo delovanje pa je nekoliko podobno uporabi konstrukcije povej konec povej, vendar s to razliko, da pri uporabi ukaza izberite spremenljivki lahko dodelimo nekatere lastnosti izbranega predmeta (na primer pot do datoteke ali mape).

Operater set se uporablja za označevanje vrednosti spremenljivk, ki so ustvarjene v času prvega klica nanje. To pomeni, da ni treba predhodno opisati imena in vrste spremenljivke: napisali smo npr. nastavi myDate na trenutni datum, in AppleScript je ustvaril spremenljivko ter zanjo izbral pravo velikost in vrsto. A to še ni vse: s pomočjo operaterja set Spremenite lahko vse lastnosti predmetov. To se naredi na naslednji način:

povej aplikaciji "Finder"
povej namizju
povej datoteko "cenik"

-- spremenite datoteko komentarja (komentarja) lastnosti "cenik"
-- datoteka je na namizju
nastavite komentar na "Ta cenik je zastarel!"

konec povej
konec povej
konec povej

Ali isto, samo z ukazom select:

povej aplikaciji "Finder"

Izberite datoteko "Cenik" na namizju
nastavite komentar izbire na "Ta cenik je zastarel!"

konec povej

Kot lahko vidite, je bilo do zdaj vse delo s skripti - tipkanje in izvajanje - izvedeno izključno s pomočjo posebnega urejevalnika. Ta metoda je dobra, ko morate ustvariti nov skript ali predelati starega. A za vsakdanjo rabo ni dobro – ko odprete urejevalnik skriptov, medtem ko na diskih najdete potrebno skripto, nehote pomislite – ali ne bi bilo hitreje, če bi isto delo opravili ročno, brez avtomatizacije? Za to so poskrbeli razvijalci AppleScript – skripte je mogoče shraniti ne le kot besedilne datoteke, temveč tudi v prevedeni obliki, ki je popolnoma primerna za izvajanje brez povezave. Če želite skript prevesti v izvedljivo kodo, morate v urejevalniku skriptov (Shrani kot program) izvesti ukaz Shrani kot samo za zagon. V pogovornem oknu, ki se prikaže (podobno kot na sliki 5), s spustnega seznama izberite Aplikacija; ponastavite potrditveno polje Ostani odprt (Pusti odprto - če te možnosti ne omogočite, bo skript po izvedbi samodejno končal svoje delo, sicer bo ostal v pomnilniku računalnika) in potrdite potrditveno polje Novejše Prikaži zagonski zaslon (Ne prikaži zaslon za nalaganje). Ko izvedete vsa opisana dejanja, vam zagon skripta ne bo povzročal težav: samo premaknite miškin kazalec nad njim in dvokliknite gumb.


riž. 5. Shranjevanje skripta kot izvedljivega programa

Tretji in zadnji scenarij. Zagotovo so mnogi že slišali za prednosti varnostnega kopiranja. In tisti, ki so vsaj enkrat v življenju izgubili rezultate svojega mesečnega (v najslabšem primeru vsaj tedenskega) dela, zagotovo vedo, da je bolje vsak dan porabiti 15 minut za arhiviranje potrebnih datotek, kot pa trgati lase. iz glave in posipaj s pepelom monitor. Toda praviloma tudi po izgubi pomembnih informacij ljudje ne spremenijo svojih navad: pravite, zgodilo se je sami - "To je to, od danes delam kopije vseh datotek!". In minil bo teden ali dva - in programi, kot so "ne propadejo", in ni prostega časa - "In zakaj potrebujem to varnostno kopijo! In tako bo tudi uspelo." Da bi malo olajšali življenje vsem tistim, ki želijo videti svoje datoteke zdrave in zdrave, a ne marajo delati s programom StuffIt, bomo napisali skript, ki bo dnevno arhiviral vse potrebne podatke in jih shranil na poseben disk . Tukaj je izvorna koda za tak program:

povej aplikaciji "Finder"

Določite pogon in mapo, v kateri so shranjene vse datoteke
-- za arhiviranje
nastavite myArhiveFolder na "Mac OS:Trenutno delo:"
-- določite mapo, v kateri so shranjeni arhivi
nastavite myTargetFolder na "Za arhive:Objavi arhiv:"
-- dodelite ime prihodnjemu arhivu
-- (ime je trenutni datum)
nastavite myFile na datumski niz (trenutni datum) & ".sit"
-- ustvarite polno ime datoteke (pot + ime)
nastavite myArhiveFile na myTargetFolder & myFile

Če datoteka z istim imenom že obstaja
-- (tj. varnostna kopija je bila narejena danes)
-- potem samo zaključite skript
če ne (obstaja (datoteka myArhiveFile)), potem

Če datoteka z danim imenom še ne obstaja,
-- nato prenesite StaffIt Deluxe in naredite arhiviranje,
-- in takoj izpraznite StuffI iz pomnilnika
povej aplikaciji "StuffIt Deluxe"

Aktiviraj
naredi nov arhiv z lastnostmi (pot:myArhiveFile)
stvari (alias myArhiveFolder) v arhiv 1
zapri arhiv 1
prenehati

Podani skript poenostavlja postopek varnostnega kopiranja, vendar še ne toliko, kot bi želeli - za začetek arhiviranja boste morali poiskati ta skript (na diskih ali namizju) in ga izvesti. Če želite popolnoma avtomatizirati delo, morate prevesti skript in ga shraniti v mapo System / Shutdown Items (System folder / Shutdown Items). Zdaj, vsakič, ko izklopite računalnik, bo arhivator samodejno naložil in shranil vse pomembne datoteke na poseben disk. Upoštevati je treba, da se bo arhiviranje izvajalo le enkrat na dan, ne glede na to, ali je računalnik deloval 20 ur zapored ali pa se bo znova zagnal vsake pol ure - z uporabo operaterja pogoja če konec če preverimo, ali se splača arhivirati, ali je bolje počakati. Do naslednjega dne.

Torej?..

Ko ste prebrali o moči AppleScript in videli, da je pisanje skriptov zelo enostavno in dostopno tudi začetnikom, boste morda želeli nadaljevati raziskovanje tega orodja za avtomatizacijo. In tu vas čaka prvo razočaranje. Žal informacij o AppleScript v ruščini praktično ni: da bi prešteli vse objave, so prsti ene roke več kot dovolj. Zato boste za učenje skriptnega jezika potrebovali tudi dobro znanje angleškega jezika.

Obstajata dva glavna vira informacij o tehnologiji AppleScript. Prva je uradna spletna stran Apple Computer, natančneje razdelek spletne strani, ki je namenjen vsemu, kar je povezano s skripti: tehnično dokumentacijo, vadnice, primere, zbirke povezav in še marsikaj. Naslov tega razdelka je http://www.apple.com/applescript/. Zelo priporočam, da najprej prenesete AppleScript Language Guide, dobro ilustrirano vadnico, ki vključuje številne praktične primere (knjiga je na voljo na http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf, velikost datoteke 2 ,6 MB). Drugi vir, http://www.scripter.com, vsebuje veliko gradiva o AppleScript in drugih alternativnih skriptnih jezikih za platformo Macintosh.

Poleg tega, če se odločite, da se boste lotili pisanja skriptov, boste potrebovali dobro okolje za orodja - urejevalnik skriptov, ki je priložen Mac OS, je primeren samo za preproste skripte z 20-30 vrsticami kode. V tem primeru lahko priporočamo Scripter 2.5 iz Main Event Software - urejevalnik ima način za odpravljanje napak in dobro premišljen mehanizem za prikaz slovarjev aplikacij. In če boste ustvarjali programe AppleScript, ki bodo imeli lasten uporabniški vmesnik, boste morda dobili tudi FaceSpan 3.5 Digital Technology – ta aplikacija bo skrajšala čas, potreben za ustvarjanje zaslonskih menijev in pogovornih oken, in izogibajte se dolgemu in frustrirajočemu igranju s skicami z milimetrskimi valovi.

Namesto sklepa

Pisanje scenarijev je zabavno. Pisanje skript je koristno. Pisanje scenarijev je celo lepo. Čeprav se je seveda veliko bolj prijetno prepustiti želenemu brezdelju, v času, ko »sveže pečen« scenarij potrpežljivo obdela celotno tedensko rutino.

Vzemite si čas, porabite nekaj dni za učenje jezika, napišite nekaj skript, ki vam olajšajo delo, in sami se boste prepričali, da je AppleScript zelo preprosto, zelo zmogljivo in zelo prilagodljivo orodje. Čeprav bi morali pričakovati nekaj drugega od Applea? ..

AppleScript je zmogljiv programski jezik, ki sega v Mac OS 7. Kljub njegovi zrelosti pa izkušeni programerji za Mac pogosto očitajo AppleScript, da je preveč preprost, enostaven za učenje in preveč podoben običajni angleščini.

Seveda bi si želeli, da bi imel računalniški jezik prav te lastnosti – če seveda računalniški jezik sploh potrebujete. AppleScript je najpreprostejši programski jezik, s katerim lahko avtomatizirate svoj Mac, tudi če ste preprost uporabnik in ne računalničar.

Programe AppleScript (imenovane skripte ali skripte) lahko štejemo za programske robote. Preprost AppleScript lahko opravi nekaj vsakdanjih opravil, kot je varnostno kopiranje mape Dokumenti. Bolj zapleten skript lahko obsega več strani. V profesionalnem založništvu, kjer je AppleScript najbolj priljubljen, se lahko skript prek interneta poveže s trdim diskom fotografa, pridobi fotografijo iz določene mape, jo popravi barvo v Photoshopu, prilepi rezultat v določen dokument postavitve, natisne grobo postavitev , pošljite e-poštno obvestilo urejevalniku — in vse to se izvede samodejno.

Ne da bi se tega zavedal, uporabnik nenehno uporablja osnovno tehnologijo AppleScript. Številne komponente Mac komunicirajo v zakulisju z uporabo Appleovih dogodkov, sporočil, ki prenašajo navodila ali podatke iz programa v program. Če je ukaz Prikaži izvirnik uporabljen za vzdevek ali ukaz Get Info za datoteko (mapo), bo Apple Event povedal Finderju, kako naj se nanj odzove.

AppleScript je na več načinov boljši od Automatorja, nenazadnje zaradi svoje moči. In še nekaj: AppleScript je tako globoka tema, da bi ga morali posvetiti ločeni knjigi. To poglavje je le okusna predjed: knjiga, kot je AppleScript: Essential Guide, bi bila obrok s sedmimi hodi.

Nasvet Celotno poglavje o AppleScript, ki se je pojavilo v prejšnji izdaji te knjige, lahko prenesete s strani Manjkajoči CD na www.missingmanuals.com.

Ni vam treba pisati AppleScript, da bi uživali v sadovih te tehnologije. Mac OS X ima na desetine skriptov, ki so res uporabni, in če želite izvesti katerega koli od njih, samo izberite njegovo ime v meniju. Tovrstna "reprodukcija" AppleScript zahteva natanko toliko tehničnega znanja kot pritiskanje gumba v dvigalu.

Nekatere od teh kul začetnih skriptov lahko preizkusite tako, da v menijsko vrstico dodate skriptni meni (slika 7-16, desno).

Meni scenarijev ima 16 že pripravljenih kategorij, ki združujejo približno 100 scenarijev; za zagon skripta preprosto izberite njegovo ime. Tukaj je seznam najbolj uporabnih in zanimivih scenarijev.

NasvetČe med izbiro imena skripta v meniju držite pritisnjeno tipko Shift, vas Mac OS X pripelje neposredno do mesta, kjer se skript nahaja v Finderju (na primer v mapo Domov>Knjižnica>Skripti). Poleg tega, če med izbiranjem imena pritisnete tipko Option, se skript odpre v urejevalniku skriptov, kjer ga lahko pregledate ali uredite.

Ta podmeni vsebuje samo skript za uvoz naslovov za kopiranje imen in naslovov iz Entourage, Outlook Express, Palm Desktop, Eudora, Claris Emailer ali Netscape v imenik. Če imate veliko prijateljev, uporabite ta skript, da vam ne bo treba znova vnašati vseh njihovih imen, telefonskih številk in poštnih naslovov. (Spremna podmapa Uvozniki naslovov ponuja skripte za uvoz iz treh določenih programov.)

Podmeni Osnove vsebuje tri priročne majhne skripte, povezane z AppleScript: pomoč za AppleScript (odpre pregledovalnik pomoči in išče besedo AppleScript); Spletno mesto AppleScript (odpre spletno stran AppleScript v vašem spletnem brskalniku) Odprite urejevalnik skriptov (odpre program Script Editor za branje in urejanje skriptov AppleScript).

Ta mapa vsebuje skupino skriptov ColorSync tipa kapljice (takšen skript se zažene, če nekaj povlečete na njegovo ikono), ki so zanimivi za umetnike, oblikovalce spletnih mest, založnike itd.

V nekaterih primerih, ko izberete skript v tem meniju, boste videli kratko informativno sporočilo in nato pogovorno okno Odpri, da izberete grafično datoteko, ki jo želite obdelati.

Drugi ukrepajo takoj; na primer, skript Mimic PC monitor prilagodi barve zaslona, ​​da se natančno ujemajo z nekoliko drugačnimi odtenki na računalniškem monitorju Windows. To je zelo priročno, če delate na

IZKUŠNJENI TEČAJI
Skrivnosti menija skripta
Meni Skripti prikazuje vsebino dveh različnih map Skripti: ena je Domov>Knjižnica>Skripti, druga pa v glavni mapi Knjižnica. Tisti scenariji, ki so vzeti iz vaše osebne mape, so v meniju scenarijev ločeni s pikčasto črto.

Ti skripti se ne morejo samo izvajati. Prav tako so idealni za odpiranje v urejevalniku skriptov (preprosto z dvojnim klikom) in analizo po vrstici, kako delujejo. Ko razumete sintakso, lahko kopirate delčke kode in jih spremenite za uporabo v svojih skriptih. (Urejevalnik skriptov je program, ki ga najdete v mapi Aplikacije > AppleScript, ki vam omogoča ustvarjanje lastnih skriptov.)

Fotografija ali spletna stran in želite vedeti, kako bo videti v očeh nerazsvetljenih množic. (Če želite obnoviti prvotne barve, pojdite na zavihek Barva (Barva) plošča Zaslon (Moniors) v oknu Sistemske nastavitve (Sistemske nastavitve).)

Vsi ti scenariji so povezani z delom v Finderju – recimo z manipuliranjem datotek in oken. Tu so najbolj uporabni:

Dodaj v imena datotek, Dodaj v imena map. Ti skripti dodajo predpono ali pripono imenu vsake datoteke ali mape v sprednjem (aktivnem) oknu Finderja (ali, če ni odprtih oken, na namizju). S temi skripti lahko imenom vseh datotek v mapi dodate besedo "draft" ali "final" ali "old".

Zamenjaj besedilo v imenih elementov vam omogoča, da izvedete zamenjavo iskanja v imenih datotek, map ali obojega. Če je en založnik zavrnil vaš predlog knjige s 45 poglavji, lahko ta skript preimenuje vseh 45 poglavij iz »Zgodovina podloge za miško – poglavje predloga Random House« v »Zgodovina podloge za miško – predlog Simona« & Schuster, 1. poglavje.

Obrežite imena datotek, Obrežite imena map. Če ste naredili napako, ko ste zagnali skript Dodaj v imena datotek, jo lahko vedno popravite z Obrezovanje imen datotek. Ta skript odstrani končnice datotek, pripone ali predpone po izbiri uporabnika.

Recimo, da ste pravkar ustvarili več novih map hkrati. Mac OS X takšne mape imenuje "mapa brez naslova", "mapa brez naslova 2" itd. Kaj pa, če vam bolj ustrezajo imena "mapa 1", "mapa 2" itd.? Zaženite skript Trim Folder Names; V pogovorno okno vnesite untitled in kliknite V redu.

Skriptov za dejanja mape verjetno ne boste uporabljali obsežno, saj s klikom na mapo (ali znotraj njenega okna) s tipko Control omogoča popolnoma enak dostop do operacij map.

Ti skripti prikazujejo, kako lahko avtomatizirate nekatera opravila, povezana s pisavo.

FontSync je Applov plemenit poskus reševanja stare težave z namiznim založništvom. Tako ste končali z ustvarjanjem čudovitega glasila in ga odnesete v lokalno tiskarno, da ga natisnejo na visokokakovostni opremi, le da boste morali zavreči odtise in začeti znova – in to samo zato, ker so pisave ne izgledaj tako, kot si jih želel.. Tiskarna ni imela ravno tistih pisav, ki ste jih uporabili pri pripravi dokumenta. Ali, še huje, pisave so imele popolnoma enaka imena, vendar jih je ustvarilo drugo podjetje in so se zato po določenih parametrih nekoliko razlikovale od vaših.

Ideja FontSync je, da uporabnika vnaprej obvesti o morebitnih nedoslednostih. Skript Ustvari profil FontSync ustvari datoteko profila FontSync v nekaj minutah. Ta dokument vsebuje osupljivo količino informacij o zasnovi, razmiku in zvitkih vseh pisav, nameščenih v sistemu. V tiskarni je tak dokument mogoče obdelati z dodatnim skriptom Match FontSync Profile. Skrbno bo ugotovil razlike v pisavi med uporabniškim računalnikom Mac in stroji tiskarne.

Seveda ta tehnologija implicitno predpostavlja preveč: da so računalniki Macintosh nameščeni v tiskarni, da so sposobni obvladovati FontSync in tudi, da uporabnik ne bo pozabil najprej izdelati in prenesti profila FontSync v tiskarno.

IChat je bil v 10.5 precej preoblikovan - Apple je dodal veliko zanimivih (čeprav včasih neuporabnih) funkcij. Zlasti je postalo mogoče zagnati AppleScripts kot signale, ko pride do dogodka, povezanega z vašimi stiki. Na primer, lahko samodejno sprejmete povabila na klepet od posameznih stikov ali se nanje celo odzovete z vnaprej pripravljenim pozdravom. Predvajanje glasbe lahko celo nadzorujete na enem Macu tako, da vnesete ukaze v okno iChat drugega Maca v vašem domu. Podrobnosti v 21. poglavju.

Ta dva scenarija sta malo uporabna. Trenutni datum in čas prikazuje trenutni datum in čas v pogovornem oknu, opremljenem z gumbom odložišča za kopiranje informacij, pripravljenih za lepljenje. Vzorčevalnik pisav prikaže stran s seznamom pisav (imenovanih v skriptu), ki so nameščene v sistemu Mac OS X. (Skript je postal manj uporaben, saj ima knjiga pisav podobne vgrajene ukaze za tiskanje.)

Dva scenarija v tem meniju si zaslužita posebno omembo. Trenutna temperatura po poštni številki prikazuje, kakšna je temperatura zunaj okna - Fahrenheit in Celzij. To je še en razlog, da ne zapuščate hiše ves dan.

Stock Quote prejme borzne kotacije izbranega podjetja z 20-minutnim zamikom. Ni tako dobro kot pridobivanje ponudb v realnem času, vendar je brezplačno.

Večina skriptov v tem podmeniju rešuje določeno nalogo, na primer štetje e-poštnih sporočil v vašem e-poštnem predalu ali nastavitev novega računa. Najbolj smešen od vseh je seveda skript Crazy Message Text (slika 7.17).

Skripti v tej mapi vam omogočajo navigacijo do posebnih map Finderja – neposredno iz menija, iz katerega koli programa. Če mapi, ki jo želite odpreti, ni dodeljen skript po meri, jo izberite s seznama v skriptu Odpri posebno mapo.

Nasvet Tisti, ki jih ne moti, da bi morali urejati ta skript z urejevalnikom skriptov, ga lahko spremenijo tako, da omogočijo izbiro in odpiranje več map hkrati (prek, recimo, bližnjice -click). Vse kar morate storiti je, da vnesete več izbir dovoljeno true takoj za Izberite mapo za odpiranje: (na koncu vrstice, približno na začetku druge tretjine skripta). Ne pozabite shraniti sprememb.

Ti skripti so namenjeni dokazovanju moči AppleScript pri tiskanju in ustvarjanju dokumentov PostScript in PDF.

Eden od njih, Print Window, zapira dolgoletno vrzel v Mac OS X. Natisniti bi moral besedilni seznam vsebine katere koli izbrane mape. (Res je, da je malo hrošča.)

Po mnenju skupine O teh skriptih vam teh 48 vnaprej izdelanih skriptov pomaga pisati hitrejše in natančnejše skripte, saj vaši odrezki kode ne vsebujejo tipkarskih in sintaksnih napak. Ko se boste izboljšali, boste tukaj lahko dodali svoje skripte z odrezki kode, prilagojenimi skriptom, ki jih običajno pišete, da bo vaše delo še bolj učinkovito. (Ko ustvarite skript v urejevalniku skriptov, te izrezke kode vstavite v besedilo s kombinacijo tipke Control in klika in izbire iz menija bližnjic.)

Večinoma skripti svoje delo opravljajo tiho in neopazno. Če pa želite avtomatizirati program, ki ne razume običajnih ukazov AppleScript, ga lahko skripti »upravljajo« ročno s simulacijo izbire menijev, pritiskov gumbov itd.

Opomba To orodje, imenovano skripti uporabniškega vmesnika (UI), bo delovalo šele, ko odprete konzolo univerzalnega dostopa v programu System Preferences in izberete potrditveno polje Omogoči dostop za pomožne naprave. pomožne naprave).

Nima smisla zagnati skriptov iz podmenija UI Element Scripts takšne, kot so: so le vzorci, ki prikazujejo pravilno sintakso.

Ta zadnji niz skriptov omogoča hiter dostop do nekaterih priljubljenih spletnih mest. Izjema je skript Prenesi vremensko karto, ki prenese trenutni vremenski zemljevid za celinske Združene države, ga shrani na namizje kot weathermap.jpg in ga nato odpre v predogledu.

Nasvet V meni lahko dodate skripte, datoteke in celo internetne naslove, nato pa jih je enostavno zagnati iz menijske vrstice. Vse, kar povlečete v mapo Library>Scripts, se samodejno prikaže v meniju Scripts.

Po drugi strani pa, če začnete dodajati veliko svojih lastnih elementov v meni Script, bo bolj priročno odstraniti vzorce iz Appla iz njega. Ni problema. Odprite pripomoček AppleScript in počistite polje Show Computer scripts.

Delo z vnaprej vgrajenimi AppleScripti

Ko boste delali skozi meni skripti, boste kmalu ugotovili, da imate na vašem Macu na desetine brezplačnih vgrajenih skriptov. Odlična stvar je, da lahko razumete, kako delujejo, in jih celo spremenite, ko se postopoma naučite pisati lastne skripte AppleScript. Lahko celo kopirate in uporabite celotne dele skriptov Apple v svojih skriptih.

Najprej morate seveda odpreti skript. To najlažje naredite tako, da odprete meni skripta, izberete želeno kategorijo in s tipko Option kliknete na ime želenega skripta.

AppleScript se lahko začnete učiti tako, da gledate preprost skript. Odprite na primer skript Novo okno aplikacije (v kategoriji Navigacijski skripti) tako, da kliknete na njegovo ime in pridržite možnost Option. Posledično bo urejevalnik skriptov odprl datoteko v novem oknu (slika 7.18).

Takole deluje ta skript:

Povej aplikaciji "Finder" pove Mac OS X, kateri program naj izvede naslednje ukaze.

Aktivacija postavi Finder na sprednjo stran – kot če bi kliknili na njegovo ikono v Docku.

Odpri mapo "Aplikacije" zagonskega diska naroči Finderju, naj odpre novo okno, ki prikazuje mapo Aplikacije na glavnem trdem disku.

End tell pove Finderju, naj se loti svojega posla in prezre nadaljnje ukaze iz vašega skripta.

Če želite preizkusiti skript, kliknite gumb Zaženi ali pritisnite -R.

Nasvet Ta skript lahko uredite tako, da bolje ustreza vašim potrebam. Poskusite na primer "Aplikacije" zamenjati z "Uporabniki", tako da skript odpre mapo Uporabniki.

Ustvarite lastne AppleScripte

Mac OS X ima na desetine programov – le nekaj jih je! V redu, nekaj manjka - metronom, na primer. Kako boste igrali klavir v enakomernem ritmu, ne da bi slišali ritmične klike, ki jih povzroča vaš Mac? Seveda bo v stiski pomagal metronom GarageBand, a to je izstrelitev s topom na vrabce.

Namesto tega lahko uporabite AppleScript. Odprite nov dokument v urejevalniku skriptov (Datoteka (Datoteka)> Novo (Novo) ali -N) in vnesite naslednje:

prikaže pogovorno okno "Dobrodošli v AppleScript Metronome"

nastavite bpm na vrnjeno besedilo (prikaz pogovornega okna ¬

"Koliko utripov na minuto?" privzeti odgovor 60)

nastavite pavzoBetweenBeeps na (60/bpm)

zakasnitev premoraBetweenBeeps

Opomba Ni vam treba natisniti znaka ¬. Takole pravijo programerji: "To bi moralo biti v eni vrstici, vendar širina strani ni bila dovolj."

Ko zaženete ta skript, se prikaže pogovorno okno, ki vas vpraša, koliko utripov na minuto naj šteje metronom. Številka, ki jo vnesete (na primer 120), je shranjena v spremenljivki za začasno shranjevanje znotraj skripta, imenovano bpm.

Skript nato izračuna premor med piski in ta delček sekunde zapiše v spremenljivko pauseBetweenBeeps. Če bi skriptu rekli, naj piska, recimo 120-krat na minuto, bi bila pauseBetweenBeeps nastavljena na 0,5, ker bi moral biti med piski polsekundni premor.

Na koncu skript ustvari neskončno zanko: pisk, premor za določeno trajanje in nato ponovitev.

Kliknite gumb Zaženi, da preizkusite svoj skript, in ko imate dovolj zvokov, kliknite gumb Ustavi.

MOJE NAJLJUBŠE TEHNIKE
Namizne priloge z enim klikom
Tukaj je majhen trik Automatorja, ki je lahko reševalno za vsakogar, ki mora pogosto pošiljati dokumente po e-pošti. (Modelira zelo priročen ukaz Pošlji v, ki ga najdete v priročnem meniju na računalnikih Windows.)

Ustvarite postopek v Automatorju s samo dvema korakoma: Pridobite izbrane elemente Finderja (v kategoriji Finder) in Novo poštno sporočilo (v kategoriji Pošta).

Če datoteke vedno pošiljate na isti cilj – na primer vašemu šefu –, lahko celo vnaprej nastavite naslov v vrstici procesa avtomatika. Če se zadeva in besedilo sporočila vsakič ponovita, ju lahko nastavite tudi vnaprej.

Zdaj izberite Datoteka (Datoteka)> Shrani kot vtičnik (Shrani kot modul). Poimenujte proces. Pošljite to po e-pošti ali karkoli želite.

Od zdaj naprej lahko dokument pošljete iz Finderja tako, da ga kliknete s tipko Control in v meniju, ki se prikaže, izberete Automator>Email This.

Zmaga! Mac OS X zažene Mail in ustvari odhodno sporočilo, ki ima že pripeto datoteko.

Brezplačni nasvet: če med tema dvema dejanjima vstavite še eno dejanje Ustvari arhiv (iz kategorije Finder), bo vaš menijski ukaz tudi stisnil datoteko (ali mapo) v datoteko .zip, preden jo pošlje po pošti!

NasvetŠe bolj kul bo, če označite polje Sistemske nastavitve (Sistemske nastavitve)> Univerzalni dostop (Univerzalni dostop)> Sluh (Sluh)> Utripanje zaslona, ​​ko se v sistemskih nastavitvah pojavi opozorilni zvok (Utripanje zaslona, ​​ko se pojavi opozorilni zvok ). Zdaj, ko se vaš skript izvaja, bo zaslon utripal skupaj z zvokom. Če snemate glasbo, utišajte svoj Mac: imeli boste vizualni metronom, vendar zvoka ne boste slišali.

Primerjava AppleScript in Automator

AppleScript se lahko uporablja na stotine načinov – avtomatizacija procesov, ki je preveč zapletena za Automator, upravljanje programov, ki jih Automator ne vidi, in programiranje stvari, kot so ukazi zanke, ki jih Automator ne zmore.

Če AppleScript obravnavate le kot zamenjavo za Automator, izgubite veliko energije. Resnično, AppleScript ponuja funkcije, ki jih Automator verjetno ne bo imel čez 10 let: je veliko naprednejše orodje.

Automator je dober za preprosta opravila. Če potrebujete AppleScript za avtomatizacijo vašega Maca, ne obupajte. Prevzamete res močno orodje. (Lahko jih celo združite in vdelate AppleScripte v procese Automator z dejanjem Zaženi AppleScript.)

Uspehi v avtomatizaciji!

To je programski jezik, tehnologija, ki pripada podjetju, se najpogosteje uporablja za avtomatizacijo delovnih tokov in omogoča, da programi komunicirajo med seboj. Kako 🙂.

Ne bom odpiral serije člankov na temo: »Applescript za lutke. Korak za korakom "iz enega preprostega razloga - na internetu je veliko gradiva o tej temi. In da ne bi prepisal začetnice na svoj način in ne bi ponovno izumil kolesa, bom navedel le nekaj virov, ki so se mi zdeli najprimernejši. Po njem bom tudi sam razsvetljen.

Skoraj vsak avtor piše, da je skriptni jezik tako preprost, da lahko v njem piše vsak uporabnik z vsaj nekaj znanja tradicionalne angleščine. In ni treba poznati vseh vidikov objektno usmerjenega programiranja. V tem je nekaj resnice, saj v scenariju

povej aplikaciji "Finder"

prikaže pogovorno okno "Pozdravljeni norci!"

težko je ne razumeti, kaj in iz katerega programa je potrebno. Ne strinjam pa se čisto z OOP. Če napišete tako neuporabne stvari, kot je pisk ali rečete "Kdo je moški?" , potem ja, morda ne veste, kaj sta cikel in razred, pa tudi to je še daleč od OOP. Če pa se želite naučiti pisati programe ali skripte za olajšanje vsakodnevnih opravil zase ali za kakšno bazo podatkov, potem bolje veste, kaj sta "Dedovanje" in "Encapsulation".

Kje začeti?

Vse je preprosto in na dosegu roke. Zaženite urejevalnik skriptov in najprej pojdite na pomoč. Če uporabljate različico v ruskem jeziku, sploh ne bi smelo biti težav.

Za koga knjiga?

Če standardni priročnik ne zadostuje ali je napisan tako, da vam ni vse takoj jasno, se lahko obrnete na knjige (elektronske ali tiskane - odločite se sami). Pogosto se omenja knjiga "AppleScript Language Guide". Izkazalo se je, da obstaja povezava do njega v pomoči urejevalnika skriptov.

Nemogoče je ne upoštevati drugih virov, ki nam jih ponuja samo razvijalsko podjetje. Obstaja knjiga za začetnike "AppleScript 1-2-3" ali pa jo lahko kupite z istim imenom.

Večje je boljše

Zakaj ne bi razmislili o spletnih virih? Konec koncev, tukaj lahko najdete najbolj sveže, bralci pa se na povratne informacije odzovejo pogosteje in hitreje. Poiskali bomo literaturo v dostopnem jeziku.

Poleg različnih preglednih člankov lahko na internetu najdete tudi "". Rekel bi, da so za tiste, ki jih zanima applescript. Knjiga je za začetnike, napisana je preprosto, strani je malo, primerov pa je veliko. Točno tisto, kar je potrebno. Tam lahko prenesete tudi knjigo z imenom "".

Ruski priročniki so dobri, a brez osnovnega znanja angleščine se bo skriptnega jezika, milo rečeno, težko naučil.

Od člankov bi bil pozoren na tega. Všeč mi je bilo, ker podrobno opisuje nekatera osnovna načela samega skriptnega jezika, "kratko in jasno".

Ne pozabite tudi na različne forume, kjer si uporabniki izmenjujejo mnenja, izkušnje in že pripravljene scenarije. Osebno si to dodam med zaznamke.

Preden se lotite iskanja in nalaganja gradiva, priporočam, da se odločite za cilj. Za splošni razvoj se lahko seznanite z nekaterimi viri. Za pisanje res uporabnih scenarijev boste morali porabiti več dni/tednov/mesecev (odvisno od vaših sposobnosti in prostega časa). Je zelo zanimivo in zasvoji.

Zdaj ne morem oceniti možnosti, da bi se oseba zaposlila kot programer ali tester applescript. Najverjetneje ne zelo velik. Če pa menite, da je to vaše - kar naprej. Če vidite cilj in ne vidite ovir, ni pomembno, kdo ga potrebuje (vsaj vi). Pravi talent bo vedno cenjen. In imate priložnost, da počnete, kar imate radi.

Ali že uporabljate AppleScript? Ne vem, kaj je? Mislite, da vam to ne koristi? Ali pa vas morda spomin na šolske ure računalništva povzroči napad alergije že ob sami omembi besede »program«? Torej ste naredili prav, ko ste odprli ta članek.

Upam, da vam bo pomagal razumeti to zelo uporabno orodje, čas, porabljen za branje, pa se vam bo kasneje lepo poplačal.

Pogosto moramo pri delu z določenim programom večkrat izvesti enaka dejanja: pritisniti iste tipke, izbrati isti ukaz v meniju, vnesti enake vrednosti v pogovorna okna in pride AppleScript. Zaporedje naših operacij opišemo v obliki "skriptnega" programa, ga zaženemo in - mirno popijemo kavo, občasno pogledamo, ali se je obdelava zadnje, tri tisoč sedemsto devetinosemdesete datoteke končala. Nekaj ​​podobnega obstaja v obliki datotek DOS BAT ali skriptov lupine UNIX. Toda AppleScript ima pomembno prednost: tako Finder kot veliko število aplikacijskih programov "razumejo" ta jezik in skript lahko dostopa do vseh po vrsti.

Jezik, ki ga bomo uporabljali (imenovan tudi AppleScript), je zelo blizu običajni angleščini. Na primer, skript bi lahko izgledal takole:

povej aplikacija "Finder"
narediti
konec povej

Mislim, da je vsak razumel, kaj bo naredil. Toda, da bi se naučili pisati lastne skripte, boste morali razumeti nekatere koncepte.

Predmeti, lastnosti, dogodki ...

AppleScript je objektno usmerjen jezik. Se pravi, vse, kar "obstaja" v vašem računalniku, upošteva predmeti(predmeti). Predmet je lahko sestavljen iz drugih predmetov, je vključen v drug predmet, se nanaša na drug predmet. Na primer, Finder je predmet. Ima "podrejene" predmete - mape, datoteke, okna. Urejevalnik Tex-Edit ima besedilni objekt, sestavljen iz besed, vrstic, odstavkov itd. Poznavanje povezave med objekti (njihova hierarhija) je zelo pomembno, saj se ukaz posreduje "po verigi". Obstaja nekakšna "vertikala moči": dajemo ukaz Finderju, on - mapi, tisti - mapi, ki je v njej, in tako naprej, dokler ne doseže želene datoteke. In "poročilo o uspešnosti" bo spet sledilo isti verigi - v nasprotni smeri.

Oblikujejo se predmeti iste vrste (na primer vse mape). razred(razred). Vsak predmet ima svoj nabor lastnosti(lastnosti), ki ga razlikujejo od drugega. Vsaka datoteka ima na primer ime, oznako, vrsto, datum ustvarjanja, različico in več kot ducat značilnosti. Skript lahko nekatere od njih spremeni, nekatere je mogoče samo brati.

En razred (im "potomec") lahko podeduje lastnosti drugega razreda ( "prednik"). Tako mape kot datoteke imajo na primer skupnega prednika - element (predmet).

Zdaj pa poglejmo naš primer in ga nekoliko razširimo:

- vsako besedilo, napisano za "dvema minusoma",
- se šteje za komentar;
- računalnik na to ni pozoren
povej aplikacija "Finder"
- beseda povej začne skupino ukazov,
- povezane z enim predmetom
narediti nova mapa na namizju z lastnostmi (ime: "Moja!", indeks oznake: 2)
konec povej - in tako se skupina ukazov konča
povej aplikacija "Finder" povedati predmet "Moj!"
odprto
set njegovo ime do"Samo zame"
konec povej

Iskalniku najprej povemo, naj ustvari nov predmet mape, ki se nahaja na tabeli. Nekatere lastnosti so nastavljene v ukazu (ime mape in njena barvna oznaka), ostale bo privzeto dodelil računalnik. Nato Finderju povemo, naj svoji mapi (na ta način in samo takole: »vazal mojega vazala ni moj vazal«) ukaže, naj odpre in spremeni ime.

Toda čas bi bil, da preidemo s teoretičnega sklepanja na nekaj bolj oprijemljivega. Čas je, da zaženete urejevalnik skriptov.

Urejevalnik skriptov

Za delo z AppleScript je bilo ustvarjenih več programov, med katerimi so zelo napredna razvojna orodja. Kasneje boste verjetno pridobili enega od njih. A za začetno spoznavanje nam zadostuje urejevalnik, ki je del Mac OS.

Okno urejevalnika skriptov je razdeljeno na dva dela: na vrhu je napisan komentar (prikaže se na zaslonu, preden se skript izvede), program pa je napisan na dnu. Poskusimo vnesti naš primer (seveda lahko brez mojih komentarjev). Nato kliknite gumb "Preveri sintakso". Če ste naredili kakšno napako, se prikaže okence z razlago. Toda najverjetneje bo vse v redu - in po kratkem premoru bo besedilo nekoliko spremenilo svoj videz. Kakšna pisava bo v tem primeru izbrana za različne elemente skripta, lahko konfigurirate z ukazom "AppleScript Formatting" v meniju "Uredi". Zdaj lahko kliknete gumb "Zaženi". Delovalo je?

Napisani skript je mogoče shraniti na različne načine: bodisi samo izvorno besedilo(Besedilo) ali že sestavljen skript(Preveden skript) - pripravljen za izvedbo z urejevalnikom skriptov ali kakšnimi drugimi programi, končno - v obliki samostojnega (opomba: seveda ne čisto - brez nameščenega AppleScript ne bo naredil ničesar) program applet(Aplikacija). Skript lahko naredite "samo za izvedbo" (samo za zagon). Samo v tem primeru ne pozabite shraniti - zase - in izvirne datoteke. V nasprotnem primeru ne samo konkurenti, ki želijo kršiti vaše avtorske pravice, ampak tudi vi sami ne boste mogli priti do njegove izvorne kode.

Slovarji, slovarji, slovarji...

»No, v redu,« verjetno mislite, »uporaba urejevalnika je enostavna, branje že pripravljenih skript tudi ni težko. Toda kako jih napišete? Kje dobiti vse te razrede, ukaze, lastnosti?« Odgovor je preprost: pogledati morate slovar. Vsak program, ki podpira delo z AppleScript, pa tudi ScriptingAddition (o "dodatkih" bomo govorili kasneje) vsebuje kratek opis vseh svojih predmetov in prepoznanih ukazov. Ta slovar si lahko ogledate neposredno iz urejevalnika skript - tako, da izberete "Odpri slovar" v meniju "Datoteka" ali tako, da povlečete želeni program na sliko urejevalnika.

Programi Macintosh lahko podpirajo AppleScript na treh različnih ravneh.
Skripta- program lahko izvaja ukaze, opisane v obliki skripta.
posneti- možno je snemati ukaze, ki se izvajajo v programu. Ustvarimo nov skript, zaženimo snemanje (z gumbom »Snemaj«), na primer ročno izvedemo potrebna dejanja v Finderju, ustavimo snemanje (»Ustavi«). To je vse. Tako je zelo priročno pripraviti scenarij.
priklopna- skript se lahko izvede neposredno iz programa, tako da je "pripet" na meni ali kateri koli predmet v oknu. Primeri takšnih programov: AppleWorks, Tex-Edit, FileMaker Pro.

Odprimo na primer slovar Finder.

Na levi strani vidite seznam vseh "pojmov", definiranih v programu. Upoštevajte, da so nekateri od njih v poševnem tisku. To so predmeti. Vsi ostali so ekipe. S klikom na želeno besedo lahko preberete kratko referenco.

Kaj, na primer, lahko izveste o "Zabojniku"? Najprej vidimo: "Vsebnik razreda: Postavka, ki vsebuje druge elemente". To pomeni, da je element, ki vsebuje druge elemente. In če pogledate opise naslednjih nekaj razredov, postane jasno, da je "vsebnik" koncept, ki vključuje diske, mape in tabelo (namizje) ter koš (smetnjak). Ima skupne lastnosti teh, v mnogih pogledih podobnih predmetov. In v "družinskem drevesu" ​​- hierarhiji razredov - je njihov prednik.

Beri naprej. "Množinska oblika: posode". Množinska oblika? Ali študiramo angleško slovnico? Da in ne. Omenil sem že, da je AppleScript čim bližje naravnemu jeziku. In če želimo obdelati vse predmete določenega razreda, ga lahko zapišemo, kot bi moralo biti v angleščini, bodisi »vsak kontejner« ali »posode«.

Kot že veste, lahko predmet vsebuje druge predmete. Kateri in kako se med seboj razlikujejo, je opisano v naslednjem razdelku slovarja - "Elementi" (Elementi). Vsebnik, kot lahko vidite, lahko vsebuje predmete enega in pol ducata različnih razredov, na primer druge vsebnike, mape, dokumente in programske datoteke itd. Določen element razreda lahko podate bodisi z imenom (z ime) ali po zaporedni številki (po številčnem indeksu).

No, in končno, zadnji razdelek je "Lastnosti" (Lastnosti). Tu najprej vidimo, da je razred "Container" naslednik razreda "Element" ( element ), torej ima vse svoje lastnosti. Toda ta razred ima tudi nekaj svojih. Upoštevajte: nekatere od njih so označene z "" (samo za branje), teh lastnosti ni mogoče spremeniti z ukazom AppleScript.

Zdaj pa poglejmo, kako so ukazi opisani v slovarju. Na primer, vzemimo "Make" (ustvari), ki vam je že znano iz primerov skriptov. Na vrhu strani - namen ukaza (ustvari nov element). Nato - kako je napisan (sintaksa) in kakšne parametre ima. Upoštevajte, da so nekateri parametri v oglatih oklepajih. Torej v slovarju pomenijo neobvezno opcije. Ko sestavljamo skript, lahko brez njih, če pa jih uporabimo, nam ni treba postavljati oklepajev. Konča pomoč za ukaz, tako da ga navede rezultat(rezultat). V našem primeru bo to "referenca" (referenca) na ustvarjeni objekt.

Izvoli. Lahko že poskusite napisati kakšen preprost skript. Torej…

O ustvarjalec!

Mislim, da veste, da ima vsaka datoteka v računalniku Macintosh dve značilnosti – vrsto in ustvarjalno kodo –, ki omogočata Finderju, da se odloči, kako ravnati s to datoteko. Ni skrivnost, da se pogosto - na primer po prenosu po internetu - ti atributi izgubijo. Seveda obstaja veliko programov, ki jih lahko spremenijo. Toda poskusimo narediti lasten pripomoček, ki uporablja samo tisto, kar je že vključeno v Mac OS.

Začnimo z najpreprostejšo možnostjo. Recimo, da moramo dodeliti datoteko letter.txt, ki se nahaja na tabeli, dodeliti tip "TEXT" in kodo ustvarjalca "ttxt" (SimpleText).

Izberite datotečni objekt v slovarju Finderja. Najdemo lastnosti, ki jih potrebujemo: vrsto datoteke in vrsto ustvarjalca. Če želite spremeniti vrednost lastnosti, uporabite »setraquo; (namesti). Celoten skript naj bi torej izgledal nekako takole:

povej aplikacija "Finder" povedati datoteka "letter.txt"
set njeno vrsto datoteke do"BESEDILO"
set njen tip ustvarjalca do"ttxt"
konec povej

ali takole:

povej aplikacija "Finder"
set vrsta datoteke od datoteka "letter.txt" do"BESEDILO"
set tip ustvarjalca od datoteka "letter.txt" do"ttxt"
konec povej

Tako, kot lahko vidite, lahko bodisi naročite datoteki, da spremeni svoje (svoje) lastnosti (v tem primeru je mogoče besedo "njegova" izpustiti, saj je namen ukaza nedvoumno opredeljen tudi brez njega), ali - program Finder lahko spremeni lastnosti podrejenega predmeta.

Zavestno sem postavil pogoj, da je datoteka na namizju. V nasprotnem primeru smo potrebovali daljšo "verigo" podrejenih objektov (nekaj kot "povej aplikaciji "Finder", naj sporoči disku "Macintosh HD", naj pove mapi "lekcija", da pove datoteki "letter.txt""). Ali - za drugo različico scenarija - indikacija polna pot: "datoteka "Macintosh HD:lesson:letter.txt"" (Spominjam vas: pot v Mac OS je zapisana z dvopičji).

No, scenarij je napisan. On dela. Toda odkrito povedano, od tega ni nobene koristi - navsezadnje morate za vsako naslednjo datoteko spremeniti besedilo samega skripta. Vau, olajšali smo delo! Izboljšati moramo naš program. Naučimo ga vprašati uporabnika, katero datoteko naj obdela. Odprite Finderjev slovar, poglejte in tukaj so! Nič primernega. Ali je Apple naredil takšno napako? Sploh ne…

"Ali nimaš enakega, ampak s sedefastimi gumbi?"

Arhitektura odprtega skripta (OSA - Open Script Architecture) vam omogoča, da pridobite skoraj vse potrebne elemente jezika. Seveda, če bi se kdo trudil napisati "dodatek"(Scripting Addition ali OSAX), ki opisuje tak objekt in ustrezne ukaze. Ti dodatki se nahajajo v mapi Scripting Additions, ki se nahaja v sistemski mapi (prej v razširitvah). Vsak skript jih lahko uporablja, ne glede na to, kateri program trenutno upravlja.

Odprimo slovar Standard Additions (za hiter dostop do mape Scripting Additions je v pogovornem oknu Open Dictionary na voljo poseben gumb). Tukaj je - ukaz "izberi datoteko" (izberi datoteko). Rezultat njegovega dela bo povezava do datoteke, ki jo je izbrala oseba v standardnem pogovornem oknu Odpri. To povezavo bomo shranili v spremenljivko, ki jo bomo poklicali na primer MyFile.

Naš skript bo videti takole:

povej aplikacija "Finder"
set MyFile do Izberite datoteko
set vrsta datoteke od MyFile do"BESEDILO"
set tip ustvarjalca od MyFile do"ttxt"
konec povej

Popolnoma funkcionalna programska oprema. Toda ali je to mogoče narediti bolj priročno? Zakaj bi skript zagnali ločeno, nato pa v pogovornem oknu izbrali ime datoteke – ali ne bi bilo bolje uporabiti metodo Drag'n'Drop? Vse je v naši moči!

Pisanje kapljice

Kaj torej želimo doseči in kako to doseči.

  1. Program naj deluje neodvisno od urejevalnika scenarija. S tem je vse jasno, že vemo, da ga je za to treba shraniti kot programček.
  2. Namen skripta je spremeniti lastnosti dane datoteke. Ta del je že pripravljen.
  3. Datoteko, "potegnjeno" na sliko skripta, je treba obdelati. Tu se zabava začne. S predmeti, ki "živijo" v našem računalniku, se nenehno dogajajo različne stvari. razvoj dogodkov. Na primer, datoteko je mogoče premakniti, kopirati ali odpreti. Program - zaženite, izvršite vse ukaze ali ne naredite ničesar, končno - končajte. Da bi objekt "vedel", kako se odzvati na določen dogodek, je potreben poseben podprogram - "ravnalec"(upravljavec). Ko se datoteke, mape ali pogoni spustijo v programček, mu Finder pošlje ukazno sporočilo »Odpri« in seznam »vrženih« predmetov. Za ta dogodek bomo morali napisati vodnika.

V najpreprostejšem primeru bo videti tako:

na odprite FileList - beseda "on" zažene obdelovalec dogodkov
- sprva skript deluje sam, ne da bi vplival na programe
set MyFile do točka 1 od Seznam datotek
povej aplikacija "Finder" - zdaj ukazujemo Finderju
set vrsta datoteke od MyFile do"BESEDILO"
set tip ustvarjalca od MyFile do"ttxt"
konec povej
konec odprto - ne pozabite označiti, da se je vodnik končal

Za začasno shranjevanje seznama smo uporabili spremenljivko FileList. Spremenljivke lahko poimenujemo s poljubno kombinacijo latiničnih črk, vendar je zaželeno, da po imenu razumete, kaj ta spremenljivka pomeni.

Kot lahko vidite, se obdeluje prvi element s seznama, ki je bil posredovan med izvajanjem skripta. In ostalo? Naš program se jim preprosto ne posveča. Ni težko uganiti, da bo naslednji korak na poti do odličnosti obdelava celega kupa datotek naenkrat.

En, en, še enkrat ...

Do sedaj so se vsi ukazi naših skriptov izvajali enega za drugim v vrstnem redu, v katerem so napisani. Zdaj moramo ista dejanja ponoviti večkrat zapored. Organizirati bomo morali posebno strukturo - cikel. AppleScript ima za to različne nadzorne ukaze. Dejanja lahko ponovite vnaprej vnaprej določeno število krat ali pa jih izvajate, dokler ni izpolnjen določen pogoj. Toda skoraj vsak programski jezik ima takšne cikle. V naši nalogi je še ena idealna - "ponovi za vsak element seznama." Z njim bo skript dobil naslednjo obliko:

na odprite FileList
ponovite z MyFile v Seznam datotek - tako je zapisan začetek cikla
povej aplikacija "Finder"
set vrsta datoteke od MyFile do"BESEDILO"
set tip ustvarjalca od MyFile do"ttxt"
konec povej
konec ponovitve - konec kontrolne konstrukcije mora biti označen
konec odprto

Kaj še manjka v našem programu, da bi postali precej profesionalni? In pogreša "zaščita norcev". Navsezadnje lahko na sliko skripta "vržete" tako mape kot bližnjice, vendar bi moral delovati samo z navadnimi datotekami.

Koga hočeš, izberi

Torej, ko ponavljate elemente seznama, morate ugotoviti, kaj je vsak od njih. Samo če je ulovljena navadna datoteka - spremenite njene lastnosti. Če želite izbrati, ali želite izvesti ali ne izvajati nobenih operacij, omogoča še eno nadzorno strukturo - pogojni operaterče. Lahko ugotovite, ali je predmet mapa ali bližnjica, tako da dobite informacije o njem z ukazom "info for" iz Standardnih dodatkov. Njegov rezultat bo predmet razreda "datotečne informacije". Tukaj so njegove lastnosti - "mapa?" (mapa) in "bližnjica?" (alias) - bomo preverili. Ker potrebujemo element, da ni mapa in ni bila bližnjica, bomo dva pogoja povezali z logično operacijo "in" (ko je dovolj izpolniti katerega koli od pogojev - ALI najprej, ALI drugi - uporabite kup "ali"). Na splošno smo kot rezultat našega razmišljanja dobili naslednji skript:

na odprite FileList
ponovite z MyFile v Seznam datotek
set theInfo do informacije za MyFile
če(mapa od theInfo je napačno) in ¬
(vzdevek od theInfo je napačno) potem
povej aplikacija "Finder"
set vrsta datoteke od MyFile do"BESEDILO"
set tip ustvarjalca od MyFile do"ttxt"
konec povej
konec če
konec ponovitve
konec odprto

Upoštevajte, da morajo biti vsi pogoji v stavku If napisani v eni vrstici. Za lažje branje besedila programa je lahko koristno, da "prepognete" dolgo vrstico, kot je storjeno v tem primeru. Če želite to narediti, pritisnite kombinacijo tipk "Option-Return". V besedilu se bo pojavil znak za nadaljevanje "¬".

Seveda sem vam za to majhno lekcijo lahko predstavil le najpreprostejše metode dela z AppleScript. Ampak mislim, da ste videli, da v tem ni nič zapletenega. Poskusi! Upam, da bom to temo nadaljeval v prihodnjih člankih.

  • 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.

    . (. petnajst). - AppleScript. , .

    AppleScript, AppleScript:

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

    AppleScript; AppleScript ; AppleScript (Mac OS X).

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

    5 AppleScript, . - AppleScript Studio, (orodja za razvijalce XCode).

    JavaScript,.

    () . , . , . , .

    . , : . - . , . : .

    AppleScript,. . Urejevalnik skriptov (.2), ​​.

    Avtorske pravice (c) 2003 Bert Altenburg

    : Bert Altenburg, - .

    ena.. , - . , AppleScript. AppleScript.

    2. , osebni računalnik, . - , -. Monitor CPU (pripomočki, aplikacije), - . (Distributed Computing DC), [email protected], . 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,. , ena .

    AppleScript:

    reci "To je izgovorjen stavek."

    Fred, Trinoidi, Violončelo, Zarvox, Victoria.

    reci "To je izgovorjen stavek." z uporabo "Zarvoxa"

    : AppleScript. , . , Victoria Zarvox .

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

    najdilec. , Finder . , . Finder , - , . -, smeti, Finder.

    8, AppleScript.

    Adobe Photoshop. photoshop. , Finder.

    AppleScript,.

    Povej, AppleScript (Mac OS X), Finder. AppleScript (Mac OS X) , - konec povej . Iskalnik AppleScript Finder, . , :

    povej aplikaciji "xyz"

    (povej blok). xyz xyz. , AppleScript , - , . , . (, ("". : , AppleScript . .)

    najdilec. , Finder. najditelj, najditelj.

    povej aplikaciji "Finder" izprazni koš odpri zagonsko disketo konec povej

    najdilec. Iskalnik, - , . .

    Finder, AppleScript (Mac OS X) .

    9tell aplikacija "Finder" izprazni koš, odpri zagonsko disketo, končaj tellbeep

    najdilec. pisk AppleScript. , .

    Pisk (AppleScript (Mac OS X)) .

    povej aplikaciji "Finder" izprazni pisk za smeti odpri zagonsko disketo konec povej

    Pisk iskalnika, AppleScript (Mac OS X) . , . , -, Finder , pisk, Finder .

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

    povej aplikaciji "Finder" izprazni smeti pisk konec povej odpri zagonski disk

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

    povej aplikaciji "Finder" izprazni koš povej odpri zagonsko disketo reci "Izpraznil sem koš in odprl zagonski disk zate" z uporabo "Victoria"

    AppleScript (Mac OS X), Finder. , .

    urejevalnik skriptov,. Urejevalnik skriptov AppleScript, aplikacije. , . .

    prevesti. , AppleScript , AppleScript . Yo Finder! Odvrzi moje smeti (Finder!) Hej Finder! Očistite koš (Finder,) Finder. (kompilacija) AppleScript (Mac OS X) : - . , . , - . urejevalnik scenarijev.

    AppleScript (Mac OS X) .

    reci "Učim se AppleScript na enostaven način!" z uporabo "Zarvoxa"

    teči,. urejevalnik scenarijev, !

    Vnesite . Vnesite - presledek()(). Vrnitev (Shift) -. vrnitev.

    Prevedi. - teci, .

    Teci, Command-R. : , -

    , (preveden skript) (aplikacija).

    : , - AppleScript,

    Zaženi urejevalnik skriptov.

    : , AppleScript ,

    urejevalnik scenarijev. , - , (Sistemske nastavitve). , . - , urejevalnik skriptov, odpri datoteko.

    : Shrani, - (samo zagon). , - .

    povej aplikaciji "Finder" izprazni koš za konec povej

    urejevalnik scenarijev.

    Aplikacija,:

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

    Urejevalnik skript , - . , nadzor . :

    1) Control Script Editor. (.), Tell Blocks. , Povejte »Finderju«.

    2) Finder izprazni koš , (), 1. . - .

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

    2+6=xy=3*4

    AppleScript. (spremenljivke) , . - (identifikatorji), . - AppleScript, nastavljen.

    nastavite x na 25, nastavite y na 4321.234

    AppleScript,. : (- , (hroščki)). , x , širina slike.

    nastavite širino slike na 8

    , (, -,). , AppleScript, - . , (osem ) .

    AppleScript - . , nastavite, recimo, na, pisk , - AppleScript. , širina slike, . -, .

    AppleScript,. , .

    nastavite širino slike na 8 nastavite višino slike na 6 nastavite sliko Površina na sliko širina * višina slike

    , (operaterji), - .

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

    urejevalnik scenarijev,. , . (rezultat). , 10.0. , 1000,0. , cubeEdgeLength ^ 3 , .

    : . - . (cela števila) , - , (.13)