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ší

Nový „levný“ iPhone má být hit. Prodat se ho má 100 milionů

Trojice iPhonů pro rok 2018

Apple chystá na letošní rok tři nové iPhony. Jedním z nich má být levnější model, který nebude mít OLED displej. A...

Nepoužívejte smartphony Huawei a ZTE, varují Američany FBI, CIA i NSA

Huawei Mate 10 Pro bude v USA k dostání u BestBuy

Huawei chtěl letos vzít útokem Spojené státy, a to s pomocí tamních klíčových operátorů. Z možné dohody však nakonec...



Teď přijde řada na naše peníze. V Číně totiž končí zlaté časy

Xiaomi Mi 6

Čínský trh s chytrými telefony je největší na světě, ale loni se podle všeho dostal do potíží. Po letech růstu přišel...

Lidé si stěžovali na špatný signál. Rušil ho těžař bitcoinů

(Ilustrační snímek)

Newyorští zákazníci amerického operátora T-Mobile si stěžovali na znatelný šum během telefonních hovorů. Ukázalo se, že...

Vše, co od smartphonu očekáváte, jen za 6 000. Test Honor 9 Lite

Honor 9 Lite

Honor 9 Lite je žhavou novinkou na českém trhu a také je potenciálním prodejním hitem. Smartphone s moderními funkcemi...

Další z rubriky

Na dovolené se můžete seznámit i nespálit

Ilustrační snímek

Na dovolenou si bereme kde co, ovšem počítač/notebook často zůstává doma. Ten je na jedné straně prostředkem k...

Už přes ni vyhrožovali smrtí. Přesto je aplikace extrémně populární

Logo aplikace Sarahah

Vysoký nárůst popularity zaznamenala aplikace Sarahah, určená k posílání anonymních zpráv. Ačkoliv se v posledních...

Šetří místo i data. Dietní Messenger od Facebooku je i v Česku

Aplikace Facebook Messenger Lite je dostupná i v Česku

Facebook Messenger je jedním z nejpoužívanějších kecálků, ale ne všechny telefony si s ním poradí. Loni se tak zrodila...



Najdete na iDNES.cz