Applescript pro úplné začátečníky. MAC OS X Úvod do AppleScript

Domov / Nezapne se

AppleScript je výkonný programovací jazyk, který sahá až do Mac OS 7. Zkušení programátoři Maců však i přes jeho vyspělost často AppleScriptu vytýkají, že je příliš jednoduchý, snadno se učí a příliš se podobá běžné angličtině.

Samozřejmě byste chtěli, aby počítačový jazyk měl právě tyto vlastnosti – pokud ovšem počítačový jazyk vůbec chcete. AppleScript je nejjednodušší programovací jazyk, pomocí kterého můžete automatizovat svůj Mac, i když jste jednoduchý uživatel a ne certifikovaný počítačový vědec.

Programy AppleScript (nazývané skripty nebo skripty) lze považovat za softwarové roboty. Jednoduchý AppleScript může dělat některé každodenní úkoly, jako je vytváření záložní kopie Složky dokumentů. Složitější skript může zahrnovat několik stránek. V profesionálních vydavatelstvích, kde jsou AppleScripty nejoblíbenější, se skript dokáže připojit přes internet k pevnému disku fotografa, načíst fotografii ze zadané složky, provést korekci barev ve Photoshopu, vložit výsledek do zadaného rozvržení dokumentu, vytisknout hrubý rozložení, odeslat e-mailové upozornění do editoru - a to vše se děje automaticky.

Aniž by to uživatel věděl, neustále používá základní technologii AppleScript. V zákulisí komunikuje řada komponent Macu prostřednictvím Apple Events, což jsou zprávy, které předávají instrukce nebo data z programu do programu. Pokud použijete příkaz Zobrazit originál na aliasu nebo příkaz Získat informace na soubor nebo složku, událost Apple sdělí Finderu, jak reagovat.

AppleScript je lepší než Automator v mnoha ohledech, z nichž v neposlední řadě je to jeho síla. A ještě něco: AppleScript je tak hluboké téma, že by se mu měla věnovat samostatná kniha. Tato kapitola je jen chutným předkrmem: kniha jako AppleScript: The Essential Guide by byla o sedmi chodech.

Poradenství Celou kapitolu o skriptu AppleScript – který se objevil v předchozím vydání této knihy – si můžete stáhnout ze stránky Missing CD na adrese www.missingmanuals.com.

Abyste mohli využívat výhod této technologie, nemusíte vytvářet AppleScript. Mac OS X přichází s desítkami hotových skriptů, které jsou opravdu užitečné, a pro spuštění některého z nich stačí vybrat jeho název v nabídce. Tato "reprodukce" AppleScriptu vyžaduje tolik technických dovedností jako stisknutí tlačítka výtahu.

Některé z těchto skvělých úvodních scénářů si můžete vyzkoušet přidáním nabídky scénářů na lištu nabídek (obrázek 7.16, vpravo).

Nabídka scénářů má 16 připravených kategorií, které kombinují asi 100 scénářů; pro spuštění skriptu jednoduše vyberte jeho název. Zde je seznam nejužitečnějších a nejzajímavějších scénářů.

Poradenství Pokud při výběru názvu skriptu z nabídky stisknete klávesu Shift, Mac OS X vás přenese přímo na místo, kde se daný skript nachází ve Finderu (například do složky Home>Library>Scripts). Pokud navíc při výběru názvu stisknete klávesu Option, skript se otevře v Editoru skriptů, kde jej můžete prozkoumat nebo upravit.

Tato podnabídka obsahuje pouze skript Importovat adresy, který je určen ke kopírování jmen a adres z aplikací Entourage, Outlook Express, Palm Desktop, Eudora, Claris Emailer nebo Netscape do programu Adresář. Pokud máte hodně přátel, použijte tento skript, abyste nemuseli znovu zadávat všechna jejich jména, telefonní čísla a poštovní adresy. (Doprovodná podsložka Address Importers nabízí skripty pro import ze tří konkrétních programů.)

Podnabídka Základy obsahuje tři užitečné malé skripty související s AppleScriptem: AppleScript Help (otevře Prohlížeč nápovědy a vyhledá slovo AppleScript); Webová stránka AppleScript (otevře webovou stránku AppleScript ve vašem webovém prohlížeči); Open Script Editor (otevře program Script Editor, určený pro čtení a úpravu skriptů AppleScript).

Tato složka obsahuje skupinu dropletových skriptů ColorSync (které se spustí, když něco přetáhnete na její ikonu), které jsou zajímavé pro umělce, návrháře webových stránek, vydavatele a podobně.

V některých případech, když vyberete skript z této nabídky, zobrazí se krátká informační zpráva a poté dialogové okno Otevřít pro výběr grafický soubor ke zpracování.

Ostatní jednají okamžitě; například skript Mimic PC monitor upravuje barvy obrazovky tak, aby co nejvíce odpovídaly mírně odlišným odstínům na monitoru počítače se systémem Windows. To je velmi výhodné, pokud na tom pracujete

KURZY ZKUŠENÝCH UŽIVATELŮ
Tajemství nabídky skriptů
Nabídka Skripty zobrazuje obsah dvou různých složek Skripty: jedna je Domů>Knihovna>Skripty a druhá je v hlavní složce Knihovna. Tyto skripty, které jsou převzaty z vaší osobní složky, jsou v nabídce skriptů odděleny tečkovanou čarou.

Tyto skripty lze nejen spouštět. Jsou také ideální pro jejich otevření v editoru skriptů (stačí dvakrát kliknout) a analyzovat řádek po řádku, jak fungují. Jakmile porozumíte syntaxi, můžete kopírovat fragmenty kódu a po jejich změně je používat ve svých skriptech. (Editor skriptů je program, který najdete ve složce Applications > AppleScript, který můžete použít k vytváření vlastních skriptů.)

Fotografii nebo webovou stránku a chcete vědět, jak to bude vypadat pro neosvícené masy. (Chcete-li obnovit původní barvy, přejděte na kartu Barva dálkového ovladače displeje v okně Předvolby systému.)

Všechny tyto scénáře se týkají práce ve Finderu – řekněme manipulace se soubory a okny. Zde jsou nejužitečnější z nich:

Přidat k názvům souborů, Přidat k názvům složek. Tyto skripty připojují předponu nebo příponu k názvu každého souboru nebo složky v předním (aktivním) okně Finderu (nebo, pokud nejsou otevřena žádná okna, na ploše). Pomocí těchto skriptů můžete k názvům všech souborů ve složce přidat slovo „návrh“ nebo „konečný“ nebo „starý“.

Nahradit text v názvech položek umožňuje provádět hledání náhrady v názvech souborů, složek nebo obou. Pokud jeden vydavatel odmítne váš návrh knihy o 45 kapitolách, můžete pomocí tohoto skriptu přejmenovat všech 45 kapitol: řekněme, že z toho, co bylo „Historie podložek pod myš – návrh na náhodný dům, kapitola 1“ se stane „Historie podložek pod myš – návrh pro Simona“ "& Schuster, kapitola 1."

Oříznout názvy souborů, Oříznout názvy složek. Pokud jste udělali chybu při spuštění skriptu Přidat do názvů souborů, můžete ji vždy opravit pomocí Oříznout názvy souborů. Tento skript odstraňuje přípony souborů, přípony nebo předpony podle výběru uživatele.

Řekněme, že jste právě vytvořili několik nových složek najednou. Mac OS X pojmenovává tyto složky jako „složka bez názvu“, „složka bez názvu 2“ atd. Ale co když vám více vyhovuje názvy „složka 1“, „složka 2“ atd.? Spusťte skript Trim Folder Names; V dialogovém okně zadejte bez názvu a klepněte na OK.

Je nepravděpodobné, že budete aktivně používat skripty Folder Actions, protože úplně stejný přístup k operacím se složkami poskytuje Ctrl-kliknutí na složku (nebo uvnitř jejího okna)

Tyto skripty demonstrují, jak můžete automatizovat některé úlohy související s písmy.

FontSync je ušlechtilý pokus společnosti Apple vyřešit starý problém publikování na počítači. Dokončili jste vytvoření krásného zpravodaje a odnášíte jej do místní tiskárny, kde si jej necháte vytisknout na vysoce kvalitním zařízení, ale zjistíte, že musíte výtisky zahodit a začít znovu – jen abyste zjistili, že písma nevypadej tak, jak jsi chtěl. Tiskárna neměla k dispozici přesná písma, která jste použili k přípravě dokumentu. Nebo ještě hůř, fonty měly úplně stejné názvy, ale byly vytvořeny jinou společností, a proto se od toho vašeho v určitých parametrech mírně lišily.

Myšlenkou FontSync je upozornit uživatele předem na možné nesrovnalosti. Skript Create FontSync Profile vytvoří soubor profilu FontSync během několika minut. Tento dokument obsahuje ohromující množství informací o designu, toku a prosperitě všech písem nainstalovaných v systému. V tiskárně lze takový dokument zpracovat pomocí dodatečného skriptu Match FontSync Profile. Prozkoumá rozdíly mezi písmy na Macu uživatele a tiskařských strojích.

Tato technologie samozřejmě implicitně předpokládá příliš mnoho: že tiskárna má nainstalované počítače Macintosh, že umí pracovat s FontSync a také že uživatel nezapomene nejprve vytvořit a přenést profil FontSync do tiskárny.

IChat prošel v 10.5 výrazným přepracováním – Apple přidal spoustu zajímavých (i když někdy zbytečných) funkcí. Je také možné spouštět skripty AppleScript jako signály, když dojde k události související s vašimi kontakty. Můžete například automaticky přijímat pozvánky k chatu od jednotlivých kontaktů nebo na ně dokonce reagovat předem připraveným pozdravem. Můžete dokonce ovládat přehrávání hudby na jednom Macu zadáním příkazů do okna iChat na jiném Macu ve vaší domácnosti. Podrobnosti v kapitole 21.

Přínos těchto dvou scénářů je malý. Aktuální datum a čas zobrazuje aktuální datum a čas v dialogovém okně vybaveném tlačítkem Schránka pro kopírování informací, připravené k vložení. Font Sampler zobrazí stránku se seznamem písem (jejichž názvy jsou zapsány ve skriptu), která jsou nainstalována v systému Mac OS X. (Skript se stal méně užitečným, protože Font Book přidal podobné vestavěné příkazy pro tisk.)

Dva scénáře v tomto menu si zaslouží zvláštní zmínku. Aktuální teplota podle PSČ ukazuje, jaká je teplota za oknem ve stupních Fahrenheita a Celsia. To je další důvod, proč celý den nevycházet z domu.

Stock Quote obdrží kotace akcií pro vybranou společnost s 20minutovým zpožděním. Není to tak skvělé jako získávání nabídek v reálném čase, ale je to zdarma.

Většina skriptů v této podnabídce řeší některé specifické problémy, jako je počítání písmen ve vašich e-mailech. poštovní schránky nebo zřízení nového účet. Nejvtipnější ze všeho je samozřejmě scénář Crazy Message Text (obr. 7.17).

Skripty v této složce umožňují přeskočit do speciálních složek Finderu – přímo z nabídky, z libovolného programu. Pokud složka, kterou chcete otevřít, nemá přiřazený vlastní skript, vyberte ji ze seznamu ve skriptu Otevřít speciální složku.

Poradenství Pro ty, kterým nevadí, že musí tento skript upravovat pomocí Editoru skriptů, můžete jej upravit tak, aby vám umožnil vybrat a otevřít více než jednu složku najednou (řekněme pomocí -click). Stačí zadat text vícenásobné výběry povoleno true ihned za slova Zvolte složku k otevření: (na konci řádku, nachází se přibližně na začátku druhé třetiny skriptu). Nezapomeňte uložit změny.

Tyto skripty jsou navrženy tak, aby demonstrovaly sílu AppleScriptu pro tisk a vytváření dokumentů PostScript a PDF.

Jeden z nich, Print Window, zaplňuje dlouhodobou mezeru v Mac OS X. Měl by vytisknout textový seznam obsahu libovolné vybrané složky. (Je to ale trochu bugina.)

Podle týmu O těchto skriptech vám těchto 48 předem sestavených skriptů pomůže psát rychlejší a přesnější skripty, protože úryvky kódu neobsahují překlepy a syntaktické chyby. Jak se budete zlepšovat, můžete sem přidávat své vlastní skripty s úryvky kódu přizpůsobenými skriptům, které obvykle píšete, aby byla vaše práce ještě efektivnější. (Když vytvoříte skript v editoru skriptů, vložíte tyto úryvky kódu do textu pomocí Ctrl-kliknutí a výběr nabídky rychlý přístup.)

Scénáře většinou plní svou práci tiše a nepozorovaně. Pokud ale chcete automatizovat program, který nerozumí normálním příkazům AppleScriptu, skripty jej mohou „ovládat“ ručně simulací výběru z nabídky, stisku tlačítek a tak dále.

Poznámka Tato funkce, nazývaná skriptování uživatelského rozhraní, se projeví až poté, co otevřete konzolu Universal Access v Předvolbách systému a zaškrtnete políčko Povolit přístup pro pomocná zařízení.

Nemá smysl spouštět skripty z podnabídky Skripty prvků uživatelského rozhraní tak, jak jsou: jsou to pouze ukázky, které demonstrují správnou syntaxi.

Tato nejnovější sada skriptů poskytuje rychlý přístup k některým oblíbeným webovým stránkám. Výjimkou je skript Download Weather Map, který stáhne aktuální mapu počasí kontinentálních Spojených států, uloží ji na plochu jako weathermap.jpg a poté ji otevře v Náhledu.

Poradenství Do nabídky můžete přidat skripty, soubory a dokonce i internetové adresy a poté je všechny snadno spouštět z lišty nabídek. Vše, co přetáhnete do složky Knihovna>Skripty, se automaticky zobrazí v nabídce skriptů.

Na druhou stranu, pokud do nabídky Script začnete přidávat spoustu vlastních položek, bude pohodlnější z ní vzorky Apple odebrat. Žádný problém. Otevřete nástroj AppleScript Utility a zrušte zaškrtnutí políčka Zobrazit počítačové skripty.

Práce s hotové skripty AppleScript

Při procházení nabídky skriptů si brzy uvědomíte, že na svém Macu máte desítky bezplatných vestavěných skriptů. Skvělé je, že můžete přijít na to, jak fungují, a dokonce je změnit, když se postupně naučíte psát své vlastní AppleScripty. Můžete dokonce kopírovat a používat celé části skriptů Apple ve svých vlastních skriptech.

Nejprve je samozřejmě nutné otevřít skript. Nejjednodušší způsob, jak to udělat, je otevřít nabídku skriptů, vybrat požadovanou kategorii a kliknout na název požadovaného skriptu se stisknutou klávesou Option.

AppleScript se můžete začít učit sledováním jednoduchého skriptu. Otevřete například skript New Application Window (V kategorii Navigační skripty) kliknutím na jeho název a současně stiskněte Tlačítko volby. V důsledku toho Script Editor otevře soubor v novém okně (obr. 7.18).

Tento skript funguje takto:

Řekněte aplikaci "Finder" říká Mac OS X, který program by měl spustit následující příkazy.

Aktivace přenese Finder do popředí – stejně jako kdybyste klikli na jeho ikonu v Docku.

Otevřít složku "Aplikace" spouštěcího disku říká Finderu, aby otevřel nové okno se složkou Aplikace na hlavním pevném disku.

End tell říká Finderu, aby se věnoval své práci a ignoroval další příkazy z vašeho skriptu.

Chcete-li skript otestovat, klikněte na tlačítko Spustit nebo stiskněte -R.

Poradenství Tento skript můžete upravit tak, aby lépe vyhovoval vašim potřebám. Zkuste například nahradit "Aplikace" za "Uživatelé", aby skript otevřel složku Uživatelé.

Vytváření vlastních AppleScriptů

Mac OS X přichází s desítkami programů – tolik z nich! Dobře, něco tam chybí - například metronom. Jak budete hrát na klavír v ustáleném rytmu, aniž byste slyšeli rytmické cvakání vašeho Macu? Samozřejmě v nouzi pomůže metronom GarageBand, ale to je střílení na vrabce z děla.

Místo toho můžete použít AppleScript. Otevřete nový dokument v editoru skriptů (Soubor>Nový nebo -N) a zadejte následující:

zobrazit dialogové okno "Vítejte v AppleScript Metronome"

nastavte bpm na text vrácený z (zobrazit dialogové okno ¬

"Kolik tepů za minutu?" výchozí odpověď 60)

nastavit pauzu mezi pípnutími na (60/bpm)

zpoždění pauzyMezi pípnutími

Poznámka Není třeba tisknout symbol ¬. Programátoři tedy říkají: "To by mělo být na jednom řádku, ale není dostatečná šířka stránky."

Když spustíte tento skript, objeví se dialogové okno s dotazem, kolik úderů za minutu má metronom počítat. Číslo, které zadáte (například 120), je uloženo v proměnné dočasného úložiště ve skriptu nazvaném bpm.

Skript pak vypočítá délku pauzy mezi pípnutími a zaznamená tento zlomek sekundy do proměnné pauseBetweenBeeps. Pokud jste skriptu řekli, co má publikovat pípnutí, například 120krát za minutu, pak se do pauseBetweenBeeps zapíše hodnota 0,5, protože mezi vzorky musí být pauza rovna půl sekundy.

Nakonec skript vytvoří nekonečnou smyčku: signál, pauza na zadanou délku a pak opakování.

Kliknutím na tlačítko Spustit skript otestujete, a až uslyšíte dostatek zvuků, klikněte na tlačítko Zastavit.

MOJE OBLÍBENÉ TECHNIKY
Přílohy na ploše jedním kliknutím
Zde malý trik s Automatorem, který může být záchranou pro každého, kdo často potřebuje posílat dokumenty e-mailem. (Modeluje velmi pohodlný příkaz Odeslat do, který se nachází v místní nabídce počítačů se systémem Windows.)

Vytvořte proces v Automatoru pomocí pouhých dvou kroků: Získat vybrané položky Finderu (v kategorii Finder) a New Mail Message (v kategorii Mail).

Pokud vždy posíláte soubory stejnému příjemci – například vašemu šéfovi – můžete dokonce přednastavit adresu na procesním panelu Automatoru. Pokud se předmět a text zprávy pokaždé opakují, můžete je také nastavit předem.

Nyní vyberte Soubor>Uložit jako modul plug-in. Pojmenujte proces Email This nebo jakkoli chcete.

Od této chvíle můžete odeslat dokument z Finderu tak, že na něj kliknete se stisknutou klávesou Ctrl a ze zobrazené nabídky zvolíte Automator>E-mail This.

Vítězství! Mac OS X spustí Mail a vytvoří odchozí zprávu s připojeným souborem.

Tip zdarma: pokud mezi tyto dvě akce vložíte další akci Vytvořit archiv (z kategorie Finder), váš příkaz nabídky také zkomprimuje soubor (nebo složku) do souboru .zip před odesláním poštou!

Poradenství Bude ještě chladnější, pokud v nastavení systému zaškrtnete Předvolby systému>Univerzální přístup>Sluch>Blikat na obrazovku, když se objeví výstražný zvuk. Nyní, když váš skript běží, obrazovka bude blikat spolu se zvukem. Pokud nahráváte hudbu, ztlumte svůj Mac: budete mít vizuální metronom, ale žádný zvukový signál.

Srovnání AppleScriptu a Automatoru

AppleScript má stovky využití – automatizace procesů, které jsou pro Automator příliš složité, ovládání programů, které Automator nevidí, a programování věcí jako smyčkování příkazů, které Automator neumí.

Pokud se na AppleScript díváte pouze jako na náhradu za Automator, přicházíte o spoustu energie. Ve skutečnosti AppleScript poskytuje možnosti, které Automator pravděpodobně nebude mít za 10 let: je to mnohem pokročilejší nástroj.

Automat je dobrý pro jednoduché úkoly. Pokud potřebujete AppleScript pro automatizaci vašeho Macu, nezoufejte. Berte to opravdu na sebe mocný nástroj. (Dokonce je můžete zkombinovat a vložit skripty AppleScript do procesů Automator pomocí akce Run AppleScript.)

Hodně štěstí s automatizací!

Ještě nepoužíváte AppleScript? Nevíte co to je? Myslíte si, že je vám to k ničemu? Nebo vám možná vzpomínka na školní hodiny informatiky způsobí alergii při pouhé zmínce o slovu „program“? To znamená, že jste otevřením tohoto článku udělali správnou věc.

Doufám, že vám to pomůže pochopit tento velmi užitečný nástroj a čas strávený čtením se vám později bohatě vrátí.

Při práci s konkrétním programem musíme často provádět stejné akce mnohokrát: stisknout stejné klávesy, vybrat stejný příkaz z nabídky, zadat stejné hodnoty do dialogová okna& Zde přichází na řadu AppleScript. Sled našich operací popíšeme formou „skriptového“ programu, spustíme jej a v klidu popíjíme kávu, občas se podíváme, zda skončilo zpracování posledního, tři tisíce sedm set osmdesátého devátého souboru. Něco podobného existuje ve formě souborů DOS BAT nebo skriptů shellu UNIX. AppleScript má však důležitou výhodu: tomuto jazyku „rozumí“ jak Finder, tak velký počet aplikační programy a skript k nim může přistupovat jeden po druhém.

Jazyk, který budeme používat (nazývaný také AppleScript), je velmi blízký běžnému jazyku anglický jazyk. Skript může vypadat například takto:

sdělit aplikace "Finder"
udělat
konec vyprávět

Myslím, že každý pochopil, co udělá. Ale abyste se naučili psát své vlastní skripty, budete muset porozumět některým konceptům.

Objekty, vlastnosti, události...

AppleScript je objektově orientovaný jazyk. To znamená, že vše, co ve vašem počítači „existuje“, bere v úvahu objektů(předměty). Objekt se může skládat z jiných objektů, může být součástí jiného objektu nebo se může vztahovat k jinému objektu. Například Finder je objekt. Má „podřízené“ objekty – složky, soubory, okna. Editor Tex-Edit má textový objekt sestávající ze slov, řádků, odstavců atd. Znalost toho, jak spolu objekty souvisí (jejich hierarchie), je velmi důležitá, protože příkaz je přenášen „po řetězu“. Funguje jakási „vertikála moci“: dáváme příkazy Finderu, on dává příkazy složce, dává příkazy složce v ní vnořené a tak dále, dokud nedosáhne požadovaný soubor. A „prováděcí zpráva“ bude opět sledovat stejný řetězec - v opačném směru.

Tvoří se objekty stejného typu (například všechny složky). Třída(třída). Každý objekt má určitou množinu vlastnosti(vlastnosti), které jej odlišují od jiného. Každý soubor má například název, štítek, typ, datum vytvoření, verzi a více než tucet charakteristik. Některé z nich může skript změnit, některé lze pouze číst.

Jedna třída (tzv "potomek") může zdědit vlastnosti jiné třídy ( "předek"). Například složky i soubory mají společného předka - prvek (položku).

Nyní se podívejme na náš příklad a trochu jej rozšíříme:

- jakýkoli text napsaný po „dvou mínusech“,
— zvážil komentář;
- počítač tomu nevěnuje pozornost
sdělit aplikace "Finder"
- slovo tell začíná skupinu příkazů,
- vztahující se k jednomu předmětu
udělat nová složka na ploše s vlastnostmi (název:"Můj!", index štítku:2)
konec vyprávět - a tím skupina příkazů končí
sdělit aplikace "Finder" říct položka "Moje!"
OTEVŘENO
soubor jeho jméno na"Jen pro mě"
konec vyprávět

Nejprve řekneme Finderu, aby vytvořil nový objekt třída "složka", umístěná na Tabulce. Některé vlastnosti jsou specifikovány v příkazu (název složky a její barevné označení), zbytek přiřadí standardně počítač. Pak řekneme Finderovi, aby přikázal své složce (takto a jen takto: „my vazalův vazal není můj vazal“) otevřít a změnit jméno.

Ale je čas přejít od teoretického uvažování k něčemu hmatatelnějšímu. Je čas spustit Editor skriptů.

Editor skriptů

Pro práci s AppleScriptem bylo vytvořeno několik programů, včetně velmi pokročilých vývojových nástrojů. Později pravděpodobně skončíte s vlastnictvím jednoho z nich. Pro prvotní seznámení nám ale postačí editor přiložený k Mac OS.

Okno Editoru skriptů je rozděleno na dvě části: v horní části se píše komentář (zobrazí se na obrazovce před spuštěním skriptu) a ve spodní části je program. Zkusme napsat náš příklad (samozřejmě se obejdete bez mých komentářů). Poté klikněte na tlačítko „Zkontrolovat syntaxi“. Pokud uděláte nějakou chybu, objeví se vysvětlující okno. Ale s největší pravděpodobností bude vše v pořádku - a po krátké pauze text poněkud změní svůj vzhled. Jaké písmo bude použito pro zvýraznění různých prvků skriptu, lze nakonfigurovat pomocí příkazu „Formátování AppleScriptu“ v nabídce „Upravit“. Nyní můžete kliknout na tlačítko „Spustit“. Fungovalo to?

Napsaný skript lze uložit různými způsoby: buď zdroj(Text), nebo již zkompilovaný skript(Compiled Script) - připraven ke spuštění editorem skriptů nebo nějakými jinými programy, konečně - ve formě nezávislého (poznámka pod čarou: samozřejmě ne tak docela - bez nainstalovaného AppleScriptu to neudělá nic) appletový program(Aplikace). Můžete vytvořit skript „pouze spuštění“ (pouze pro spuštění). Jen nezapomeňte v tomto případě ušetřit - pro sebe - a původní soubor. V opačném případě se k jeho zdrojovému textu nedostanete nejen konkurenti, kteří chtějí porušit vaše autorská práva, ale ani vy sami.

Slovníky, slovníky, slovníky...

"No, dobře," pravděpodobně si říkáte, "použití editoru je stejně snadné jako loupání hrušek, přečtěte si hotové skripty- také není obtížné. Ale jak je napsat? Kde získáme všechny tyto třídy, příkazy, vlastnosti? Odpověď je jednoduchá: musíte se podívat slovník. Každý program, který podporuje práci s AppleScriptem, stejně jako ScriptingAddition (o „doplňcích“ si povíme později) obsahuje stručný popis všechny jeho objekty a rozpoznané příkazy. Tento slovník můžete zobrazit přímo z editoru skriptů - výběrem „Otevřít slovník“ z nabídky „Soubor“ nebo přetažením požadovaný program k obrázku redaktora.

Programy pro Macintosh mohou podporovat AppleScript na třech různých úrovních.
Skriptovatelný- program umí provádět příkazy popsané ve formě skriptu.
Zapisovatelné- je možné zaznamenávat příkazy prováděné v programu. Vytvoříme nový skript, spustíme nahrávání (pomocí tlačítka „Nahrát“), provedeme například potřebné akce ručně ve Finderu a zastavíme nahrávání („Stop“). To je vše. Díky tomu je velmi pohodlné vytvářet šablony skriptů.
Připevnitelné- skript lze spustit přímo z programu, je „připojen“ k nabídce nebo k libovolnému objektu v okně. Příklady takových programů: AppleWorks, Tex-Edit, FileMaker Pro.

Otevřeme si například slovník Finder.

Vlevo vidíte seznam všech „pojmů“ definovaných v programu. Upozornění: některé z nich jsou vyznačeny kurzívou. To jsou předměty. Všichni ostatní jsou týmy. Kliknutím na požadované slovo si můžete přečíst krátké shrnutí.

Co se například můžete dozvědět o „Kontejneru“? Nejprve vidíme: „Kontejner třídy: Položka, která obsahuje další položky.“ To znamená, že je to prvek obsahující další prvky. A když se podíváte na popisy několika následujících tříd, bude jasné, že „kontejner“ je koncept, který zahrnuje disky, složky, plochu a koš. Má společné vlastnosti těchto do značné míry podobných objektů. A v „rodokmenu“ – hierarchii tříd – je jejich předkem.

Čtěte dál. "Množné číslo: kontejnery". Množné číslo? Učíme se anglickou gramatiku? ano i ne. Již jsem zmínil, že AppleScript je co nejblíže přirozenému jazyku. A pokud chceme zpracovat všechny objekty dané třídy, tak to můžeme napsat, jak to má být v angličtině, buď „every container“ nebo „containers“.

Jak již víte, objekt může obsahovat další objekty. Které z nich a jak se od sebe liší, jsou popsány v další části slovníku - „Prvky“. Kontejner, jak vidíte, může obsahovat objekty jednoho a půl tuctu různých tříd, například další kontejnery, složky, soubory dokumentů a programů atd. A konkrétní prvek třídy můžete označit buď názvem (pomocí název) nebo podle sériového čísla (podle číselného indexu).

A konečně poslední část je „Vlastnosti“. Zde nejprve vidíme, že třída „Container“ je potomkem třídy „Element“ ( item ), to znamená, že má všechny své vlastnosti. Ale tato třída má také několik svých vlastních. Upozornění: některé z nich jsou označeny „“ (pouze pro čtení), tyto vlastnosti nelze změnit pomocí příkazu AppleScript.

Nyní se podívejme, jak jsou příkazy popsány ve slovníku. Vezměme si například skript „Make“, který již znáte z příkladů skriptů. V horní části stránky je účel příkazu (vytvořit nový prvek). Dále - jak se píše (syntaxe) a jaké má parametry. Všimněte si, že některé parametry jsou uzavřeny v hranatých závorkách. To je to, co znamenají ve slovníku volitelný parametry. Při tvorbě skriptu se bez nich obejdeme, ale pokud je použijeme, nemusíme dávat žádné závorky. Dokončí nápovědu k příkazu jeho označením výsledek(Výsledek). V našem příkladu to bude „odkaz“ na vytvořený objekt.

Tady to máš. Už si můžete zkusit napsat nějaký jednoduchý skript. Tak…

Ó tvůrce!

Myslím, že víte, že každý soubor na Macintoshi má dvě vlastnosti – typ a kód tvůrce, které umožňují Finderu rozhodnout, jak s tímto souborem naloží. Není také žádným tajemstvím, že často – například po přenosu přes internet – se tyto atributy ztrácejí. Samozřejmě existuje mnoho programů, které je dokážou změnit. Ale zkusme si vytvořit vlastní utilitu, s použitím pouze toho, co je již obsaženo v Mac OS.

Začněme tou nejjednodušší možností. Předpokládejme, že potřebujeme přiřadit souboru letter.txt, který se nachází na ploše, typ „TEXT“ a kód tvůrce „ttxt“ (SimpleText).

Vyberte objekt souboru ve slovníku Finder. Najdeme vlastnosti, které potřebujeme: typ souboru a typ tvůrce. Chcete-li změnit hodnotu konkrétní vlastnosti, použijte příkaz „setraquo; (instalovat). Celý skript by tedy měl vypadat nějak takto:

sdělit aplikace "Finder" říct soubor "letter.txt"
soubor jeho typ souboru na"TEXT"
soubor jeho typ tvůrce na"ttxt"
konec vyprávět

Nebo takhle:

sdělit aplikace "Finder"
soubor typ souboru z soubor "letter.txt" na"TEXT"
soubor typ tvůrce z soubor "letter.txt" na"ttxt"
konec vyprávět

Jak tedy vidíte, můžete souboru buď říct, aby změnil své (své) vlastnosti (v tomto příkladu lze slovo „jeho“ vynechat, protože účel příkazu je jasně definován i bez něj), nebo Finder program může změnit vlastnosti podřízeného objektu.

Ne nadarmo jsem nastavil podmínku, že soubor je na ploše. V opačném případě jsme potřebovali delší „řetěz“ podřízených objektů (něco jako „řekni aplikaci „Finder“, aby řekl disku „Macintosh HD“, aby řekl složce „lekci“, aby sdělil souboru „letter.txt“). Nebo - pro druhou verzi skriptu - indikace plná cesta: „soubor „Macintosh HD:lekce:písmeno.txt““ (Pamatujte si: cesta v Mac OS se píše pomocí dvojteček).

No, scénář je napsaný. Funguje to. Ale upřímně řečeno, žádný užitek z toho není - koneckonců pro každý následující soubor musíte změnit text samotného skriptu. Páni, usnadnilo to práci! Musíme zlepšit náš program. Naučme jej ptát se uživatele, který soubor zpracovat. Otevřete slovník Finder, podívejte se a tady jsou ty! Nic vhodného. Opravdu Apple udělal takovou chybu? vůbec ne...

"Nemáš stejný, ale s perleťovými knoflíky?"

Open Script Architecture (OSA) umožňuje získat téměř jakýkoli nezbytný prvek jazyka. Samozřejmě, kdyby se někdo obtěžoval napsat "přidání"(Scripting Addition nebo OSAX), který popisuje takový objekt a odpovídající příkazy. Tyto doplňky jsou umístěny ve složce Scripting Additions, která se nachází ve složce System Folder (dříve ve složce Extensions). Může je použít jakýkoli skript, bez ohledu na to, v jakém programu je. momentálně příkazy.

Otevřeme slovník standardních doplňků (pro rychlý přechod do složky Scripting Additions je v dialogu Otevřít slovník speciální tlačítko). Tady to je - příkaz „vybrat soubor“. Výsledkem jeho práce bude odkaz na soubor vybraný osobou ve standardním dialogu Otevřít. Tento odkaz si uložíme do proměnné, kterou nazveme např. MůjSoubor.

Náš skript bude vypadat takto:

sdělit aplikace "Finder"
soubor MůjSoubor na vyberte soubor
soubor typ souboru z MůjSoubor na"TEXT"
soubor typ tvůrce z MůjSoubor na"ttxt"
konec vyprávět

Celkem funkční program. Ale jde to udělat pohodlněji? Proč spouštět skript samostatně a pak v dialogu vybrat název souboru – není lepší použít metodu Drag’n’Drop? Vše je v našich silách!

Psaní kapky

Co tedy chceme získat a jak toho dosáhnout.

  1. Program by měl fungovat nezávisle na editoru skriptů. S tím je vše jasné, už víme, že k tomu je třeba uložit jako applet.
  2. Účelem skriptu je změnit vlastnosti daného souboru. Tuto část již máme připravenou.
  3. Soubor, který je „nakreslen“ na obrázek skriptu, by měl být zpracován. Tady začíná zábava. Předmětům „žijícím“ v našem počítači se neustále dějí různé věci. události. Soubor lze například přesunout, zkopírovat nebo otevřít. Program se spustí, provede nějaké příkazy nebo neudělá nic a nakonec skončí. Aby objekt „věděl“, jak reagovat na konkrétní událost, je zapotřebí speciální podprogram - "psovod"(psovod). Když jsou soubory, složky nebo jednotky „hozeny“ do apletu, Finder mu pošle zprávu s příkazem „Otevřít“ a seznam „vyhozených“ objektů. Právě pro tuto událost budeme muset napsat handler.

V nejjednodušším případě to bude vypadat takto:

na otevřete seznam souborů — slovo „on“ začíná obsluhu události
— skript nejprve funguje sám o sobě bez ovlivnění jakýchkoli programů
soubor MůjSoubor na položka 1 z Seznam souborů
sdělit aplikace "Finder" - teď velíme Finderovi
soubor typ souboru z MůjSoubor na"TEXT"
soubor typ tvůrce z MůjSoubor na"ttxt"
konec vyprávět
konec OTEVŘENO - nezapomeňte označit, že psovod skončil

Pro dočasné uložení seznamu jsme použili proměnnou FileList. Proměnné lze pojmenovat pomocí libovolné kombinace latinských písmen, ale je vhodné je pojmenovat tak, abyste z názvu pochopili, co tato proměnná znamená.

Jak vidíte, je zpracován první prvek ze seznamu, který byl předán při spuštění skriptu. A co zbytek? Náš program jim prostě nevěnuje pozornost. Není těžké uhodnout, že dalším krokem na cestě k dokonalosti bude zpracování celé hromady souborů najednou.

Jednou, jednou, ještě jednou...

Až dosud byly všechny příkazy našich skriptů prováděny jeden po druhém v pořadí, v jakém byly napsány. Nyní musíme stejné akce opakovat několikrát za sebou. Budeme muset zorganizovat speciální strukturu - cyklus. AppleScript má k tomu různé ovládací příkazy. Akce můžete opakovat předem zadaný početkrát nebo je provádět při splnění určité podmínky. Ale téměř každý programovací jazyk má takové smyčky. V našem úkolu je ideální další možnost - „opakovat pro každý prvek seznamu“. S ním bude skript vypadat takto:

na otevřete seznam souborů
opakovat s MůjSoubor v Seznam souborů - takto se píše začátek cyklu
sdělit aplikace "Finder"
soubor typ souboru z MůjSoubor na"TEXT"
soubor typ tvůrce z MůjSoubor na"ttxt"
konec vyprávět
konec opakování — musíme označit konec řídící struktury
konec OTEVŘENO

Co dalšího potřebuje náš program, aby se stal zcela profesionálním? A ona nemá dost "spolehlivý". Koneckonců, můžete „hodit“ složky a zástupce na obrázek skriptu, ale mělo by to fungovat pouze s běžnými soubory.

Kdo chcete, vyberte si

Proto, když procházíte prvky seznamu, musíte určit, co je každý z nich. Pouze pokud narazíte na běžný soubor, změňte jeho vlastnosti. Další ovládací struktura vám umožňuje vybrat si, zda chcete nebo nechcete provádět nějaké operace - podmíněný operátor Li. Zda je objekt složkou nebo zástupcem, můžete určit tak, že o něm získáte informace pomocí příkazu „info pro“ ze standardních doplňků. Výsledkem bude objekt třídy „informace o souboru“. Toto jsou jeho vlastnosti - "složka?" (složka) a „zástupce?“ (alias) - zkontrolujeme. Protože potřebujeme, aby prvek nebyl složkou A nebyla zkratka, spojíme dvě podmínky logická operace„a“ (když stačí splnit kteroukoli z podmínek - NEBO první, NEBO druhý - použijte spojovací výraz „nebo“). Obecně jsme na základě našich úvah získali následující skript:

na otevřete seznam souborů
opakovat s MůjSoubor v Seznam souborů
soubor theInfo na informace pro MyFile
-li(složka z theInfo je falešný) a ¬
(jinak z theInfo je falešný) pak
sdělit aplikace "Finder"
soubor typ souboru z MůjSoubor na"TEXT"
soubor typ tvůrce z MůjSoubor na"ttxt"
konec vyprávět
konec pokud
konec opakování
konec OTEVŘENO

Vezměte prosím na vědomí, že všechny podmínky v prohlášení If musí být zapsány v jednom řádku. Aby byl text programu čitelnější, může být užitečné „složit“ dlouhý řádek, jako je tomu v tomto příkladu. Chcete-li to provést, stiskněte kombinaci kláves „Option-Return“. V textu se objeví symbol pokračování „¬“.

Samozřejmě jsem vás v této krátké lekci mohl jen trochu seznámit s nejjednoduššími technikami práce s AppleScriptem. Ale myslím, že jste přesvědčeni, že na tom není nic složitého. Zkuste to! Doufám, že v tomto tématu budu pokračovat v dalších článcích.

Jedná se o programovací jazyk, technologii, která patří společnosti, nejčastěji se používá k automatizaci pracovních procesů a umožňuje mezi sebou komunikovat programy. wow :)

Nebudu otevírat sérii článků na téma: „Applescript pro figuríny. Krok za krokem“ z jednoho prostého důvodu – materiálů na toto téma je na internetu dostatek. A abych nepřepisoval základku po svém a nevynalézal kolo znovu, uvedu jen pár zdrojů, které se mi zdály nejvhodnější. Sám tím budu osvícen.

Téměř každý autor píše, že skriptovací jazyk je tak jednoduchý, že v něm může psát každý uživatel s alespoň malou znalostí tradiční angličtiny. A nemusíte ovládat každý aspekt objektově orientovaného programování. Je v tom kus pravdy, protože ve scénáři

sdělte aplikaci "Finder"

zobrazit dialog "Ahoj náměsíčníci!"

Je těžké neporozumět tomu, co se od kterého programu vyžaduje. Ale s OOP tak úplně nesouhlasím. Pokud napíšete takové zbytečné věci jako pípnutí nebo řeknete "Kdo je ten muž?" , pak ano, možná nevíte, co je cyklus a třída, a OOP k tomu má ještě hodně daleko. Ale pokud se chcete naučit, jak psát programy nebo skripty, abyste si usnadnili každodenní úkoly pro sebe nebo nějakou databázi, pak je pro vás lepší vědět, co jsou „dědičnost“ a „zapouzdření“.

kde začít?

Vše je jednoduché a na dosah ruky. Spusťte Editor skriptů a nejprve přejděte do nápovědy. Pokud používáte ruskou verzi, neměly by být žádné potíže.

Kdo chce knihu?

Pokud vám standardní návod nestačí, nebo je napsán tak, že vám není vše hned jasné, můžete se obrátit i na knihy (elektronické nebo tištěné - je to na vás). Často se odkazuje na knihu „AppleScript Language Guide“. Ukázalo se, že je na něj odkaz v nápovědě editoru skriptů.

Nelze nevzít v úvahu další zdroje, které nám vývojářská společnost sama nabízí. Existuje kniha pro začátečníky „AppleScript 1-2-3“ nebo si ji můžete koupit se stejným názvem.

Větší je lepší

Proč nezvážit online zdroje? Koneckonců zde najdete nejnovější a na recenze čtenářů reagují častěji a rychleji. Hledejme literaturu v dostupném jazyce.

Kromě různých přehledových článků můžete na internetu najít „“. Řekl bych, že jsou speciálně pro ty, kteří se zajímají o applescript. Kniha je pro začátečníky, je psána jednoduše, stránek je málo, ale příkladů je dost. Přesně to, co potřebujete. Tam si také můžete stáhnout knihu s názvem „“.

Ruské příručky jsou dobré, ale bez základní znalosti angličtiny bude mírně řečeno obtížné naučit se skriptovací jazyk.

Z článků bych věnoval pozornost tomuto. Líbilo se mi pro jeho podrobné představení některých základních principů samotného skriptovacího jazyka, „krátké a jasné“.

Nezapomeňte také na různá fóra, kde si uživatelé vyměňují názory, zkušenosti a hotové skripty. Osobně mám tento v záložkách.

Než se pustíte do vyhledávání a stahování materiálu, doporučuji, abyste se rozhodli pro svůj cíl. Pro obecný vývoj se můžete seznámit s některými zdroji. Chcete-li napsat skutečně užitečné skripty, budete muset strávit několik dní/týdnů/měsíců (v závislosti na vašich schopnostech a volném čase). Je to velmi zajímavé a návykové.

Nemohu nyní odhadnout šance člověka získat práci jako programátor nebo tester Applescript. S největší pravděpodobností ne moc velké. Ale pokud máte pocit, že je to vaše, pokračujte. Pokud vidíte cíl a nevidíte překážky, nezáleží na tom, kdo to potřebuje (alespoň vy). Skutečný talent bude vždy oceněn. A máte šanci dělat práci, kterou milujete.

  • AppleScript Apple, . AppleScript AppleScript. , - .

    AppleScript.

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

    1 . . . . . . . . . 7

    2 . . . . . . 10

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

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

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

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

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

    8 (II). . . . . . . 30

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

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

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

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

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

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

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

    AppleScript Apple, . , AppleScript:

    AppleScript, AppleScript. , -, .

    AppleScript, . - AppleScript ( Adobe PhotoShop, QuarkXPress, Adobe InDesign). FileMaker Pro. , GraphicConverter, BBEdit, Microsoft Word AppleScript(). , AppleScript. , . . , AppleScript, AppleScript. , - AppleScript.

    . (.15). - AppleScript. , .

    AppleScript, AppleScript:

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

    AppleScript; AppleScript; AppleScript (Mac OS X).

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

    5 AppleScript, . - AppleScript Studio, (Developer Tools XCode).

    JavaScript, .

    () . , . , . , .

    . , : . - . , . : .

    AppleScript, . . Editor skriptů (.2), ​​​​.

    Copyright (c) 2003 Bert Altenburg

    : Bert Altenburg, - .

    1. , - . , AppleScript. AppleScript.

    2., PC, . - , -. Monitor CPU (nástroje, aplikace), - . (Distributed Computing DC), Folding@home, . DC-, - . DC-. -- , DC-. , . ? DC--. (), -. , - , . DC--: , . , DC-:

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

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

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

    AppleScript Mac OS. , - . , .

    , -. , (prohlášení), . , .

    AppleScript, . , 1.

    AppleScript:

    řekněte "Toto je mluvená věta."

    Fred, Trinoidy, violoncella, Zarvox, Victoria.

    řekněte "Toto je mluvená věta." pomocí "Zarvox"

    : AppleScript. , . , Victoria Zarvox.

    AppleScript. - , - . : . AppleScript - , . AppleScript, . (skriptovatelný). , AppleScript (Mac OS X), .

    Nálezce. Nálezce. , . Finder , - , . -, Koš, Finder.

    8, AppleScript.

    Adobe PhotoShop. PhotoShop. , Finder.

    AppleScript, .

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

    říct aplikaci "xyz"

    (tell block). xyz xyz. , AppleScript , - , . , . (, ("). : , AppleScript ...)

    Nálezce. , Finder. Finder, Finder.

    říci aplikaci "Finder" vyprázdnit koš otevřít spouštěcí disk end tell

    Nálezce. Finder, - , . .

    Finder, AppleScript (Mac OS X).

    9řekněte aplikaci "Finder" vysypte koš otevřete spouštěcí disk end tellbeep

    Nálezce. pípnutí AppleScript. , .

    Pípnutí (AppleScript (Mac OS X)) .

    říci aplikaci "Finder" vyprázdnit koš pípnutí otevřít spouštěcí disk end tell

    Pípnutí vyhledávače, AppleScript (Mac OS X). , . , -, Finder, pípnutí, Finder.

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

    říci aplikaci "Finder" vyprázdnit koš pípnutí end tellopen spouštěcí disk

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

    říct aplikaci "Finder" vyprázdnit koš říct otevřít spouštěcí disky říct "Vysypal jsem koš a otevřel jsem za vás spouštěcí disk" pomocí "Victoria"

    AppleScript (Mac OS X), Finder. , .

    Editor skriptů, . Editor skriptů AppleScript, Aplikace. , . .

    Kompilovat. , AppleScript , AppleScript . Yo Finder! Dump my garbage (Vyhledávač!!!) Hey Finder! Vyčistěte koš (Finder,) Finder. (kompilace) AppleScript (Mac OS X) : - . , . , - . Editor skriptů.

    AppleScript (Mac OS X).

    říct "Učím se AppleScript jednoduchým způsobem!" pomocí "Zarvox"

    Běh, . Editor skriptů, !

    Vstupte. Enter - mezera () (). Návrat (Shift) -. Návrat .

    Kompilovat. - Utíkej, .

    Spusťte, Command-R. : , -

    , (kompilovaný skript) (aplikace).

    : , - AppleScript,

    Spusťte editor skriptů.

    : , AppleScript ,

    Editor skriptů. , - , (Předvolby systému). , . - , Editor skriptů, Otevřít soubor.

    : Uložit, - (pouze pro spuštění). , - .

    říci aplikaci "Finder" vyprázdnit koš end tell

    Editor skriptů.

    Aplikace,:

    Aplikace Script Editor. , xyz. - (-), pqr. - , AppleScript. , AppleScript pqr , tell .

    Editor skriptů, -. , ovládání. :

    1) Control Script Editor. (.), Tell Blocks. , Řekněte "Finder".

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

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

    2 + 6 = xy = 3 * 4

    AppleScript. (proměnné) , . - (identifikátory), . - AppleScript, sada.

    nastavte x na 25nastavte y na 4321,234

    AppleScript, . : (- , (chyby)). , x. , obrázek Šířka .

    nastavte šířku obrázku na 8

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

    AppleScript - . , nastavit, říct, do, pípnout , - AppleScript. , obrázek Šířka, . -, .

    AppleScript, . , .

    nastavit šířku obrázku na 8nastavit výšku obrázku na 6 nastavit obrázekPovrchová plocha na obrázekŠířka * obrázekVýška

    , (operátoři), - .

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

    Editor skriptů, . , . (Výsledek) , 10,0. , 1000,0. , cubeEdgeLength ^ 3, .

    : . - (celá čísla) , - , (. 13)

Z tohoto článku se dozvíte, co je AppleScript, proč a kdo jej potřebuje, jak můžete automatizovat aplikace jiných lidí a přidat možnosti automatizace k vašim.

Automatizujte to

Často se vyskytují problémy, pro které je iracionální vytvářet samostatný projekt v kompilovaném jazyce. Například, když potřebujete na koleně rychle sestavit kód, který by měl jednoduše dělat konkrétní práci – bez jakýchkoliv GUI dekorací, řešení všemožných výjimečných situací, optimalizace a tak dále. Zde přicházejí na pomoc skriptovací jazyky - shell, Perl, PHP a tak dále, jak víte. Všechny (nebo téměř všechny) jsou dostupné pod Mac OS X. Ale v tomto operačním systému existuje kromě obecně uznávaných skriptovacích jazyků také speciální skriptovací jazyk, který je orientován specificky na Mac OS X a úzce souvisí s to. Toto je AppleScript.

AppleScript je součástí systému od systému 7. AppleScript vyrostl z projektu HyperCard (který obsahoval skriptovací jazyk HyperTalk, který je velmi podobný přirozené angličtině) a byl původně vytvořen, aby umožňoval výměnu dat mezi úkoly a také řídil práce aplikace třetích stran. AppleScript sám o sobě má poměrně skromné ​​funkce: v tomto jazyce dokonce i skripty pro provádění relativně jednoduchých úkolů často vypadají jako volání jiných aplikací. Po významném přepracování systému během přechodu na řadu Mac OS X se však jazyk AppleScript stal flexibilnějším a výkonnějším a nový framework Cocoa umožnil vývojářům zabudovat do svých aplikací automatizační schopnosti pomocí AppleScriptu s minimálním úsilím.

Jednoduchý skript

K editaci a spouštění skriptů použijeme standardní Script Editor. Najdete jej ve složce /Application/AppleScript. Nejprve napíšeme jednoduchý skript „HelloWorld“.

zobrazit upozornění "Ahoj světe!" # Zobrazit dialog
řekněte "Ahoj světe" # Výstup do sloupců

Myslím, že zde není třeba nic vysvětlovat, ale rád bych poznamenal extrémně snadný přístup k syntetizéru řeči z AppleScriptu pomocí příkazu say. To je skutečná komunikace s uživatelem ve stylu Apple :). Tento dialog lze samozřejmě snadno přizpůsobit. Přidejte například potřebná tlačítka:

Panel s dalšími tlačítky

zobrazit upozornění "Ahoj světe!" tlačítka ("Ahoj", "Nashledanou")
nastavit odpověď na tlačítko vrácené z výsledku
pokud je odpověď "Ahoj", pak
...
jiný
...
konec pokud

Nyní napíšeme něco užitečnějšího. Nechejme například uživatele vybrat soubor a přečíst si jeho obsah:

# Panel pro výběr souboru
nastavte soubor na (vyberte soubor s výzvou "Vyberte soubor ke čtení:" typu ("TEXT"))
otevřete pro přístup k souboru

Čtení obsahu

nastavit obsah souboru na (přečíst soubor)
zavřete přístup k souboru

Tyto příklady jasně ukazují hlavní myšlenku AppleScriptu - je velmi blízký živé angličtině. Čtení skriptů je proto snadné i pro člověka, který má ke kódování daleko. Každý příkaz slovesa může být doplněn modifikačními podstatnými jmény a parametry.

Interakce s aplikacemi

AppleScript používá ke komunikaci s jinými aplikacemi mechanismus zasílání zpráv:

říct aplikaci "Microsoft Word"
přestat
konec vyprávět

Příkazem tell vybereme aplikaci, do které zprávu pošleme. V v tomto případě požádáme MS Word o ukončení. V bloku "tell - end tell" lze odeslat libovolný počet příkazů. Zprávy odeslané do aplikace mohou být konkrétnější. Vše závisí na tom, jaké příkazy jeho vývojáři implementovali. iTunes například exportuje několik příkazů a vlastností do prostředí AppleScript:

Spusťte požadovaný seznam skladeb v iTunes

říct aplikaci "iTunes"
přehrajte si seznam skladeb s názvem „My Favorite“
konec vyprávět

Sadu zpráv a datových typů, které aplikace exportuje do prostředí AppleScript, můžete zjistit podle její terminologie (soubor AppName.scriptRerminology v aplikačních prostředcích). Chcete-li to provést, přejděte v editoru skriptů do nabídky „Soubor - Otevřít slovník - ...“ a vyberte požadovanou aplikaci.

Aby vám usnadnila práci s třídami a příkazy, které aplikace exportuje, jsou uspořádány do sekcí. Všechny aplikace, které podporují skriptování, mají alespoň dvě sekce: jednu standardní a jednu více specifickou tuto aplikaci sekce. Standardní část obsahuje sadu standardních příkazů, které podporuje jakákoli aplikace Mac: otevřít, vytisknout, zavřít a ukončit. Obsah zbývajících sekcí závisí na fantazii vývojářů.

Spouštění skriptu AppleScript z vaší aplikace

Pokud píšete aplikaci v Objective-C/Cocoa, pak je možné, že některé věci bude pohodlnější dělat pomocí AppleScriptu. Pro vytváření a spouštění skriptů v aplikacích Cocoa existuje třída NSAppleScript. Zde je jednoduchý příklad jeho použití – implementace získání stavového řádku uživatele z aplikace iChat.

NSAppleScript *iChatGetStatusScript = nil;
iChatGetStatusScript = [ initWithSource: @"řekněte aplikaci "iChat", aby obdržela zprávu o stavu"];
NSString *statusString = [stringValue];

Je možné, že totéž lze provést jiným způsobem bez použití skriptu generovaného za běhu, ale je nepravděpodobné, že by alternativní kód vypadal jednodušeji než tento. Pokud jsou skripty velké, můžete je uložit do prostředků svazku a v případě potřeby je přečíst.

Automatizace v aplikaci Cocoa

Je velmi užitečné přidat do vašich aplikací Cocoa podporu skriptování, protože pokud má vaše aplikace rozhraní pro AppleScript, uživatel si ji napsáním několika řádků v AppleScript bude moci přizpůsobit pro své potřeby a integrovat ji s jinými aplikacemi. které má nainstalované, a následně např. automatizovat řešení rutinních úkonů. Chcete-li exportovat typy a příkazy do prostředí AppleScript, musíte je popsat v speciální soubory. To je možné provést v souborech .scriptSuite a .scriptTerminology nebo v jednom souboru s příponou .sdef. V obou případech jsou soubory ve formátu XML, ale s sdef je jednodušší pracovat.

Obsah souboru scriptTermonology se zobrazí v editoru skriptů při prohlížení slovníku aplikace. Tento soubor obsahuje popis objektů exportovaných do AppleScriptu.

Po otevření souboru scriptSuite v editoru Plist můžete vidět, že obsahuje následující hlavní části:

  • AppleEventCode - čtyřpísmenný kód, který identifikuje aplikaci pro prostředí AppleScript (kód musí být jedinečný v rámci stejného systému);
  • Název – název sekce, která obsahuje exportované příkazy a třídy.

Nemá žádný zvláštní smysl rozebírat vnitřní strukturu těchto souborů, protože se s největší pravděpodobností budete muset zabývat pouze soubory sdef.

Příklad souboru sdef
















sdef míchá skriptovací terminologii s podrobnými popisy příkazů a typů, které lze nalézt v souborech .scriptingSuit. Pojďme to uvést do praxe vytvořením aplikace Cocoa, která podporuje AppleScripting. Chcete-li to provést, v novém projektu Cocoa přidejte příznaky Scripting a OSAScriptingDefinition s názvem našeho souboru sdef do souboru Info.plist:

...
NSApleScriptEnabled

Definice OSAScripting
Scripting.sdef

Přidejme do projektu následující soubor Scripting.sdef:












Takže z AppleScriptu máme k dispozici jednu vlastnost - myprop. Zbývá jen napsat ObjC kód, který bude zpracovávat čtení této vlastnosti ze skriptů. Abychom to mohli udělat, musíme vytvořit kategorii NSapplication, protože to je třída, kterou jsme vybrali jako příjemce zpráv ze skriptů.

#importovat
@interface NSApplication (Scripting) - (NSString *) myprop;
@konec
@implementation NSApplication (Scripting) - (NSString *) myprop
{
return @"Toto je můj majetek";
}

Pokud se nyní podíváme na vlastnosti naší aplikace z AppleScriptu, uvidíme mezi nimi naši vlastnost a její hodnotu:

říct aplikaci "Skriptování"
vlastnosti
konec vyprávět

Závěr

Samozřejmě zde není možné popsat všechny možnosti AppleScriptu a jeho interakce s aplikacemi Cocoa. Ano, není to nutné – existují na to manuály. A my z naší strany budeme pokračovat v sérii článků o kódování pro platformy Apple a řekneme vám mnoho dalších nových a zajímavých věcí.

© 2024 ermake.ru -- O opravě PC - Informační portál