AppleScript - Script Editor - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Odkud pochází fotografka Anne Erhard?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Software

AppleScript - Script Editor

4. května 2006, 00.00 | Jak jsem již slíbil, dnes se zaměříme na Script Editor (Editor Skriptů) a zkusíme si napsat první jednoduchou aplikaci. Podíváme se také na možnosti jak skript uložit a jak ho doplnit o poznámky a popisný vysvětlující text. Není to nic složitého, tak se do toho hned pustíme...

Spusťte si Script Editor (Editor Skriptů) který najdete ve složce AppleScript která se nachází ve složce vašich aplikací (/Applications/AppleScript/). Teď by jste měli vidět okno do kterého za chvíli vytvoříte váš program. V horní levé části toolbaru jsou tři tlačítka. Tlačítko Record (Nahrát), které vám pro ulehčení umožní nahrávat určité procesy, tlačítkem Stop (Zastavit) ukončíte nahrávání, a nakonec tlačítkem Run (Spustit) svůj program spustíte. Na druhé straně pak najdete tlačítko Compile (Kompilovat), které váš skript zkontroluje a zformátuje do přehledné podoby, aniž by byl váš program spuštěn. Jak to vše funguje si prohlédneme za chvíli, zbývá ještě představit samotné pole nacházející se pod toolbarem do kterého samotný skript píšeme a spodní pole se třemi záložkami, každá s různým účelem. První dvě si ukážeme ještě dnes, poslední pak v nějakém dalším pokračování.

Na spodu okna vyberte záložku Result (Výsledek) a do pole programu napište: pi, potom zmáčkněte tlačítko Compile a uvidíte jak se slovo pi změnilo do modré barvy. Potom tlačítkem Run program spusťte. V poli Result se objevilo číslo "3.14159265359" což je hodnota Ludolfova čísla neboli pí. Toto pole vždy zobrazuje výsledek poslední provedené operace, v tomto případě hodnotu konstanty "pí". Tak a teď se podíváme na náš slibovaný program. Vymažte z pole skriptu pí a místo něj napište:

display dialog "Apple Script je bezva"

Zmáčkněte Compile a hned potom Run. Na obrazovce se objevil dialog s vaším textem. Apple Script využívá prostředků, které nabízí systém včetně User Interface, proto je tento dialog psaný systémovým fontem ve standardním systémovém výstražném okně. "Display dialog" je tedy příkaz který nám ukáže krátkou zprávu a nechá nás na ni reagovat, potvrdit nebo zamítnout tlačítky OK nebo Cancel, čímž rozhodnete buď o pokračování programu, nebo jeho konci. Příkaz display dialog můžeme do jisté míry modifikovat podle našich představ. Zatím si ukážeme pouze jak změnit počet tlačítek a jejich název, ale brzy se dostaneme i ke dalším možnostem. Řekněme že naše zpráva má mít pouze informativní charakter a nechceme aby se dala zrušit pomocí tlačítka Cancel. Proto doplníme na konec řádku: buttons "Ano". Tím definujeme počet a název tlačítek daného dialogu, v tomto případě na jedno s nápisem Ano.




Program už máme, teď zbývá ho jen uložit. Nejprve ale na spodní liště vyberte záložku Description (Popis) a do tohoto pole napište větu: "Tento program vám prozradí, co si myslím o Apple Scriptu." Toto pole slouží pro popis programu, případně vysvětlení jeho funkce a je možné ho zobrazovat vždy po startu vaší aplikace. Nyní vyberte z nabídky File (Soubor) položku Save As... (Uložit jako...), vyberte místo pro uložení, jako formát vyberte "application", zaškrtněte check box "Startup Screen" a program uložte. Váš program se nyní bude chovat jako aplikace a po jeho startu se objeví váš vysvětlující text. Teď už jen zbývá program spustit a podívat se jestli opravdu funguje. Pokud je vám po spuštění nabídnuto program zrušit nebo spustit spolu s vaším vysvětlením, a následně uvidíte váš text pouze s tlačítkem "Ano", vše dopadlo dobře a váš program je hotov.




Postupem času se naše programy stanou složitějšími a bude těžší se v nich orientovat, a od toho tu jsou poznámky. Jedná se o krátké komenty k jednotlivým částem, které vám i po několika měsících prozradí, co měl za úkol právě tento úsek a případně co ještě potřebujete vylepšit. Poznámky se píší přímo do skriptu na konec řádky a oddělují se dvěma pomlčkami. Vše za nimi až na konec řádku je pouze poznámka, která nijak nenarušuje průběh programu. Na zkoušku si jednu takovou doplníme i do našeho programu. Na konec řádku napíšeme dvě pomlčky a nějaký text, např.: ještě nevím na 100 procent... Necháme program zkompilovat a poznámka zšedne a text se změní na kurzívu. Při spuštění se změna nijak neprojeví, ale pokaždé, když otevřete tento skript, budete mít poznámku na očích.

Co se ale stane v případě, že někde uděláme chybu? Z položky File (Soubor) vyberte New (Nový) a do nového okna napište

"10 div 0"

a stiskněte Compile. Vše se tváří jako fungující program, ovšem jen do chvíle, než ho spustíte. V tu chvíli vás Script Editor upozorní na chybu, že nelze dělit nulou. Dokonce vám místo vzniku problému sám označí pro snadnější orientaci a opravu. Zaměňte tedy nulu za číslici 2 a program spusťte znovu, v poli Result se nyní objeví číslice 5. Tímto je vše opraveno a my můžeme pokračovat dál, ale to si už necháme na další díl. V něm se podíváme na zoubek specifikům psaní AppleScriptu a ukážeme si, jak pracovat s proměnnými.




Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Apple Script je bezva?

Autor: OC Muž

Založeno: 04.05.2006, 00:19
Odpovědí: 0

Nevím proč, ale tak nějak mi to připomnělo tento článek :)))

http://daringfire
ball.net/2005/09/englishl
ikeness_monster

Odpovědět na příspěvek

RE: Apple Script je bezva?

Autor: nemo Muž

Založeno: 04.05.2006, 07:40

Opravdu skvělá ukázka toho, proč mám k AppleScriptu hlubokou nedůvěru. Jeho "anglická" syntax práci věru nezjednodušuje.

Odpovědět na příspěvek

RE: RE: Apple Script je bezva?

Autor: jf Muž

Založeno: 04.05.2006, 09:38

OC : Sice nechápu souvislost, ale na AppleScriptu je pěkné to, že jednu věc můžeš udělat řadou způsobů a je jen na tobě, se kterou budeš nejvíce spokojený. Ano, AppleScript vyžaduje hodně testování na různých konfiguracích, ale pokud jej odladíš, tak problémy nejsou... Vtip je v tom, že tohle každý kdo v něm seriozně pracuje ví, a tak jej nějaký bug hned nerozhodí... :-)

Mimochodem, stejnou věc můžeš udělat třeba i takto:

log (home directory of (system info))
-- (*alias Tiger:Users:NAME:*)
tell application "System Events" to log (home directory of current user) as string
-- (*/Users/NAME*)

nemo : Když něčemu nerozumíš, neznamená to hned, že je to špatné :-)

Odpovědět na příspěvek

RE: RE: RE: Apple Script je bezva?

Autor: nemo Muž

Založeno: 04.05.2006, 11:31

Je fascinujici, jak kdokoliv ma jiny nazor, veci nerozumi.

Jde prece o to, *proc* je syntax slozita.
Co je na te syntaxi s cleny (the, a), ktere nic neznamenaji, klicovymi slovy s mezerou, ktera zvysuje ambiguitu konstrukci, atd. dobre.
Opravdu zjednodusuje programovani? Opravdu?

Jsou jazyky, ktere maji nertivialni syntax z dobreho duvodu. Napr. Perl, od jehoz autora pochazi i motto "There is more than one way to do it." AppleScript do teto kategorie ale IMHO nepatri.

Odpovědět na příspěvek

RE: RE: RE: RE: Apple Script je bezva?

Autor: zdeněk Poláček Muž

Založeno: 04.05.2006, 11:53

Zapomínáte na fakt že AppleScript je určen běžnému uživateli a ne programátorům. Pro běžného uživatele který ovládá angličtinu je syntax mnohem příjemnější. Je to angličtina kterou zná a né směs nicneříkajících příkazů které se musí učit a o to jde. Nepřesvědčuji programátory že AppleScript je něco čím se mají zabývat, chci ukázat uživatelům co mají k dispozici, co to umí a jak to použít!

Odpovědět na příspěvek

RE: RE: RE: RE: RE: Apple Script je bezva?

Autor: nemo Muž

Založeno: 04.05.2006, 12:58

Mně to nepřipadá pro "obyčejného uživatele" jednoduché právě proto, že co je synonymní v angličtině, není nutně synonymní v AppleScriptu.
A když přistupuji k metodám objektu, připadá mi výhodné vidět to na první pohled. Stejně musím vědět, že přistupuji k metodě objektu, tak proč to jasně nevyznačit. Viz článek citovaný OC. Ale asi se neshodneme, tak to dál rozebírat nebudu.

