Programování pro PalmOS počítače krok za krokem (25)

V tomto díle zkusíme dát podle vzoru z druhé kapitoly dohromady první program, který jen zobrazí tento formulář na obrazovce (to byste ale měli už zvládnout za domácí úkol). Pak se pustíme do trochu odtažitého popisu paměti Palm Pilotu, který je nutný pro pochopení základních funkcí operačního systému.

3.3. První krok: aplikace zobrazující formulář

V minulém díle jsme si popsali formulář a bylo by jistě zajímavé si jej prohlédnout. Vytvoříme tedy první jednoduchou aplikaci, která jen zobrazí náš formulář na displeji. Pro začátek potřebujeme tyto soubory:

  • Ikonu - použijeme černé kolečko z první kapitoly, do kterého nakreslíme panáčka a rameno symbolizující výškoměr ().
  • Soubor Makefile - použijeme jen mírně pozměněný soubor z předchozí kapitoly (vlastně stačí nahradit jen jméno programu)
  • Soubor prostředků aplikace - formulář už máme, tak stačí jenom přidat povinné definice (ikonu programu, jméno ikony a jednoznačnou identifikaci tvůrce aplikace ('NECO').
  • Hlavičkový soubor s konstantami, použitými v souboru prostředků aplikace.
  • Vlastní zdrojový text programu

Soubor prostředků aplikace

Uvedeme si celý soubor prostředků aplikace, ve kterém jsou povinné části (tučně) a definice formuláře, navrženého v předchozím díle:


// Soubor vyska.rcp

#include "vyska.h"

APPLICATIONICONNAME ID 1001 "Vyska"
VERSION ID 1 "1.0"
APPLICATION ID 1002 "NECO"

ICON "ikona.bmp"

FORM ID FormularHlavni AT (0 0 160 160)
BEGIN
    
    TITLE "Cilová vyska"
    
    LABEL "Vyska matky:" AUTOID AT (5 30) FONT 1
    PUSHBUTTON "1" ID TlacitkoMatka100cm AT (PREVRIGHT+4 PREVTOP-2 12 15) FONT 2 GROUP SkupinaMatka
    PUSHBUTTON "6" ID TlacitkoMatka10cm AT (PREVRIGHT+1 PREVTOP PREVWIDTH PREVHEIGHT) FONT 2 GROUP SkupinaMatka
    PUSHBUTTON "0" ID TlacitkoMatka1cm AT (PREVRIGHT+1 PREVTOP PREVWIDTH PREVHEIGHT) FONT 2 GROUP SkupinaMatka
    LABEL "cm" AUTOID AT (PREVRIGHT+4 PREVTOP+2) FONT 1
    REPEATBUTTON "\001" ID OpakujMatkaPlus AT (PREVRIGHT+2 PREVTOP-3 AUTO AUTO) NOFRAME FONT 5
    REPEATBUTTON "\002" ID OpakujMatkaMinus AT (PREVLEFT PREVBOTTOM AUTO AUTO) USABLE LEFTANCHOR NOFRAME FONT 5

    LABEL "Vyska otce:" AUTOID AT (5 60) FONT 1
    PUSHBUTTON "1" ID TlacitkoOtec100cm AT (PREVRIGHT+4 PREVTOP-2 12 15) FONT 2 GROUP SkupinaOtec
    PUSHBUTTON "8" ID TlacitkoOtec10cm AT (PREVRIGHT+1 PREVTOP PREVWIDTH PREVHEIGHT) FONT 2 GROUP SkupinaOtec
    PUSHBUTTON "0" ID TlacitkoOtec1cm AT (PREVRIGHT+1 PREVTOP PREVWIDTH PREVHEIGHT) FONT 2 GROUP SkupinaOtec
    LABEL "cm" AUTOID AT (PREVRIGHT+4 PREVTOP+2) FONT 1
    REPEATBUTTON "\001" ID OpakujOtecPlus AT (PREVRIGHT+2 PREVTOP-3 AUTO AUTO) NOFRAME FONT 5
    REPEATBUTTON "\002" ID OpakujOtecMinus AT (PREVLEFT PREVBOTTOM AUTO AUTO) NOFRAME FONT 5

    CHECKBOX "Chlapec" ID ZaskrtniChlapec AT (5 85 AUTO AUTO) GROUP SkupinaPohlavi CHECKED
    CHECKBOX "Divka" ID ZaskrtniDivka AT (PREVLEFT PREVBOTTOM+1 AUTO AUTO) GROUP SkupinaPohlavi

    LABEL "Bude pravdepodobne vysoky/a" AUTOID AT (5 120) FONT 1
    LABEL "od" AUTOID AT (5 140) FONT 1
    PUSHBUTTON "155" ID TlacitkoVyskaOd AT (PREVRIGHT+4 PREVTOP-2 30 AUTO) DISABLED FONT 2 GROUP 0
    LABEL "do" AUTOID AT (PREVRIGHT+4 PREVTOP+2) USABLE FONT 1
    PUSHBUTTON "200" ID TlacitkoVyskaDo AT (PREVRIGHT+4 PREVTOP-2 30 AUTO) DISABLED FONT 2 GROUP 0
    LABEL "cm" AUTOID AT (PREVRIGHT+4 PREVTOP+2) FONT 1
	
    BUTTON "?" ID TlacitkoOProgramu AT (140 90 AUTO AUTO) FRAME
		
END

K tomuto souboru patří soubor vyska.h, který vkládáme na prvním řádku. V tomto souboru je uvedeno číslo prostředku formuláře, čísla prostředků prvků formuláře a konstanty pro jednotlivé skupiny přepínačů. Čísla prostředků jsme zvolili libovolně - například začít pro každý formulář u celého tisíce a pak přičítat jedničku pro jeho prvky. Čísla skupin jsou také zvolena libovolně - musí být různá od nuly.


// Soubor vyska.h

#define FormularHlavni      2000
#define TlacitkoMatka100cm  2001
#define TlacitkoMatka10cm   2002
#define TlacitkoMatka1cm    2003
#define OpakujMatkaPlus     2004
#define OpakujMatkaMinus    2005
#define TlacitkoOtec100cm   2006
#define TlacitkoOtec10cm    2007
#define TlacitkoOtec1cm     2008
#define OpakujOtecPlus      2009
#define OpakujOtecMinus     2010
#define ZaskrtniChlapec     2011
#define ZaskrtniDivka       2012
#define TlacitkoOProgramu   2014
#define TlacitkoVyskaOd     2015
#define TlacitkoVyskaDo     2016

#define SkupinaOtec         1
#define SkupinaMatka        2
#define SkupinaPohlavi      3

Zdrojový text programu

Spuštění programu i smyčka zpracování událostí jsou stejné jako u programu v předchozí kapitole. Jedinou změnou je použití jen jednoho formuláře, takže příslušná část funkce UdalostZpracovanaAplikaci() bude vypadat takto:

		switch(cisloFormulare)
		{
			case FormularHlavni:
				FrmSetEventHandler(formular, UdalostHlavnihoFormulare);
				zpracovano = true;
				break;

			default:
				break;
		}

Z toho je také vidět, že funkci zpracovávající události hlavního formuláře jsme pojmenovali UdalostHlavnihoFormulare(). Tato funkce obsluhuje zatím jen jedinou událost: požadavek na vykreslení formuláře.

Zdrojové texty programu si můžete stáhnout zde. Prohlédněte si formulář - tlačítka, přepínače i políčka k zaškrtnutí by měly reagovat na akce uživatele. Programu už chybí pouze jediné - aby počítal to, co počítat má.


V příštím díle na chvíli opustíme problematiku uživatelského rozhraní a budeme psát o organizaci paměti počítačů Palm Pilot a kompatibilních.

Autor:
  • Nejčtenější

V květnu se zřejmě vrátí ikonická Nokia 3210, kdysi to byl přelomový model

24. března 2024  8:01

Současný vlastník značky Nokia na poli mobilních telefonů, firma HMD (Human Mobile Devices –...

Banka spustila mobilní datové balíčky. Funguje to i zákazníkům z Česka

26. března 2024  12:06

Virtuální banka Revolut spouští virtuálního celosvětového operátora. Zákazníci si mohou kupovat...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Z bídného začátku roku se radují. Vypadá to na velký návrat

21. března 2024  7:02

Zřejmě to vypadá na velký návrat. Huawei začíná drtit své domácí konkurenty, přitom jeho produkty...

Trvalo to. Nový nejlepší fotomobil světa konečně koupíte i v Česku

26. března 2024  7:02

Konečně nastává situace, že nejlepší fotomobil v žebříčku DxO Mark je dostupný i na našem trhu....

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Pochlubili se, že se pochlubí. Značky ze sebe dělají slibotechny

25. března 2024  7:02

Jedním z trochu nečekaných trendů veletrhu MWC v Barceloně se stala oznámení o tom, že firmy nějaké...

U foťáků se blýská na lepší časy, naznačuje výsledek testu nového xiaomi

28. března 2024  7:02

Čínská značka Xiaomi trochu na poli fotomobilů v uplynulých letech tápala. Ukazuje to mimo jiné...

Kartónek Steva Jobse se vydražil za neuvěřitelnou sumu

28. března 2024

Vizitku slavného ředitele společnosti Apple si někdo pořídil za pořádný balík peněz. Přidanou...

Smartphonům od Googlu raketově rostou prodeje tam, kde kraluje Apple

27. března 2024  7:02

Prodeje smartphonů Pixel od Googlu se mohou pochlubit neskutečným nárůstem prodejů. Tedy prozatím...

Podívejte se na chloubu Ostravy z pohledu, který se vám běžně nenaskytne

27. března 2024

Operátor O2 informoval, že ve spolupráci se společností Cetin dokončil modernizaci své mobilní sítě...

Rána pro britskou monarchii. Princezna Kate má rakovinu, chodí na chemoterapii

Britská princezna z Walesu Kate (42) se léčí s rakovinou. Oznámila to sama ve videu na sociálních sítích poté, co se...

Smoljak nechtěl Sobotu v Jáchymovi. Zničil jsi nám film, řekl mu

Příběh naivního vesnického mladíka Františka, který získá v Praze díky kondiciogramu nejen pracovní místo, ale i...

Rejžo, jdu do naha! Balzerová vzpomínala na nahou scénu v Zlatých úhořích

Eliška Balzerová (74) v 7 pádech Honzy Dědka přiznala, že dodnes neví, ve který den se narodila. Kromě toho, že...

Kam pro filmy bez Ulož.to? Přinášíme další várku streamovacích služeb do TV

S vhodnou aplikací na vás mohou v televizoru na stisk tlačítka čekat tisíce filmů, seriálů nebo divadelních...

Stále víc hráčů dobrovolně opouští Survivor. Je znamením doby zhýčkanost?

Letošní ročník reality show Survivor je zatím nejkritizovanějším v celé historii soutěže. Může za to fakt, že už...