Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu

Programujeme pro Psiony, aneb OPL pro začátečníky (2)

aktualizováno 
Druhé pokračování našeho prázdninového rychlokurzu programování v jazyce OPL.

Úvod do jazyka OPL 2/5


Druhy programů v OPL

Z hlediska jejich spouštění můžeme přeložené programy v OPL rozdělit na dva druhy: prvním z nich jsou samostatné přeložené programy, které spouštíme poklepáním na jejich ikonu v adresáři. Programy v OPL můžeme však také doplnit o ikonu a systémové informace a vytvořit tak aplikaci OPL, která se umístí do nabídky Extras.

Z hlediska komunikace s uživatelem (a rostoucí náročnosti na programátora) je možné programy v OPL rozdělit na tři skupiny:

První skupinou jsou jednoduché programy podobné jazyku BASIC používající jednoduchý vstup (příkazy INPUT, EDIT a GET) a výstup (příkazy PRINT, AT, CLS a BEEP). Tyto programy je velmi jednoduché vytvářet, a přesto mohou být velmi užitečné pro různé jednoduché i složitější úlohy.

Druhou skupinou jsou programy používající ke komunikaci s uživatelem základní uživatelské rozhraní EPOC - výzvy (příkaz ALERT), dialogy (definované mezi příkazy dINIT a DIALOG) a uživatelské nabídky - menu (definice pomocí mINIT, použití příkazem MENU). Výhodou oproti první skupině programů je ovládání programu jednotným uživatelským rozhraním, na které je uživatel zvyklý z jiných aplikací.

A konečně skupinu třetí tvoří plnohodnotné událostmi řízené aplikace pro EPOC. Tyto aplikace mohou kromě základního uživatelského rozhraní využívat i ovládání perem, panel nástrojů a podobně. Programování těchto aplikací však vyžaduje detailní znalost některých mechanizmů operačního systému EPOC. Popis těchto mechanizmů a tvorba vlastní aplikace bude součástí jedné z příštích sérií článků.

Proměnné a výrazy

Proměnné v programech v jazyce OPL musíme před použitím deklarovat. Deklarace může být buď lokální (uvozená klíčovým slovem LOCAL) nebo globální (uvozená GLOBAL). Lokální proměnné je možné používat jen v proceduře, ve které jsou definované. Oproti tomu proměnné globální můžeme používat v celém programu nezávisle na procedurách, ve kterých byly definovány.

Jména proměnných mohou být, podobně jako jména procedur, dlouhá nejvýše 32 znaků. Při jejich zápisu nezáleží na tom, zda jejich jména píšeme velkými nebo malými písmeny (kx%, Kx% a KX% onačuje stejnou proměnnou). Proměnná končí znakem, který udává její typ. Proměnné končící znakem '$' obsahují řetězce, proměnné končící znakem '%' obsahují celá 16bitová čísla a proměnné končící znakem '&' obsahují čísla 32bitová.

Pokud jméno proměnné nekončí žádným z těchto speciálních znaků, jedná se o proměnnou obsahující reálné číslo s plovoucí desetinnou čárkou. Proměnné musí být vždy deklarovány (pomocí GLOBAL nebo LOCAL) na začátku procedury před ostatními příkazy.

Použití proměných ukazuje následující jednoduchý program. Dvojtečka od sebe odděluje příkazy, které si přejeme uvést na jednom řádku. Středník na konci příkazu PRINT má stejnou funkci jako v jazyce Basic - potlačí odřádkování. Řetězcová proměnná h$ je deklarována s maximální délkou 100 znaků. Příkaz INPUT (další z dědictví jazyka BASIC) čeká na zadání proměnné z klávesnice.

