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


Úvod do jazyka OPL (10)

aktualizováno 
Pokračujeme v pokročilejším programování v OPL.

Tlačítka v dialogu

dBUTTONS text_1$, klavesa_1%, text_2$, klavesa_2%, ...

Mezi příkazy dINIT a DIALOG jsou postupně definovány jednotlivé řádky dialogu, tak jak na displeji následují pod sebou. Příkaz dBUTTONS definuje tlačítka, která jsou zobrazena pod dialogem nebo vpravo od něj. Může být uveden kdekoliv v definici dialogu. Za tímto příkazem následují vždy dvojice parametrů - první, textový určuje popisek tlačítka a druhý, číselný slouží k označení klávesové zkratky.

Klávesové zkratky příkazu dBUTTONS mohou být uvedeny přímo jako ASCII hodnota znaku uvozená znakem procento (výraz %A má hodnotu 65). Pak je možné tlačítko aktivovat klávesou Ctrl+A. Přičteme-li k ASCII hodnotě písmene konstantu KDButtonPlainKey%, tak bude tlačítko aktivováno přímo klávesou s písmenem A. Použijeme-li konstantu KDButtonNoLabel%, tak tlačítko nebude mít žádnou klávesovou zkratku a nebude možné jeho stisknutí simulovat pomocí klávesnice.

Pro ostatní tlačítka na klávesnici můžeme použít konstanty KDButtonDel%, KDButtonTab%, KDButtonEnter%, KDButtonEsc% a KDButtonSpace%.

V případě, kdy stiskneme Esc, vrací funkce DIALOG hodnotu 0. Pokud dialog ukončíme stiskem nějakého tlačítka, tak je vrácena hodnota odpovídající ASCII kódu klávesové zkratky asociované s tlačítkem (bez Ctrl). Příklad použití jednoduchého dialogu, který obsahuje jenom tlačítka:

INCLUDE "Const.oph"

PROC dialog:
  LOCAL d1%
  dINIT "Co má program dělat"
  dBUTTONS "Akci A", %A, "Věc V", %V+KDButtonPlainKey%, "Skončit", KDButtonDel%
  d1%=DIALOG
  IF d1%=%a OR d1%=%A
    PRINT "Akce A";
  ELSEIF d1%=%v OR d1%=%V
    PRINT "Věc V";
  ELSEIF d1%=KDButtonDel%
    PRINT "Stisknuto Del - konec";
  ELSE
    PRINT "Stisknuto Esc";
  ENDIF
  PRINT ", vrácená hodnota je ", d1%
  GET
ENDP

Statický text

dTEXT vlevo$, vpravo$
dTEXT vlevo$, vpravo$, atributy%

Na řádcích dialogu může být uveden text. K tomuto účelu slouží klíčové slovo dTEXT, za kterým následují dva řetězce: první bude zobrazen na řádku vlevo, zarovnán s ostatními popiskami řádků a druhý bude zarovnán vpravo s ostatními editovanými parametry. Je-li první z těchto řetězců prázdný, bude druhý z nich zobrazen přes celý řádek.

dTEXT může mít ještě třetí, numerický parametr upřesňující chování řádku s textem. Přidáme-li jako třetí parametr konstantu KDTextLineBelow%, tak bude řádek podtržen. Pokud je první parametr dTEXT prázdný řetězec, můžeme měnit zarovnání druhého parametru na řádku (můžeme použít konstanty ze souboru CONST.OPH KDTextLeft%, KDTextRight% a KDTextCentre%).

Pokud uvedeme jako první i druhý parametr dTEXT prázdný řetězec a třetím parametrem bude konstanta KDTextSeparator%, tak bude místo textu řádku nakreslena oddělující čára.

INCLUDE "Const.oph"

PROC dialog3:
  LOCAL a$(10), b : a$="text..." : b=10.256
  dINIT "Informace"
  dTEXT "Proměnná a$", a$
  dTEXT "Proměnná b", FIX$(b, 2, 10)
  dTEXT "","",KDTextSeparator%
  dTEXT "Dnešní datum", DATIM$
  dBUTTONS "Zpět", KDButtonEsc%
  DIALOG
ENDP

Poslední konstanta, kterou je možné v příkazu dTEXT použít, je KDTextAllowSelection%. Řádek, na kterém je tato definice uvedena, je možné zvýraznit; po stisknutí Enter vrátí příkaz DIALOG číslo právě zvýrazněného řádku. To umožňuje například napsat následující program pro výběr z nabídky:

INCLUDE "Const.oph"

PROC dialog4:
  LOCAL d%
  dINIT "Hlavní nabídka"
  dTEXT "Udělat A", "...první akce", KDTextAllowSelection%
  dTEXT "Dvě", "...druhá akce", KDTextAllowSelection%
  dTEXT "Konec", "...skončit", KDTextAllowSelection%
  d%=DIALOG
  PRINT "Výběr "; d% : GET
ENDP



Nejčtenější

Vytrolil T-Mobile, koupil doménu z reklamy a přesměroval ji na konkurenci

T-Mobile Hotel Růženka

Nová reklamní kampaň T-Mobilu se odehrává ve smyšleném horském hotelu Růženka. Ovšem když zkusíte doménu...

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...



Vodafone kouzlí s neomezeným tarifem. Nestojí ani 500 korun

Vodafone nabízí ve svém e-shopu speciální neomezený tarif.

Pokud jste si chtěli pořídit neomezený tarif od Vodafonu, museli jste dosud počítat s měsíčním poplatkem ve výši...

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...

Huawei nehraje fér. Neprodávaná novinka má přes sto falešných recenzí

Huawei Mate 10 Pro

Huawei se snaží protlačit na obrovský americký trh. Ovšem proti jsou operátoři. Ve volném prodeji pak čínský gigant...

Další z rubriky

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é...

Sem chodí smartphony umřít. Aplikaci lze použít jen s vybitou baterií

Die With Me

Aplikace s názvem Umři se mnou má velmi neobvyklé omezení. Nemůžete ji zapnout, pokud máte telefon nabitý víc než na...

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...



Najdete na iDNES.cz