Podstatné je, že AppleScriptu se tak docela vyhnout nelze. Minimálně by mohli nabízet alternativní syntax.

Odpovědět na příspěvek

RE: RE: RE: RE: Apple Script je bezva?

Autor: zdeněk Poláček Muž

Založeno: 04.05.2006, 11:54

Zapomínáte na fakt že AppleScript je určen běžnému uživateli a ne programátorům. Pro běžného uživatele který ovládá angličtinu je syntax mnohem příjemnější. Je to angličtina kterou zná a né směs nicneříkajících příkazů které se musí učit a o to jde. Nepřesvědčuji programátory že AppleScript je něco čím se mají zabývat, chci ukázat uživatelům co mají k dispozici, co to umí a jak to použít!

Odpovědět na příspěvek

RE: RE: RE: RE: Apple Script je bezva?

Autor: jf Muž

Založeno: 04.05.2006, 12:08

nemo: ale ta syntax složitá není, pokud se ti tak zdá, někomu jinému se zase bude zdát složitá třeba u toho tvého Perlu...

a k ostatnímu: je to totiž přesně tak -- There is more than one way to do it... záleží jen na tobě, jak chceš svůj skript psát...

takže, nutí tě někdo do AppleScriptu? Asi ne, tak dělej v čemu umíš, a nekritizuj něco, o čem bohužel asi moc nevíš -- soudě z příspěvku...

Odpovědět na příspěvek

konečně!

Autor: u.man Muž

Založeno: 04.05.2006, 08:23
Odpovědí: 0

takový seriál tady dlouho chyběl, díky

Odpovědět na příspěvek

Diakritika v Applescript

Autor: Hobo Muž

Založeno: 04.05.2006, 10:07
Odpovědí: 0

Ako vlastne nastavim korektnu slovencinu (cestinu) v AppleScripte? Ked to textu nejakeho hlasenie napisem text s diakkritikou, tak ho nezobrazi korektne. Skusal som aj v predvolbach zmenit vsetko na Verdana CE a opravilo sa len nieco...

Odpovědět na příspěvek

RE: Diakritika v Applescript

Autor: Zdeněk Poláček Muž

Založeno: 04.05.2006, 10:30

Zkus TinkerTool ( http://macupdate.com/info
.php/id/5721 ) v záložce Fonts bys měl mít možnost přenastavit všechny systémové fonty...

Odpovědět na příspěvek

RE: RE: Diakritika v Applescript

Autor: Hobo Muž

Založeno: 04.05.2006, 13:36

No asi sme sa nepochopili... system je v poriadku aj AppleScript, ale ked v nom nieco pisem. Presne ako v tom priklade: display dialog "Hobo je bouchač". Vsetko je OK, len ked dam RUN, tak mi vyskoci okno, kde slovo bouchač je skomolene (resp. pismeno č).

Odpovědět na příspěvek

RE: RE: RE: Diakritika v Applescript

Autor: Zdeněk Poláček Muž

Založeno: 04.05.2006, 13:49

Používáš Us nebo CE systém? v případě US systému je vše ok do doby kdy používá angličtinu, protože na chybové hlášky používá Lucidu Grande, která ale neumí česky, takže v případě AS, který využívá systémových prostředků to taky nefunguje. Ale pokud změníš přímo v systému font který je používán výstrahou, mělo by to fungovat...! a to umí právě TinkerTool...

Odpovědět na příspěvek

RE: RE: RE: RE: Diakritika v Applescript

Autor: Hobo Muž

Založeno: 04.05.2006, 14:04

Rozumiem... Pouzivam US system, CE radsej uz nebudem pokusat. Rozbilo mi to tak system, ze som to radsej preinstaloval. Z tejto debaty mi vychadza, ze vlastne nemozem pouzivat diakritiku, ked chcem, aby aplikacia vytvorena v AppleScripte fungovala korektne u kazdeho uzivatela? Ako sa potom programuje aplikacia v nasich jazykoch (CZ, SK)?

Odpovědět na příspěvek

RE: RE: RE: RE: RE: Diakritika v Applescript

Autor: Zdeněk Poláček Muž

Založeno: 04.05.2006, 15:06

Proto programuji v angličtině....:(

Odpovědět na příspěvek

RE: RE: RE: RE: Diakritika v Applescript

Autor: Jozo Remen Muž

Založeno: 04.05.2006, 22:57

Omyl, Lucida Grande je plne Unicode pismo aj s CE znakmi. Asi treba nastavit kodovanie v AppleScripte, but how?

Odpovědět na příspěvek

RE: RE: RE: RE: RE: Diakritika v Applescript

Autor: ANo Muž

Založeno: 04.05.2006, 23:48

Dialogova okna AppleScriptu pouzivaji stara Mac OS kodovani a v nelokalizovanem systemu se to prevede blbe a v lokalizovanem dobre. Mozna staci i dat cestinu/slovenstinu na prvni misto, tim si ale nejsem jisty. Je to samozrejme chyba, ale nikomu moc nevadi, na poradne (poradne aspon tedy v porovnani s cistym AppleScriptem + bezne skriptovaci doplnky) aplikace s GUI je totiz AppleScript Studio a to je v tomto ohledu v poradku.

Odpovědět na příspěvek

RE: RE: RE: Diakritika v Applescript

Autor: Zdeněk Poláček Muž

Založeno: 04.05.2006, 15:02

Používáš Us nebo CE systém? v případě US systému je vše ok do doby kdy používá angličtinu, protože na chybové hlášky používá Lucidu Grande, která ale neumí česky, takže v případě AS, který využívá systémových prostředků to taky nefunguje. Ale pokud změníš přímo v systému font který je používán výstrahou, mělo by to fungovat...! a to umí právě TinkerTool...

Odpovědět na příspěvek

RE: Diakritika v Applescript

Autor: jf Muž

Založeno: 05.05.2006, 10:35

...pod 10.4 > by již takový problém být neměl (pochopitelně pokud je primární jazyk čeština). Uživatelé lokalizovaného systému 10.3 i 10.4 ten problém také nemají a mohu psát programy česky i anglicky (pokud text deklarují jako "Unicode text", tak to poté funguje i v US systému...)

Pokud tedy jde o 10.3, je nezbytné mít češtinu na prvním místě a vytvořit si "pseudolokalizaci" editoru:

cp -R '/Applications/AppleScrip
t/Script Editor.app/Contents/Resou
rces/English.lproj' '/Applications/AppleScrip
t/Script Editor.app/Contents/Resou
rces/cs.lproj'

Pokud jsou písma ok, mělo by to fungovat, ale US systém jsem naposledy viděl, když mi přišla první beta 10.3... takže bez záruky...

Odpovědět na příspěvek

RE: RE: Diakritika v Applescript

Autor: jf Muž

Založeno: 09.05.2006, 18:38

Neměl jsem moc času, ale byl jsem chvíli u počítače s int. eng. systémem a nějak to nefunguje ani v 10.4. Stav: V okně se zdroj. textem je při zápisu vše ok, když se kód přeloží, tak je to špatně -- výstup v dial. panelech je však správně -- asi je třeba ještě CE písmo pro zobrazení (monaco). Což je i součástí české lokalizace... každopádně to asi není tak úplně triviální...

Odpovědět na příspěvek

Automator

Autor: miq Muž

Založeno: 04.05.2006, 10:36
Odpovědí: 0

mam iba MacOs 10.3.9 - cize nemam automator, ale zda sa mi
ze automator nahradza apple script. je to tak?

Odpovědět na příspěvek

RE: Automator

Autor: jf Muž

Založeno: 04.05.2006, 12:12

Automator je vlastně něco úplně jiného, rozhodně to AppleScript nenahrazuje, laicky řečeno, mělo by to být něco ještě jednoduššího než AppleScript -- v AppleScriptu musíš napsat skript -- v Automatoru sestavíš úlohu ve vizuálním rozhraní...

Odpovědět na příspěvek

RE: Automator

Autor: OC Muž

Založeno: 04.05.2006, 23:55

Záleží na úrovni pohledu.

Ano, Automator je náhrada AS v tom smyslu, že jde o jiný způsob, jak "programovat" často používané operace.

Ale ne, Automator není náhrada AS v tom smyslu, že AS stále zůstává (protože v něm jde řada věcí, jež v Automatoru není možné zařídit buď vůbec, nebo krajně nepohodlně).

Jinak více podrobností lze nalézt tady: http://www.mujmac.cz/seri
al214.html

Odpovědět na příspěvek

Komenty jinak;)

Autor: ANo Muž

Založeno: 04.05.2006, 20:49
Odpovědí: 0

Tip: Adicionalni manyr denotace komentu jsou parenteze a asterisky, ty jsou especialne praktikalni pro multilinkove komenty, e.g.
(* Toto
je
koment *)

V ramci kreativniho pojeti jazyka do pristich dilu doporucuji jeste kondice, listy, rekordy a skriptovaci adice.

Odpovědět na příspěvek

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: