AppleScript - Proměné - 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

 

Kde se narodil známý fotograf František Drtikol?

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

Seriály

Více seriálů



Software

AppleScript - Proměné

24. května 2006, 00.00 | Minule jsme se seznámili s možnostmi Script Editoru a napsali první program, dnes se zaměříme na jednu z nejdůležitějších a nejpoužívanějších věcí v AppleScriptu – na Proměnné (variables). Ukážeme si, jak je vytvořit, jak je pojmenovat a začleníme je do našeho programu z minulého dílu.

Na úvod by bylo dobré říci, co je vlastně proměnná, tedy alespoň co je proměnná v AppleScriptu. Zjednodušeně řečeno je to skříňka, třeba z úschovny zavazadel, která má přesné jméno, díky němuž ji vždy najdeme, a může obsahovat téměř cokoli. Tím cokoli nemyslím kufr se špinavým prádlem z dovolené, ale část textu, číslo, ale třeba i datum, nebo zástupce na vybraný soubor. I co do velikosti je velmi variabilní, může obsahovat jedno číslo, nebo třeba celý tento článek, jednoduchou informaci ano/ne, nebo zástupce na všechny dostupné obrázky na disku. To jen dokazuje že název proměnná je zde naprosto trefný. Aby jsme se do toho nezamotali, můžeme každé proměnné určit, co má obsahovat. Má-li to být číslo, seznam, text nebo datum. K tomuto tématu se ale dostaneme až příště, nejdříve si musíme ukázat, jak takovou proměnnou vytvořit a jak může být pojmenovaná.

Jako jméno proměnné lze použít jakékoli slovo, bez akcentů a bez mezer, které nezačíná číslem. Výjimku tvoří klíčová slova AppleScriptu, která mají svůj přesný význam, a nemohou být proměnnými. Jediný povolený znak je podtržítko. Přestože AppleScript je defaultně nerozlišuje, může jméno proměnné obsahovat také velká a malá písmena, která jsou pro lepší orientaci ponechaná tak jak byla napsána při prvním výskytu proměnné a všechny ostatní výskyty budou opraveny podle toho prvního. Ve výsledku je ale proměnná MojePromenna totožná s mojepromenna. Myslete však na to, že čím složitější program, tím více proměnných a tím horší orientace mezi nimi, proto si pamatujte že dobře a jasně pojmenovaná proměnná vám může neskutečně ulehčit práci. Jako příklad si zde uveďme několik typů, jak proměnné pojmenovávat, všechny jsou správné a je jen na vás který způsob si zvolíte a který vám bude připadat nejpřehlednější: promenna, Moje_Promenna, cislo_do_sta, vybranySOUBOR, xx, Datum_Zmeny_souboru, promenna99.

Vytvoříme ji pomocí příkazu "set". Ten je základním kamenem AppleScriptu a jen málo programů se bez něj obejde. Tento příkaz se používá ve tvaru:

set moje_promenna to něco 
Otevřete si Script Editor a přes volbu Open (Otevřít) otevřete náš program z minula. Na začátek programu napište:
set Moje_promenna to "Apple Script je bezva"
na další řádku napište:
set Moje_tlacitka to ("nesouhlasím", "souhlasím") 
a na další:
set preferovane_tlacitko to 2
Tímto jsme nadefinovali 3 proměnné, teď je použijeme v programu a zároveň si ukážeme, jak ještě modifikovat příkaz display dialog. Ten upravte následovně:
display dialog Moje_promenna buttons Moje_tlacitka default button 
preferovane_tlacitko giving up after 10
Nově tu přibyla možnost nadefinovat více tlačítek (seznam jejich názvů), vybrat, které tlačítko bude zvýrazněné (jeho pořadovým číslem) a automaticky zrušit dialog po určité době bez odezvy (počet sekund). Naše proměnné tedy obsahují text, seznam, a číslo. Nechte program zkompilovat a spusťte ho. Objeví se váš text spolu se dvěma tlačítky, přičemž druhé bude zvýrazněné pro snadnější zvolení stisknutím Enteru. Chvíli počkejte a za deset vteřin dialog sám zmizí. Proměnná je tedy plnohodnotnou náhradou svého obsahu, navíc ji můžeme volat odkudkoli z vašeho programu a kolikrát chcete. Jediné na co musíte myslet je, že každou proměnnou, kterou chcete použít je třeba nadefinovat. Pokud to neuděláte, AppleScript zahlásí chybu a vyzve vás k jejímu nadefinování. Vymažeme-li například první řádek našeho programu a pak ho spustíte, objeví se tato hláška : The variable Moje_promenna is not defined.



Ještě nám zbývá si představit poslední záložku spodního pole v okně Script Editoru. Je jím pole Event Log, které je určeno hlavně k ladění a testování programů. Zaznamenává se zde průběh programu, tedy alespoň vše důležité, co probíhá po spuštění aplikace do jejího konce. Pokud potřebujete vidět změny nějaké proměnné v průběhu aplikace, použijte příkaz "log". Ten napíšete přesně na místo kde chcete znát hodnotu proměnné ve tvaru:

log jmeno_promenne
Tímto příkazem se proměnná zapíše právě do Event Logu, kde uvidíte její změny od jednoho logu k druhému. Podobným příkazem je příkaz "get", který naproti logu pouze proměnnou zapíše do proměnné result. Oba příkazy mohou mít i další využití, ale k tomu se dostaneme někdy v příštích dílech.

To by bylo pro dnešek o proměnných asi vše, ale nebojte se, příště se na ně podíváme znovu, naučíme se je měnit, převádět, a povíme si také něco o jejich třídách. Ukážeme si také proměnnou result (výsledek) a jak s ní korektně pracovat.

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

 

Jen drobnost...

Autor: jf Muž

Založeno: 24.05.2006, 00:27
Odpovědí: 0

...používejte prosím při zalamování ukázkového kódu interpretovatelné ukončení řádku (alt+Enter). Jinak se po zkopírování do editoru často při pokusu o kompilaci zobrazí jen "Expected expression but found end of line".

...a hledejte pak všechna ta "neviditelná" zalomení řádků... ;-)

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

RE: Jen drobnost...

Autor: Zdeněk Poláček Muž

Založeno: 24.05.2006, 08:43

Máte pravdu, pokusím se na to myslet...

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

A ještě jedna drobnost

Autor: JJ Muž

Založeno: 24.05.2006, 07:18
Odpovědí: 0

Seznamy se dávají do složených závorek, v ukázce kódu máte normální. Já vím, že to Script Editor při kompilaci opraví, ale bylo by dobré dát si na to pozor i v ukázce uvnitř článku - normální závorky mají jiný význam...

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

vyborny clanok

Autor: Michal Muž

Založeno: 07.06.2006, 02:46
Odpovědí: 0

uz sa tesim na dalsiu cast!

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: