Počítače Okna Internet

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

Otevřít, oříznout, převést na jiný barevný model, uložit. Otevřít, oříznout, převést na jiný barevný model, uložit. Otevřít Nebo stále zde: Vybereme, přeneseme do bufferu, přepneme do jiné aplikace, zkopírujeme z bufferu. Vybrat, uložit do paměti, přepnout

To nezní jako kreativní činnost, že? Ale téměř každý, kdo se zabývá počítačem, musí denně provádět desítky a stovky opakujících se, v podstatě stejných operací. A po třítýdenní práci s jakýmsi „inteligentním převodníkem“ to není jako učit se novou verzi „Photoshopu“ nebo ovládat InDesign – k počítači se nechci ani přiblížit. Jedním slovem - potřebujete asistenta. Který převezme provádění všech (dobře, nebo alespoň většiny) nudných a rutinních, ale samozřejmě nezbytných opakujících se úkonů.

AppleScript – jaký druh bestie?

A takového asistenta máme. Je to speciální jazyk pro psaní skriptů (nebo chcete-li skriptování) nazvaný AppleScript. Poprvé se tento jazyk objevil v Mac OS 7.5 (tehdy ještě Macintosh System) a byl tak dobře implementován a měl také tak široké možnosti, že vydáním desáté verze OS „sáhl“ pouze na verze 1.8. Ale kupodivu, navzdory svému obrovskému potenciálu, nebo po více než deset let existence, se technologie AppleScript mezi uživateli Maců nerozšířila. Co je na vině – mýty o její složitosti, setrvačnost uživatelů, kteří jsou zvyklí výhradně na ovládání svých Maců „ikon-myší“ nebo něco jiného – nedokážu posoudit, ale faktem je, že o existenci AppleScriptu, ale používejte jej pouze jednotky. Proto není podle mého názoru zbytečné uvažovat o základních principech této technologie.
Jádrem AppleScriptu je Macintosh Apple Events, služba zpracování systémových událostí, která umožňuje výměnu řídicích příkazů, dat a požadavků mezi aplikacemi, operačním systémem, síťovými službami a dokonce i různými počítači. Skriptovací stroj (což je jednoduché rozšíření umístěné ve složce System) převádí příkazy skriptu na sekvenci událostí a předává je aplikaci zadané ve skriptu a po jejich zpracování přijme výsledek a odešle jej do zdroje skriptu.
AppleScript je sice skutečný programovací jazyk (podporuje proměnné, smyčky, podmíněné příkazy, podprogramy, umožňuje provádět složité výpočty a má dokonce nástroje pro vytváření a zpracování dialogových oken), ale hlavní úkoly stále leží na bedrech externích aplikací. A AppleScript funguje jako jakési „lepidlo“, které přenáší data mezi programy („přenos souboru z Illustratoru do Photoshopu“), vyhodnocuje aktuální stav pracovního prostředí jednotlivých programů, OS a sítě („je rasterizace souboru již dokončeno, nebo ještě ne?" ), a umožňuje provádět akce na základě výsledků předchozích operací („pokud jsou všechny soubory rastrovány, odešlete materiály do speciální složky a spusťte skript zodpovědný za sestavení stránky novin ").
Existuje několik úrovní "scénářství" aplikací. Takže například ty programy, které jsou nejméně přizpůsobeny automatizaci, rozumí pouze základním, nejjednodušším příkazům: načíst aplikaci, otevřít dokument, odeslat jej k tisku a aplikaci zavřít (spustit, otevřít, vytisknout a ukončit). Ty "vyhovující" (jako např. Photoshop, Illustrator a FreeHand) mají ve svém arzenálu nástroje, které pro psaní programů pro dávkové zpracování souborů a provádění určitých sekvencí akcí (makropříkazů) zcela stačí. No, ty, které podporují téměř všechny funkce technologie AppleScript (a to zahrnuje QuarkXPress, Adobe InDesign a většinu programů Apple), umožňují ovládat vaši práci na "nejhlubších" úrovních: nastavit možnosti tisku, používat schránku, kontrolovat a měnit hodnoty vnitřních proměnných atd.

Základy skriptologie

Pro zadávání zdrojových textů a spouštění skriptů můžete použít program Script Editor – hlavní a jediný nástroj pro tvorbu skriptů ve standardní distribuci Mac OS.
Editor skriptů se nachází ve složce Apple Extras/AppleScript (pro lokalizovanou verzi Mac OS - Add-ons/AppleScript) a po spuštění zobrazí okno podobné tomu na obr. jeden.


Rýže. 1. Editor skriptů

Horní a spodní vstupní pole jsou určena k popisu skriptu a jeho textu a téměř nepotřebují další komentáře. Tlačítko Záznam umožňuje zaznamenat makro příkaz, k tomu musíte po stisknutí tlačítka přejít do požadované aplikace a provést řadu akcí; načež se text skriptu objeví ve spodním vstupním poli (nutno podotknout, že schopnost zaznamenávat makropříkazy nepodporuje každý program). Tlačítko Zkontrolovat syntaxi zkontroluje, zda v textu skriptu nejsou nějaké chyby, a také jej převede do „obchodovatelné“ podoby – zvýrazní klíčová slova a vnořené bloky tučným písmem a odsazením.
Scénář jedna. Pro začátek, jak se očekávalo, napíšeme jednoduchý program, který provede několik základních akcí: zavře všechna otevřená okna, odstraní všechny vyměnitelné disky z médií, uspořádá ikony na obrazovce, vysype koš a vypne počítač. Text takového programu vypadá takto:

sdělte aplikaci "Finder"

zavřít každé okno
vysunout každý disk
vyčistit plochu
prázdný koš
vypnout

konec vyprávět

Co to všechno znamená? Služba Apple Events ("páteř" technologie AppleScript) předává data, požadavky a zprávy nejen mezi programy, ale i mezi prvky programu, které se nazývají objekty, a mohou mít vnořenou strukturu nazývanou objektový model. Takže například pro program Finder může být objektový model (přesněji jen jedna z větví tohoto modelu) reprezentován následovně: Finder - Desktop - Folder - File; pro textový editor bude mít tento model tvar Dokument - Stránka - Odstavec - Věta; pro vektorovou ilustraci to bude vypadat jako Ilustrace - Základní tvar - Bezierova křivka - Bod (obr. 2).


Rýže. 2. Příklady objektových modelů

Každý objekt má obvykle jednu nebo více vlastností (obrázek 3), které lze nastavit („nastavit výšku stránky na 14 palců“), upravit („změnit šířku z 8“ na 8,5“) a ovládat („co se rovná pravému okraji stránky?").


Rýže. 3. Vlastnosti objektu

Aby bylo možné ovládat ten či onen objekt, musí být vybrán (indikován) na objektovém modelu. K tomu konstrukce řekni konec řekni a všechny příkazy, které řídí objekt, jsou obsaženy v tomto konstruktu; pokud je objekt "hluboko" v jedné z větví modelu, použije se několik vnořených bloků řekni konec řekni. V následujícím příkladu skript postupně přistupuje k ploše (jeden z prvků objektového modelu Finder) a poté přesune složku „test“ na ploše do koše.

sdělte aplikaci "Finder"
říct desktopu

Smazat složku "test"

konec vyprávět
konec vyprávět

Při psaní skriptu, který řídí jakýkoli program - ať už je to Finder, FileMaker, Adobe Acrobat nebo něco jiného - musíte vědět, jaké příkazy jazyka AppleScript tento program podporuje, jaké objekty jsou zahrnuty v jeho objektovém modelu a také názvy a účely. všech dostupných objektů vlastností. Všechny tyto informace jsou uloženy přímo ve spustitelném souboru programu, v tzv. aplikačním slovníku. Chcete-li použít tento slovník, musíte v programu Script Editor spustit příkaz Soubor / Otevřít slovník (Soubor / Otevřít slovník) a v okně, které se zobrazí, vyberte spustitelný soubor požadované aplikace. Výsledkem je okno podobné tomu, které je znázorněno na Obr. 4 - v pravé části je seznam všech příkazů a objektů, v levé části je uveden jejich stručný popis.


Rýže. 4. Slovník aplikací

Druhý scénář. Přejděme k řešení praktických problémů. Webdesignéři často potřebují zkontrolovat kompatibilitu svých stránek se staršími verzemi prohlížečů. Chcete-li to provést, musíte otevřít okna se složkami, vyhledat tam spustitelné soubory prohlížečů, stáhnout je a pak také hledat složky s webovými stránkami na discích. Obecně platí, že - není to nejpříjemnější povolání. Vytvořme skript, který usnadní procházení stránek: automaticky načte několik různých prohlížečů a v každém otevře dokument, který potřebujeme.

sdělte aplikaci "Finder"

Vyberte (určete) požadovaný soubor
vyberte soubor "index.html" složky "Aktuální web" plochy
-- přiřadit cestu k vybranému souboru do proměnné myFile
nastavte myFile na výběr jako řetězec

Stáhněte si Microsoft IE a otevřete vybranou stránku
sdělte aplikaci "Internet Explorer 3.01"
otevřít (jinak můj soubor)
konec vyprávět

Stejnou operaci provádíme s Netscape Navigatorem
sdělte aplikaci "Netscape Navigator 3.01"
otevřít (také znám jako myFile)
konec vyprávět

Ve výše uvedeném programu se objevilo několik nových návrhů. Všechny řádky začínající znaky "--" jsou komentáře. V jazyce AppleScript lze komentáře psát jak na samostatný řádek, tak na konec řádku, bezprostředně za příkaz. V každém případě všechny znaky následující "--" a před začátkem nového řádku jsou považovány za komentáře a jsou při spuštění skriptu ignorovány.

Příkaz „select“ simuluje explicitní výběr prvku kurzorem myši a jeho akce je poněkud podobná použití konstruktu řekni konec řekni, ale s tím rozdílem, že při použití příkazu vybrat do proměnné můžeme přiřadit některé vlastnosti vybraného objektu (například cestu k souboru nebo složce).

Operátor soubor se používá k označení hodnot proměnných, které jsou vytvořeny v době jejich prvního volání. To znamená, že není třeba předběžně popisovat název a typ proměnné: napsali jsme např. nastavit myDate na aktuální datum a AppleScript vytvořil proměnnou a vybral pro ni správnou velikost a typ. Ale to není vše: s pomocí operátora soubor Můžete změnit všechny vlastnosti objektů. To se provádí následovně:

sdělte aplikaci "Finder"
říct desktopu
sdělte soubor "Ceník"

-- změnit soubor komentáře (komentáře) nemovitosti "Ceník"
-- soubor je na ploše
nastavit komentář na "Tento ceník je zastaralý!"

konec vyprávět
konec vyprávět
konec vyprávět

Nebo to samé, pouze pomocí příkazu select:

sdělte aplikaci "Finder"

Vyberte soubor "Ceník" plochy
nastavit komentář výběru na "Tento ceník je zastaralý!"

konec vyprávět

Jak vidíte, až dosud byla veškerá práce se skripty - psaní a provádění - prováděna výhradně pomocí speciálního editoru. Tato metoda je dobrá, když potřebujete vytvořit nový skript nebo předělat starý. Ale pro každodenní použití je to k ničemu - zatímco otevřete Editor skriptů, zatímco najdete potřebný skript na discích, mimovolně si říkáte - nebylo by rychlejší dělat stejnou práci ručně, bez jakékoli automatizace? Vývojáři AppleScriptu si dali záležet – skripty lze ukládat nejen jako textové soubory, ale i v kompilované podobě, plně vhodné pro offline spouštění. Chcete-li skript převést na spustitelný kód, musíte v editoru skriptů provést příkaz Uložit jako pouze pro spuštění (Uložit jako program). V dialogovém okně, které se objeví (podobně jako na obr. 5), vyberte z rozevíracího seznamu Aplikace; resetujte zaškrtávací políčko Zůstat otevřené (Nechte otevřené - pokud tuto možnost nepovolíte, pak po spuštění skript automaticky ukončí svou práci, jinak zůstane v paměti počítače) a zaškrtněte políčko Novější Zobrazit úvodní obrazovku (Nezobrazovat obrazovka načítání). Po dokončení všech popsaných akcí vám spuštění skriptu nezpůsobí žádné potíže: stačí na něj najet kurzorem myši a dvakrát kliknout na tlačítko.


Rýže. 5. Uložení skriptu jako spustitelného programu

Scénář třetí a poslední. O výhodách zálohování jistě mnozí slyšeli. A ti, kteří alespoň jednou v životě přišli o výsledky své měsíční (v horším případě alespoň týdenní) práce, jistě vědí, že než si trhat vlasy, je lepší strávit každý den 15 minut archivací potřebných souborů ven z hlavy a sypat si popel na monitor . Ale zpravidla ani po ztrátě důležitých informací lidé nemění své návyky: říkáte, stalo se vám to - "To je ono, ode dneška dělám kopie všech souborů!". A uplyne týden nebo dva - a programy jako "neselžou" a není žádný volný čas - "A proč potřebuji tu zálohu! A tak to bude." Abychom trochu usnadnili život všem, kteří chtějí mít své soubory v bezpečí, ale neradi pracují s programem StuffIt, napíšeme skript, který bude denně archivovat všechna potřebná data a ukládat je na speciální disk. . Zde je zdrojový kód takového programu:

sdělte aplikaci "Finder"

Určete jednotku a složku, kde jsou uloženy všechny soubory
-- pro archivaci
nastavte myArhiveFolder na "Mac OS: Aktuální práce:"
-- určete složku, kde jsou archivy uloženy
nastavte myTargetFolder na "Pro archivy:Publish Archive:"
-- přiřadit název budoucímu archivu
-- (název je aktuální datum)
nastavit myFile na datový řetězec (aktuální datum) a ".sit"
-- vytvořit celý název souboru (cesta + název)
nastavte myArhiveFile na myTargetFolder & myFile

Pokud soubor se stejným názvem již existuje
-- (tj. záloha byla provedena dnes)
-- pak stačí skript ukončit
pokud ne (existuje (soubor myArhiveFile)), pak

Pokud soubor s daným názvem ještě neexistuje,
-- pak si stáhněte StaffIt Deluxe a proveďte archivaci,
-- a okamžitě vyjměte StuffIt z paměti
říct aplikaci "StuffIt Deluxe"

aktivovat
vytvořit nový archiv s vlastnostmi (cesta: myArhiveFile)
věci (jinak myArhiveFolder) do archivu 1
zavřít archiv 1
přestat

Daný skript zjednodušuje postup zálohování, ale zatím ne tak, jak bychom chtěli - pro zahájení archivace budete muset tento skript vyhledat (na discích nebo na ploše) a spustit jej. Pro plnou automatizaci práce je potřeba skript zkompilovat a uložit do složky System / Shutdown Items (System folder / Shutdown Items). Nyní, pokaždé, když vypnete počítač, archivátor automaticky načte a uloží všechny důležité soubory na speciální disk. Je třeba poznamenat, že archivace bude prováděna pouze jednou denně, bez ohledu na to, zda počítač pracoval 20 hodin v řadě, nebo se restartoval každou půl hodinu - pomocí operátoru podmínky if end if zkontrolujeme, zda se vyplatí archivovat, nebo je lepší počkat. Do druhého dne.

Tak?..

Poté, co jste si přečetli o síle AppleScriptu a viděli, že skriptování je velmi snadné a přístupné i začátečníkům, možná budete chtít pokračovat ve zkoumání tohoto automatizačního nástroje. A tady vás čeká první zklamání. Bohužel neexistují prakticky žádné informace o AppleScript v ruštině: pro sčítání všech publikací jsou prsty jedné ruky více než dost. Proto, abyste se naučili skriptovací jazyk, budete potřebovat také dobrou znalost anglického jazyka.

Existují dva hlavní zdroje informací o technologii AppleScript. První je oficiální stránka Apple Computer, přesněji řečeno část stránek věnovaná všemu, co souvisí se skripty: technická dokumentace, návody, příklady, kolekce odkazů a mnoho dalšího. Adresa této sekce je http://www.apple.com/applescript/ . Velmi doporučuji, abyste si nejprve stáhli AppleScript Language Guide, dobře ilustrovaný tutoriál, který obsahuje mnoho praktických příkladů (kniha je dostupná na http://developer.apple.com/techpubs/macosx/Carbon/pdf/AppleScriptLanguageGuide.pdf , velikost souboru - 2,6 MB). Druhý zdroj, http://www.scripter.com, obsahuje velké množství materiálů o AppleScriptu a dalších alternativních skriptovacích jazycích pro platformu Macintosh.

Pokud se navíc rozhodnete přijít na kloub psaní skriptů, pak budete potřebovat dobré nástrojové prostředí – Script Editor dodávaný s Mac OS je vhodný pouze pro jednoduché skripty o 20-30 řádcích kódu. V tomto případě můžeme doporučit Scripter 2.5 od Main Event Software - editor má režim ladění a promyšlený mechanismus pro zobrazování aplikačních slovníků. A pokud se chystáte vytvářet programy AppleScript, které budou mít své vlastní uživatelské rozhraní, můžete si také pořídit FaceSpan 3.5 od Digital Technology – tato aplikace zkrátí čas potřebný k vytváření nabídek na obrazovce a dialogových oken. vyhněte se dlouhému a frustrujícímu hraní s milimetrovými náčrty.

Místo závěru

Psaní scénářů je zábava. Psaní skriptů je užitečné. Psaní scénářů je dokonce hezké. I když je samozřejmě mnohem příjemnější dopřát si kýžené zahálky, v době, kdy „čerstvě upečený“ scénář trpělivě odpracovává celou týdenní rutinu.

Udělejte si čas, věnujte pár dní studiu jazyka, napište pár skriptů, které vám usnadní práci, a sami uvidíte, že AppleScript je velmi jednoduchý, velmi výkonný a velmi flexibilní nástroj. I když, měli bychom od Applu očekávat něco jiného? ..

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 potřebujete. AppleScript je nejjednodušší programovací jazyk, pomocí kterého můžete automatizovat svůj Mac, i když jste jednoduchý uživatel a ne počítačový vědec.

Programy AppleScript (nazývané skripty nebo skripty) lze považovat za softwarové roboty. Jednoduchý AppleScript může provádět některé všední úkoly, jako je zálohování složky Dokumenty. Složitější skript může zahrnovat několik stránek. V profesionálním publikování, kde je AppleScript nejoblíbenější, se skript může připojit přes internet k pevnému disku fotografa, načíst fotografii ze zadané složky, barevně ji opravit ve Photoshopu, vložit výsledek do dokumentu se zadaným rozložením, vytisknout hrubý layout , odeslat e-mailové upozornění 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. Četné součásti Macu komunikují v zákulisí pomocí Apple Events, zpráv, které předávají instrukce nebo data z programu do programu. Pokud je příkaz Show Original aplikován na alias nebo příkaz Get Info je aplikován na soubor (složku), pak Apple Event řekne Finderu, jak na něj reagovat.

AppleScript je v mnoha ohledech lepší než Automator, v neposlední řadě díky jeho výkonu. 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 lahodným předkrmem: kniha jako AppleScript: The Essential Guide by byla o sedmi chodech.

Rada Celou kapitolu o AppleScriptu – která se objevila v předchozím vydání této knihy – si můžete stáhnout ze stránky Missing CD na www.missingmanuals.com.

Nemusíte psát AppleScript, abyste si užili plody této technologie. Mac OS X přichází s desítkami skriptů, které jsou opravdu užitečné, a chcete-li některý z nich spustit, stačí vybrat jeho název v nabídce. Tento druh "reprodukce" AppleScript vyžaduje přesně tolik technických dovedností jako stisknutí tlačítka ve výtahu.

Některé z těchto skvělých spouštěcích skriptů můžete vyzkoušet přidáním nabídky skriptů na lištu nabídek (obrázek 7-16 vpravo).

Nabídka scénářů má 16 připravených kategorií, které spojují 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ářů.

Rada Pokud při výběru názvu skriptu v nabídce podržíte klávesu Shift, Mac OS X vás přenese přímo na místo, kde se 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 pro kopírování jmen a adres z aplikací Entourage, Outlook Express, Palm Desktop, Eudora, Claris Emailer nebo Netscape do adresáře. Pokud máte mnoho 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 praktické 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) Otevřít editor skriptů (otevře program Editor skriptů pro čtení a úpravu skriptů AppleScript).

Tato složka obsahuje skupinu skriptů ColorSync typu droplet (takový skript se spustí, když něco přetáhnete na jeho ikonu), které zajímají umělce, návrháře webových stránek, vydavatele atd.

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ého souboru 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 užitečné, pokud na tom pracujete

ZKUŠENÉ KURZY
Tajemství nabídky skriptů
Nabídka skriptů zobrazuje obsah dvou různých složek Scripts: jedna je Home>Library>Scripts a druhá je v hlavní složce Library. Scénáře převzaté z vaší osobní složky jsou v nabídce scénářů odděleny tečkovanou čarou.

Tyto skripty lze nejen spustit. Jsou také ideální pro jejich otevření v editoru skriptů (prostým poklepáním) a analýzu řádků po řádcích, jak fungují. Jakmile pochopíte syntaxi, můžete zkopírovat úryvky kódu a upravit je pro použití ve skriptech. (Editor skriptů je program, který najdete ve složce Applications > AppleScript, který vám umožňuje vytvářet vlastní skripty.)

Fotografii nebo webovou stránku a chcete vědět, jak bude vypadat v očích neosvícených mas. (Chcete-li obnovit původní barvy, přejděte na kartu Barva (Barva) panel Zobrazení (Moniory) v okně Předvolby systému (Nastavení systému).)

Všechny tyto scénáře souvisí s prací ve Finderu – řekněme s manipulací se soubory a okny. Zde jsou ty nejužitečnější:

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í nahrazení v názvech souborů, složek nebo obou. Pokud jeden vydavatel odmítl váš návrh knihy o 45 kapitolách, může tento skript přejmenovat všech 45 kapitol z „Historie podložky pod myš – návrh náhodného domu, kapitola 1“ na „Historie podložky pod myš – návrh Simona“ & Schuster, kapitola 1“.

Oříznout názvy souborů, Oříznout názvy složek. Pokud jste při spuštění skriptu Přidat do názvů souborů udělali chybu, 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 volby uživatele.

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

Skripty Folder Actions pravděpodobně nebudete příliš používat, protože kliknutí se stisknutou klávesou Ctrl na složku (nebo uvnitř jejího okna) poskytuje přesně stejný přístup k operacím se složkami.

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 tedy vytváření krásného zpravodaje a odnášíte jej do místní tiskárny, kde si jej vytisknete na vysoce kvalitním zařízení, a pak zjistíte, že musíte výtisky zahodit a začít znovu – a to jen proto, že písma nevypadejte tak, jak jste chtěli. Tiskárna neměla přesně ta 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, mezerách a zvlnění všech písem nainstalovaných v systému. V tiskárně lze takový dokument zpracovat pomocí dodatečného skriptu Match FontSync Profile. Pečlivě identifikuje rozdíly v písmech mezi uživatelem Mac a stroji tiskárny.

Tato technologie samozřejmě implicitně předpokládá příliš mnoho: že v tiskárně jsou nainstalovány počítače Macintosh, že zvládnou FontSync a také to, ž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 redesignem – Apple přidal spoustu zajímavých (i když někdy zbytečných) funkcí. Zejména bylo 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 odpovědět 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 jiného Macu ve vaší domácnosti. Podrobnosti v kapitole 21.

Tyto dva scénáře jsou málo použitelné. 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ých ke vložení. Font Sampler zobrazí stránku se seznamem písem (pojmenovaných ve skriptu), která jsou nainstalována v systému Mac OS X. (Skript se stal méně užitečným, protože kniha písem má podobné vestavěné tiskové příkazy.)

Dva scénáře v této nabídce si zaslouží zvláštní zmínku. Aktuální teplota podle PSČ ukazuje, jaká je teplota za oknem – Fahrenheit a Celsius. To je další důvod, proč celý den nevycházet z domu.

Stock Quote přijímá kotace akcií vybrané společnosti se zpožděním 20 minut. 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ějaký konkrétní úkol, jako je počítání e-mailů ve vaší e-mailové schránce nebo nastavení nového účtu. Nejzábavnější ze všeho je samozřejmě skript Crazy Message Text (obrázek 7.17).

Skripty v této složce umožňují navigaci 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 jej ze seznamu ve skriptu Otevřít speciální složku.

Rada Ti, kterým nevadí, že musí tento skript upravovat pomocí Editoru skriptů, ho mohou upravit tak, aby bylo možné vybrat a otevřít více než jednu složku současně (řekněme pomocí zkratky -click). Stačí zadat vícenásobný výběr povolený true hned po Choose folder to open: (na konci řádku, zhruba na začátku druhé třetiny skriptu). Nezapomeňte uložit změny.

Tyto skripty mají demonstrovat sílu AppleScriptu při tisku a vytváření dokumentů PostScript a PDF.

Jeden z nich, Print Window, uzavírá dlouhodobou mezeru v Mac OS X. Měl by vytisknout textový výpis obsahu libovolné vybrané složky. (Je pravda, že je to trochu buggy.)

Podle týmu O těchto skriptech vám těchto 48 předem vytvořených skriptů pomůže psát rychlejší a přesnější skripty, protože úryvky kódu neobsahují překlepy a syntaktické chyby. Až se budete zlepšovat, budete zde moci přidávat své vlastní skripty s úryvky kódu přizpůsobenými skriptům, které běžně 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í kombinace Ctrl-klepnutí a výběru z místní nabídky.)

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

Poznámka Tento nástroj, nazývaný skripty uživatelského rozhraní (UI), bude fungovat pouze poté, co otevřete konzolu Universal Access programu System Preferences a zaškrtnete políčko Povolit přístup pro asistenční 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 poslední 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í pro kontinentální Spojené státy, uloží ji na plochu jako weathermap.jpg a poté ji otevře v Náhledu.

Rada Do nabídky můžete přidávat skripty, soubory a dokonce i internetové adresy a pak 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 Skripty.

Na druhou stranu, pokud do nabídky Script začnete přidávat spoustu vlastních položek, bude pohodlnější vzorky z Applu z ní 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 předem vytvořenými 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 pochopit, jak fungují, a dokonce je upravit, když se postupně naučíte psát své vlastní skripty AppleScript. 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 Nové okno aplikace (v kategorii Navigační skripty) kliknutím na jeho název se stisknutou klávesou Option. 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 provádět následující příkazy.

Aktivovat přenese Finder do popředí – jako byste klikli na jeho ikonu v Docku.

Otevřít složku "Aplikace" spouštěcího disku přikáže Finderu otevřít nové okno zobrazující složku 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.

Rada 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é.

Vytvořte si vlastní AppleScripts

Mac OS X je dodáván s desítkami programů – je jich jen několik! Dobře, něco 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 tohle je střelba z děla na vrabce.

Místo toho můžete použít AppleScript. Otevřete nový dokument v editoru skriptů (Soubor (Soubor)> Nový (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 Znak ¬ není potřeba tisknout. Programátoři říkají: "To by mělo být na jednom řádku, ale šířka stránky nestačila."

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ě uvnitř skriptu nazvané bpm.

Skript pak vypočítá pauzu mezi pípnutími a zapíše tento zlomek sekundy do proměnné pauseBetweenBeeps. Pokud byste skriptu řekli, aby pípal, řekněme 120krát za minutu, pak by pauseBetweenBeeps byla nastavena na 0,5, protože mezi pípnutími by měla být půlsekundová pauza.

Nakonec skript vytvoří nekonečnou smyčku: pípnutí, pauza na zadanou dobu a poté opakování.

Kliknutím na tlačítko Spustit skript otestujete, a až budete mít zvuků dost, klikněte na tlačítko Zastavit.

MOJE OBLÍBENÉ TECHNIKY
Přílohy na ploše jedním kliknutím
Zde je malý trik s Automatorem, který může být záchranou pro každého, kdo potřebuje často posílat dokumenty e-mailem. (Modeluje velmi praktický příkaz Odeslat, který se nachází v místní nabídce na počítačích 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 do stejného místa určení – například vašemu šéfovi – můžete dokonce přednastavit adresu na procesní liště Automatoru. Pokud se předmět a text zprávy pokaždé opakují, lze je také nastavit předem.

Nyní vyberte Soubor (Soubor)> Uložit jako zásuvný modul (Uložit jako modul). 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 vyberete Automator>E-mail This.

Vítězství! Mac OS X spustí Mail a vytvoří odchozí zprávu, ke které je již připojen soubor.

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!

Rada Bude ještě chladnější, pokud v systému zaškrtnete políčko Předvolby systému (Nastavení systému)> Univerzální přístup (Univerzální přístup)> Sluch (Slyšení)> Blikat na obrazovce, když se ozve zvuk upozornění (Blikat na obrazovku, když se ozve zvuk upozornění). nastavení. Nyní, když je váš skript spuštěn, obrazovka bude blikat spolu se zvukem. Pokud nahráváte hudbu, ztlumte svůj Mac: budete mít vizuální metronom, ale nebude slyšet žádný zvuk.

Srovnání AppleScriptu a Automatoru

AppleScript lze použít stovkami způsobů – automatizace procesů, které jsou pro Automator příliš složité, správa programů, které Automator nevidí, a programování věcí, jako je smyčkování příkazů, které Automator neumí.

Pokud s AppleScriptem zacházíte pouze jako s náhradou za Automator, přicházíte o spoustu energie. Ve skutečnosti AppleScript poskytuje funkce, 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. Berete si opravdu mocný nástroj. (Dokonce je můžete zkombinovat a vložit skripty AppleScript do procesů Automator pomocí akce Spustit AppleScript.)

Úspěchy v automatizaci!

Jedná se o programovací jazyk, technologii, která patří společnosti, nejčastěji se používá k automatizaci pracovních postupů a umožňuje programům vzájemně komunikovat. Jak 🙂 .

Nebudu otevírat sérii článků na téma: „Applescript pro figuríny. Krok za krokem “z jednoho prostého důvodu – na toto téma je na internetu spousta materiálu. A abych nepřepisoval základku po svém a nevynalézal znovu kolo, uvedu jen pár zdrojů, které se mi zdály nejvhodnější. Sám podle něj 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ň nějakou znalostí tradiční angličtiny. A není nutné znát všechny aspekty objektově orientovaného programování. Je na tom kus pravdy, protože ve scénáři

sdělte aplikaci "Finder"

zobrazit dialog "Ahoj šílenci!"

je těžké nepochopit, co a od kterého programu je požadováno. 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 i toto má k OOP ještě daleko. Ale pokud se chcete naučit, jak psát programy nebo skripty pro usnadnění každodenních úkolů pro sebe nebo nějakou databázi, pak lépe víte, co je "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.

Pro koho kniha?

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

Nelze nevzít v úvahu další zdroje, které nám samotná developerská společnost 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 to nejčerstvější a čtenáři reagují na zpětnou vazbu častěji a rychleji. Budeme hledat literaturu v dostupném jazyce.

Kromě různých přehledových článků můžete na internetu najít "". Řekl bych, že jsou 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 je potřeba. Tam si také můžete stáhnout knihu s názvem "".

Ruské příručky jsou dobré, ale bez základní znalosti angličtiny se skriptovací jazyk, mírně řečeno, naučíte jen těžko.

Z článků bych věnoval pozornost tomuto. Líbilo se mi to pro podrobný popis 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é scénáře. Osobně si to dávám do záložek.

Než se pustíte do vyhledávání a stahování materiálu, doporučuji se rozhodnout pro cíl. Pro obecný vývoj se můžete seznámit s některými zdroji. Chcete-li napsat opravdu 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í posoudit šance člověka získat práci jako programátor applescript nebo tester. 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 žádné zábrany, je jedno, kdo to potřebuje (alespoň vy). Skutečný talent bude vždy oceněn. A máte šanci dělat to, co máte rádi.

Používáte již AppleScript? Nevíte co to je? Myslíte si, že je vám to k ničemu? Nebo vás možná vzpomínka na hodiny informatiky ve škole vyvolá alergický záchvat už při pouhé zmínce o slovu „program“? Otevřením tohoto článku jste tedy 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ých oken a přichází 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á ale důležitou výhodu: jak Finder, tak velké množství aplikačních programů tomuto jazyku „rozumí“ a skript k nim může postupně přistupovat.

Jazyk, který budeme používat (nazývaný také AppleScript), je velmi blízký běžné angličtině. 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ů, být součástí jiného objektu, odkazovat na jiný objekt. Například Finder je objekt. Má "podřízené" objekty - složky, soubory, okna. Editor Tex-Edit má textový objekt, který se skládá ze slov, řádků, odstavců atd. Znalost vztahu objektů (jejich hierarchie) je velmi důležitá, protože příkaz se předává „po řetězu“. Existuje jakási „vertikála moci“: dáváme příkaz Finderovi, on - do složky, té - do složky v ní vnořené a tak dále, dokud nedosáhne požadovaného souboru. A "zpráva o výkonu" 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á nějakou sadu 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ý za "dvě mínusy",
- je považován za 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:"My!", 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"Pouze pro mě"
konec vyprávět

Nejprve řekneme Finderu, aby vytvořil nový objekt složky umístěný v tabulce. Některé vlastnosti se nastavují 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 (a pouze tímto způsobem: „vasal mého vazala není můj vazal“) otevřít a změnit jméno.

Bylo by ale na čase 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ů, mezi nimiž jsou velmi pokročilé vývojové nástroje. Následně si pravděpodobně jeden z nich pořídíte. Pro prvotní seznámení nám ale stačí editor, který je součástí Mac OS.

Okno editoru skriptů je rozděleno na dvě části: komentář je napsán v horní části (zobrazí se na obrazovce před spuštěním skriptu) a program je napsán ve spodní části. Zkusme napsat náš příklad (samozřejmě se obejdete bez mých komentářů). Poté klikněte na tlačítko "Zkontrolovat syntaxi". Pokud jste udělali nějakou chybu, zobrazí se okno s vysvětlením. 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 budou v tomto případě zvýrazněny různé prvky 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ď pouze zdrojový text(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 nic neudělá) appletový program(Aplikace). Skript můžete vytvořit "pouze pro spuštění" (pouze pro spuštění). Jen nezapomeňte v tomto případě uložit - pro sebe - a původní soubor. V opačném případě se k jeho zdrojovému kódu 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 myslíte, "použití editoru je snadné, čtení hotových skriptů také není obtížné. Ale jak je napsat? Kde získat 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šech svých objektů a rozpoznaných příkazů. Tento slovník si můžete prohlédnout přímo z editoru skriptů - výběrem "Otevřít slovník" z nabídky "Soubor" nebo přetažením požadovaného programu na obrázek editoru.

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í (tlačítkem "Nahrát"), provedeme např. ručně potřebné akce ve Finderu, zastavíme nahrávání ("Stop"). To je vše. Proto je velmi vhodné provádět přípravu skriptů.
připojitelný- Skript lze spustit přímo z programu, přičemž 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. Všimněte si, že některé z nich jsou uvedeny 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ý odkaz.

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, který obsahuje další prvky. A když se podíváte na popisy několika následujících tříd, je jasné, že „kontejner“ je koncept, který zahrnuje disky, složky a tabulku (na ploše) a koš (koš). Má společné vlastnosti těchto, v mnoha ohledech podobných, objektů. A v "rodokmenu" - hierarchii tříd - je jejich předek.

Číst dál. "Množné číslo: kontejnery". Množné číslo? Studujeme 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é a jak se od sebe liší, je popsáno v další části slovníku - „Prvky“ (Elementy). 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 určit buď názvem (podle název) nebo podle sériového čísla (podle číselného indexu).

No a nakonec poslední sekce je "Vlastnosti" (Vlastnosti). Zde nejprve vidíme, že třída „Kontejner“ je následníkem 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 příkazem AppleScript.

Nyní se podívejme, jak jsou příkazy popsány ve slovníku. Vezměme si například „Make“ (vytvoření), které je vám již známé z příkladů skriptů. V horní části stránky - úč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. Takže ve slovníku znamenají volitelný možnosti. Při tvorbě skriptu se bez nich obejdeme, ale pokud je použijeme, nemusíme dávat žádné závorky. Ukončí nápovědu k příkazu jeho zadáním výsledek(výsledek). V našem příkladu to bude „odkaz“ (odkaz) na vytvořený objekt.

Tady to máte. 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žit. Není žá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 soubor letter.txt umístěný na Tabulce, přiřadit 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 vlastnosti, použijte „setraquo; (Nainstalujte). 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 vidíte, můžete souboru buď nařídit, aby změnil své vlastnosti (v tomto příkladu lze slovo „jeho“ vynechat, protože účel příkazu je jednoznačně definován i bez něj), nebo - program Finder může změnit vlastnosti podřízeného objektu.

Vědomě jsem nastavil podmínku, že soubor je na ploše. Jinak 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 celá cesta: "soubor "Macintosh HD:lekce:letter.txt"" (připomínám: cesta v Mac OS se píše s dvojtečkami).

No, scénář je napsaný. Pracuje. Ale upřímně řečeno, žádný užitek z toho není - koneckonců pro každý další 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 Finderu, podívejte se a tady jsou! Nic vhodného. Udělal Apple takovou chybu? Vůbec ne…

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

Open Script Architecture (OSA - Open Script Architecture) 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 umístěné ve složce System Folder (dříve v Extensions). Může je použít jakýkoli skript, bez ohledu na to, jaký program právě ovládá.

Otevřeme slovník standardních doplňků (abyste se rychle dostali do složky Scripting Additions, v dialogu Otevřít slovník je k dispozici speciální tlačítko). Tady to je - příkaz "vybrat soubor" (vybrat soubor). Výsledkem jeho práce bude odkaz na soubor vybraný osobou ve standardním dialogu Otevřít. Tento odkaz 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

Plně funkční software. Ale jde to udělat pohodlněji? Proč spouštět skript samostatně a pak v dialogu vybrat název souboru - nebylo by 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ů. Tím je vše jasné, už víme, že je k tomu potřeba uložit jako applet.
  2. Účelem skriptu je změnit vlastnosti daného souboru. Tato část je již připravena.
  3. Soubor "natažený" na obrázek skriptu by měl být zpracován. Tady začíná zábava. S předměty, které „žijí“ v našem počítači, se neustále dějí různé věci. vývoj. Soubor lze například přesunout, zkopírovat nebo otevřít. Program - spusťte, spusťte jakékoli příkazy nebo nedělejte nic, nakonec - konec. 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 přemístěny do apletu, Finder mu pošle zprávu příkazu "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" spustí obsluhu události
- skript nejprve funguje sám, 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 libovolnou kombinací latinských písmen, ale je žádoucí, abyste podle názvu pochopili, co tato proměnná znamená.

Jak vidíte, zpracovává se první prvek ze seznamu předaný při spuštění skriptu. A 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 jsou 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 předem stanovený početkrát nebo je provádět, dokud není splněna určitá podmínka. Ale téměř každý programovací jazyk má takové cykly. V našem úkolu je ideální jiný - "opakovat pro každý prvek seznamu." S ním bude mít skript následující podobu:

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í - konec ovládací struktury musí být označen
konec OTEVŘENO

Co ještě chybí v našem programu, abychom se stali docela profesionální? A chybí jí "ochrana blázna". Koneckonců, můžete na obrázek skriptu „hodit“ jak složky, tak zástupce, ale mělo by to fungovat pouze s běžnými soubory.

Kdo chcete, vyberte si

Když tedy procházíte prvky seznamu, musíte určit, co každý z nich je. Pouze pokud je zachycen běžný soubor - změňte jeho vlastnosti. Chcete-li si vybrat, zda chcete nebo nechcete provádět nějaké operace, umožňuje ještě jednu řídicí strukturu - podmíněný operátor li. Můžete určit, zda je objekt složkou nebo zástupcem získáním informací o něm pomocí příkazu "info pro" ze standardních doplňků. Jeho výsledkem bude objekt třídy "informace o souboru". Zde jsou jeho vlastnosti - "složka?" (složka) a "zkratka?" (alias) - zkontrolujeme. Protože potřebujeme, aby prvek nebyl složkou A nebyla zkratka, spojíme dvě podmínky logickou operací "a" (kdy stačí splnit kteroukoli z podmínek - NEBO První, NEBO druhý - použijte spoustu "nebo"). Obecně jsme jako výsledek naší úvahy dostali 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 Nepravdivé) a ¬
(jinak z theInfo je Nepravdivé) 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

Všimněte si, že všechny podmínky v příkazu If musí být zapsány v jednom řádku. Aby byl text programu snazší číst, 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í znak pro pokračování „¬“.

Samozřejmě, pro tuto malou lekci jsem vás mohl seznámit pouze s nejjednoduššími metodami práce s AppleScriptem. Ale myslím, že jste viděli, že v tom není nic složitého. Snaž se! Doufám, že v tomto tématu budu pokračovat v dalších článcích.

  • AppleScript Apple . AppleScript AppleScript. , - .

    AppleScript.

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

    1 . . . . . . . . . 7

    2 . . . . . . 10

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

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

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

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

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

    8(II). . . . . . . třicet

    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.

    . (. patnáct). - 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, - .

    jeden. . , - . , AppleScript. AppleScript.

    2., PC, . - , -. Monitor CPU (nástroje, aplikace), - . (Distributed Computing DC), [e-mail chráněný], . 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. , - . , .

    , -. , (tvrzení), . , .

    AppleScript, . , jeden .

    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. , Finder . , . 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. nálezce, nálezce.

    ří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 (Finder!) Hej 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ů, !

    Zadejte . Enter - mezera()(). Návrat (Shift) -. vrátit se.

    Kompilovat. - Utíkej, .

    Spusťte, Command-R. : , -

    , (kompilovaný skript) (aplikace).

    : , - AppleScript,

    Spusťte editor skriptů.

    : , AppleScript ,

    editor skriptů. , - , (Systémové preference). , . - , 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, - . , (osm).

    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)