AppleScript - slovníky - 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:

Seriály

Více seriálů



Software

AppleScript - slovníky

27. července 2006, 09.00 | Dnes si řekneme něco o slovnících v AppleScriptu. Kde je najdeme, k čemu nám jsou dobré a jak s nimi pracovat. Také se podíváme na způsoby získávání dat od uživatele, což zjistíme jak jinak než ve slovníku.

Stejně jako v normálním životě nahlížíme i v AppleScriptu do slovníku když něčemu nerozumíme nebo když potřebujeme vědět jak se něco řekne, navíc ale můžeme zjistit co daná aplikace vlastně umí a co všechno nám dovolí prostřednictvím AppleScriptu. Někdy je to dokonce více než nám nabízí v běžném uživatelském prostředí. Je dobré se občas podívat i na známý příkaz, protože mnohdy objevíme nějaký jeho zajímavý parametr, nebo zjistíme že můžeme pracovat s daleko více jeho elementy, než jsme si mysleli.

Jak jsem již psal v prvním dílu poměrně slušná řádka aplikací je skriptovatelná. To znamená že obsahují sadu příkazů, které můžeme použít. Jak ale zjistíme jaké ty příkazy jsou? Od toho tu jsou slovníky. Každá skriptovatelná aplikace má všechny příkazy uložené ve slovníku a my se do něj můžeme podívat a to hned dvěma způsoby Jedním z nich je vybrat v nabídce File položku Open Dictionary... (Cmd+Shift+O) a z vybrané tabulky vyberete aplikaci, které se chcete podívat na zoubek, nebo jednoduše přetáhnete aplikaci na ikonu AppleScriptu, který sám rozpozná je-li aplikace skriptovatelná, a v případě že ano, otevře její slovník. Vy ale teď použijte první způsob a z tabulky vyberte slovník "Standard Additions" a otevřete ho.


Otevře se vám okno se základními AppleSriptovými příkazy. Nahoře hned, pod toolbarem najdete tři sloupce, v kterých se nachází přehledně strukturovaný seznam, ve spodní části si pak otevřete podrobnosti o jednotlivých příkazech. Samozřejmě nechybí možnost ve slovníku vyhledávat. Nejprve si ale řekněme něco víc k seznamu příkazů. Ten v prvním sloupci obsahuje určité sady (suites), které obsahují příkazy, které k sobě určitým způsobem patří. Poznáte je podle písmena "S" v oranžovém čtverečku. Po vybrání sady najdete ve druhém sloupci příkazy (commands) označené velkým C v modrém kolečku. To už jsou příkazy, které hledáme a zpravidla tu najdeme co hledáme. V druhém sloupci můžeme ještě narazit na class, to je seznam několika informací přičemž každá má své jméno a můžeme ji rozložit na jednotlivé elementy a property. Class bývá většinou výsledek nějakého příkazu a je označen fialovým čtverečkem s bílým C. V posledním sloupci najdeme property, to jsou jednotlivé části obsažené v class a obsahují výsledky příkazů a jejich modifikací. V případě příkazu display dialog tak v property najdeme například button returned nebo gave up. Property se označují bílým P ve fialovém čtverečku. Poslední na co můžeme ve slovníku narazit je element s velkým E v oranžovém čtverečku. To je objekt obsažený v jiném objektu, například složka (folder) může obsahovat soubor (file).

Vybereme-li nějaký příkaz zobrazí se nám ve spodní části slovníkového okna jeho popis. V první řádce je tučně napsaný jeho název a stručný popis co ten který příkaz umí. V druhé řádce je základní formát příkazu následovaný informací s jakou třídou umí pracovat a co má za příkazem následovat a krátký popis. Za příkazem display dialog je to tedy string, který má být ukázán, za příkazem round následuje real, který má být zaokrouhlen. Dále následují doplňující volitelné možnosti, které jsou uvedeny v hranatých závorkách, opět s třídou, která má následovat a jejím popisem. Podíváme-li se na display dialog, většinu toho už budeme znát a se zbytkem se seznámíme za chvíli. Poslední řádek popisuje výsledek příkazu. Zpravidla je to odkaz na nějakou class, nebo třída výsledku daného příkazu.

V případě objektu je první jeho tučné jméno, a můžeme-li pracovat s více objekty najednou i jeho množné číslo. V hranaté závorce hned za názvem je třída samotného objektu ke, které přináleží a se kterou sdílí property a pravidla pro používání. Dále je pak soupis co může objekt obsahovat nebo v čem může být obsažen. Poslední je seznam jeho záznamů, na které se můžeme dotázat spolu s typem odpovědi, kterou dostaneme a jeho popisem. V případě, že za typem odpovědi není r/o, můžeme parametr objektu i sami nastavit nebo změnit, v opačném případě je pouze read only a můžeme ho pouze získat pro další použití.

Už tedy víme, jak na slovníky, tak se do jednoho hned podíváme. A to na náš starý známý příkaz display dialog. Ten najdeme ve slovníku Standard Additions, který by jste už měli mít otevřený. Pokud ne, udělejte to, a do pole pro vyhledávání napište "dis" a z nabídnutých možností vyberte display dialog. Měli byste vidět něco podobného jako je na následující ukázce. Nás v tuto chvíli zajímá hned první volitelný parametr "default answer". Ten nám dovolí získat od uživatele krátkou textovou zprávu se, kterou můžeme dále pracovat. Jak vidíme ve slovníku následuje mu string, který má být obsažen v textovém poli. V případě, že nechceme uvádět žádný text ale chceme se od uživatele dozvědět nějaký údaj, použijeme jako default answer prázdný string – "", to jsou uvozovky těsně za sebou, neohraničující žádný text.

Otevřete si náš program a vyměňte všechen text následující za beep takto:

set vysledek to display dialog Moje_promenna buttons Moje_tlacitka default ¬
answer "zde je místo pro tvé nápady" default button preferovane_tlacitko
set tlacitko to button returned of vysledek
set odpoved to text returned of vysledek

if odpoved is "zde je místo pro tvé nápady" then
if tlacitko is "nesouhlasím" then
display dialog "Snad si to rozmyslíte..." buttons "OK" giving up after 10¬
with icon note
beep
else if tlacitko is "souhlasím" then
display dialog "Tak drzim palce!" buttons "OK" giving up after 10 with icon note
end if
else
display dialog "tvá reakce na na mé tvrzení byla tato: " & return & odpoved ¬
buttons "OK" giving up after 10 with icon note
end if
get odpoved
Do prvního okna přibyl řádek, do kterého můžeme napsat jakoukoli připomínku a který je předvyplněný vysvětlujícím textem. Všimněte si upraveného ifu, jeden je vložen v druhém. Nenapíšeme-li žádnou připomínku, program reaguje jako předtím, ale pokud jakkoli změníme nabídnutý text, zobrazí se nám dialog ukazující naší připomínku. V mém případě to bylo: "asi na tom něco bude...".Co když se ale potřebujeme dozvědět třeba číslo? Jednoduše zkusíme převést text returned na integer. Pokud napíšete opravdu číslo, bude vše v pořádku, napíšete-li ale něco jiného, AppleScript vrátí error. Jak takovému Erroru předejít si ukážeme příště. Naučíme se totiž něco jen zkusit.


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

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

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

Uživatelské jméno:

Heslo: