Kurz1 - Kapitola1

17. června 2007 v 16:13 | http://www.sweb.cz/kurz_evt/ |  Programování pro WinCE

1. Úvod

Možná, že vás někdy napadlo, že program stažený z Internetu pro váš kapesní počítač není přesně to pravé, co jste si představovali. Třeba byste jeho funkce nebo grafické uspořádání řešili jinak, kdybyste byli na místě programátora. Nebo jste na Internetu nic vhodného nenašli a chybí vám jednoduchá utilitka "ušitá" přímo pro vaši potřebu. Mít tak vhodný nástroj a umět programovat...
A proč to nezkusit?
Pokud jste již někdy programovali a máte základní znalosti nejlépe Pascalu nebo ještě lépe jazyka C, nemusí být vytvoření vlastního jednoduchého prográmku tak veliký problém. V následujících několika kapitolách se vám pokusím ukázat, že to opravdu jde, stačí jenom chtít.
Co by mělo být náplní kurzu "Úvod do programování pro počítače s Windows CE"? V několika kapitolách se pokusím na ukázkovém příkladě předvést, jak lze vytvořit jednoduchý program pro Windows CE. V jednotlivých kapitolách budeme postupně do programu přidávat další funkce, až vznikne použitelná aplikace. Aby bylo možné do programu zahrnout co nejvíce funkcí, vybral jsem za cíl jednoduchý hexadecimální prohlížeč obsahu souborů.
Protože programování pro Windows CE je hodně podobné programování pro operační systémy Windows 95 a vyšší (a také proto, že zase tak mnoho času nemůžu obětovat), nebudu se snažit o rozsáhlý a podrobný kurz. Další kapitoly by měly poskytnout pouze základní informace pro váš rozjezd a pokud vás programování zaujme, může se stát vaším koníčkem, popř. vaší obživou. :-)
Aby nedošlo k planým nadějím, chtěl bych v úvodu upozornit, že nejsem profesionální programátor, programy tvořím pouze pro svou potřebu jako koníček.

1.1 Programovací nástroj

Program pro Windows CE je možné vytvořit mnoha různými způsoby. Na Internetu lze objevit několik programovacích nástrojů. Pro naši potřebu výuky a tvorby jednoduchých a drobných aplikací jsem zavrhnul nástroje komerčního (tedy v $ placeného) typu. Několik freewarových nástrojů nevyhovuje tím, že jsou jednoduché až příliš nebo generují poměrně rozsáhlý kód, či potřebují řadu dalších knihoven pro svou činnost.
Uvolněním vývojového prostředí eMbedded Visual Tools (eVT) firmou Microsoft se i amatérským programátorům otevřela cesta k profesionálnímu nástroji. Při rozhodování o tom, který nástroj zvolit, není tedy nutné složitě hledat a zvažovat. Jako jediná obtíž se jeví dostupnost eVT pro konkrétního jednotlivce. Soubor s eVT je možné získat na stránce firmy Microsoft.
Bohužel, jeho velikost je přes 200 MB (+ případné SDK), takže download přes pomalou telefonickou linku je prakticky nepoužitelný. Domluvíte-li se však s někým, kdo má k dispozici neomezený přístup přes rychlejší linku, pak máte cestu otevřenou...:-)
Odměnou za rozsáhlý download vám však bude skutečně profesionální nástroj, s jehož pomocí můžete vytvořit jak drobný prográmek v rozsahu několika kB, tak rozsáhlé a složité projekty.

1.2 Instalace

Po spuštění se získaný .exe soubor rozbalí do dvou adresářů. V prvním adresáři Disk1 je uložen vlastní eVT. Druhý adresář Disk2 obsahuje SDK pro jednotlivé verze Windows CE. (Poznámka: Toto platilo pro původní verzi eVT, nyní je třeba SDK pro starší verze Windows CE stáhnout samostatně.) K dispozici jsou SDK např. pro PalmPC 2.11, HPC Pro 2.11 a Pocket PC. Pro Windows CE 1.0 by bylo nutné použít Visual C++ 6.0 s příslušným Windows CE Toolkitem. Oba tyto nástroje jsou však placené.
Windows CE 2.0 není přímo podporováno, ale v omezené variantě jej lze zprovoznit podle tohoto návodu.
Instalaci zahájíme spuštěním souboru Setup.exe v adresáři Disk1 (Pozn.: Opět původní verze eVT). Po nainstalování vlastního eVT se automaticky spouští instalace přiložených SDK. Pokud budete eVT využívat pro tvorbu programů pouze pro určitou platformu (např. Palm PC 2.11), není nutné instalovat všechny SDK, ale stačí spustit pouze to, co budete potřebovat. Selektivní výběr vám ušetří místo na disku. eVT zabírá cca 150MB, každé SDK si ukrojí asi 200MB.
Uvedený postup lze použít na počítači s Windows 98 a vyšším. U počítačů s operačním systémem typu Win98 se při instalaci objeví upozornění, že nebude správně pracovat emulace kapesních počítačů. Po odsouhlasení by měl zbytek instalace proběhnout korektně. V tomto případě budete ochuzeni o možnost testovat vaše výtvory přímo na stolním počítači. Každý test bude nutné provést po přenosu do kapesního počítače. Máte-li k dispozici operační systém Windows NT 4.0 a vyšší, můžete své pokusy nejprve odladit na stolním počítači a teprve pak je přeložit a přenést do kapesního počítače. Přímo na stolním počítači budete mít k dispozici emulátor kapesního počítače, který např. pro Pocket PC vypadá takto:

obr. 1 Emulátor Pocket PC

Chtěl bych pouze upozornit, že pokud máte starší verzi Windows NT, bude možná nutné doplnit systém o některé moduly a doplňky.
Jestliže se vám podařilo úspěšně nainstalovat eVT a příslušné SDK (ať již s možností emulace, nebo bez ní), měli byste být schopni spustit vývojové prostředí eMbedded Visual C++ (Start -> Programy -> Microsoft eMbedded Visual Tools -> eMbedded Visual C++ 3.0).

obr. 2 Prostředí eMbedded C++

Všechny další lekce budou založeny na jazyku C. I když v eVT je obsažen i Visual Basic, vše co bude dále prezentováno, bude demonstrováno na příkladě v jazyku C++. Pro pochopení výkladu nebude požadována hluboká znalost C++. Měla by stačit znalost málo přesahující základ C - do nadstavby rozšíření na C++ bychom neměli příliš zasahovat. Pro uživatele např. Pascalu nebo jiného jazyka by mohlo postačit projít si některý výukový text k jazyku C. Na Internetu jistě nějaké najdete.
Při programování v tomto úvodním kurzu se budeme držet pouze čistého programového rozhraní, které poskytují Windows. Budeme psát programy pouze s podporou Windows API (Application Programming Interface). Nebudeme používat MFC nebo jiné nadstavbové knihovny - to by překročilo rozsah zamýšleného kurzu.
Máme tedy připraveno a příště můžeme začít...
 

Buď první, kdo ohodnotí tento článek.

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.