PROC druha:
  LOCAL a, b
  LOCAL h$(100)
  PRINT "První číslo "; : INPUT a
  PRINT "Druhé číslo "; : INPUT b
  PRINT "Podíl čísel "; a; " a "; b; " je "; a / b
  PRINT "Zadejte text ";
  INPUT h$
  h$ = "Text je """ + h$ + """."
  PRINT h$
  GET
ENDP

Konstantní hodnoty mohou být řetězce v uvozovkách (přejeme-li si uvést uvozovky v řetězci, tak je zdvojíme), celá čísla i čísla s desetinnou čárkou. Příkaz a% = $1A3F přiřadí proměnné a% hodnotu v šestnáctkové soustavě a příkaz a% = %a uloží do proměnné a% hodnotu 97 (ASCII hodnota znaku 'a'). Zatímco konstanta uvozená znakem '$' obsahuje 16bitové číslo v šestnáctkové soustavě, použijeme-li ve výrazu konstantu uvozenou znakem '&' (například příkaz a& = &1234FAB0), uložíme do proměnné 32bitovou šestnáctkovou hodnotu.

V aritmetických výrazech můžeme používat základní operátory (+-*/), kulaté závorky pro vynucení přednosti vyhodnocení výrazů a operátor ** (dvě hvězdičky) pro mocninu. Řetězce můžeme pouze spojovat operátorem '+'. Pro kompletní seznam aritmetických a řetězcových funkcí, které můžete ve svých programech používat, se podívejte do manuálu - některé z nich uvedeme v pokračování.

Po deklaraci mají všecny numerické proměnné hodnotu 0 a řetězcové proměnné obsahují prázdný řetězec (délky 0 znaků). Nejrychlejší jsou výpočty s 16bitovými čísly (označenými znakem '%') a nejpomalejší jsou naopak operace s čísly reálnými a s řetězci.



Nejčtenější

Google posílá vzkaz Evropské komisi. Takhle se bude bránit

Protikartelová komisařka Margrethe Vestagerová.

Google se s obří pokutou od Evropské komise nehodlá smířit. Firma se proti ní odvolá a chce Komisi dokázat, že systém...

Rekordní pokuta pro Google, za dominanci Androidu zaplatí 112 miliard

Ilustrační snímek

Evropská komise uložila internetovému gigantu Google další pokutu. Firma by měla platit za to, že zneužívá dominantního...



Nový supersmartphone vysune kameru a nahrává uživatele bez jeho vědomí

Vivo NEX

V rámci právě skončeného mistrovství světa ve fotbalu byla hrací plocha obklopena panely s reklamami na nový čínský...

Jeden z nejočekávanějších mobilů roku. Nokia 8110 je chytrá jen trochu

Nokia 8110 4G

Retro model Nokia 8110 4G je možná jedním z nejočekávanějších mobilů letošního roku. V Česku se začal prodávat počátkem...

Ten určitě neznáte. Toto je úplně první dotykový mobil v Evropě

Alcatel One Touch Com a Sharp MC-G1

Před dvaceti lety se na trh dostal jedinečný mobilní telefon. Alcatel One Touch Com byl jedním z prvních přístrojů s...

Další z rubriky

Aplikace ukazovala otravující čísla. Data kradl antivir přímo z mobilů

Škodlivý kód Cooligan napadá zařízení s Androidem 4 a 5

Zajímavý model vymyslelo studio DU. Jedna jejich android aplikace ukazovala, kdo volá, včetně obtěžujících čísel...

Bez reklamy ani ránu. Bude už i na Facebook Messengeru v mobilu

Mobilní Messenger projde změnou, k nelibosti uživatelů v něm budou cílené...

Oblíbený mobilní kecálek se brzy promění. Facebook totiž do Messengeru po úspěšném testování implementuje cílené...

K používání aplikace WhatsApp vám nově musí být minimálně 16 let

Whatsapp bude umět zpětně vymazat odeslané zprávy

Chatovací služba WhatsApp mění podmínky používání v Evropské unii. Nově začíná platit, že pro používání služby vám musí...

Najdete na iDNES.cz