Nyní můžeme přistoupit k návrhu vlastní aplikace; zvolíme si velmi jednoduchou aplikaci, na níž si ukážeme základní kroky při návrhu a vytvoření aplikace:
Aplikace se bude jmenovat LIST a bude obsahovat jednoduchý seznam (například úkolů nebo věcí, které je třeba nakoupit). U každé položky seznamu bude ikona, kterou bude moci uživatel změnit; změnou ikony bude vyjádřen stav položky (hotovo - nakoupeno a podobně). Budou použity jen tři ikony - nevyplněná, zeleně odfajfkovaná a červeně přeškrtnutá.
Aplikace LIST bude spolupracovat s obdobnou aplikací, která poběží na stolním počítači; spolupráce bude pro jednoduchost zajištěna pouze prostřednictvím synchronizace souboru obsahujícího položky seznamu.
Při návrhu budeme postupovat tak, že po základní rozvaze vytvoříme program pro stolní počítač, který odladíme a poté upravíme pro použití na kapesních počítačích. Tento postup může být leckdy pro začátečníky (kteří se řadu věcí učí metodou pokus-omyl) jednodušší, protože cyklus překladu a spuštění aplikace pro stolní počítač je výrazně rychlejší.
Data aplikace budou uložena v jednoduchém textovém souboru se jménem List.TXT . Na každém řádku souboru bude jedna položka. Řádky budou obsahovat číslo ikony (0-2), oddělovač a text příslušné položky.
Zde však narazíme na první problém: zatímco stolní Windows používají 8-bitové kódování ASCII, tak Windows CE používají 16-bitový UNICODE. Pokud na obou počítačích vytvoříme textový soubor s písmenky "ABC", tak na stolním bude mít délku 3 byte a na kapesním počítači bude mít délku 6 byte.
Aby Microsoft zjednodušil práci s textem na různých platformách, zavedl celkem tři typy pro uložení textových dat: char , WCHAR a TCHAR . Rozdíly mezi typy char a WCHAR udává následující tabulka:
char | WCHAR | |
Velikost ( sizeof (...)) | 1 byte | 2 byte |
funkce pro kopírování řetězců | strcpy(char*, char*) | wcscpy(WCHAR*, WCHAR*) |
otevření souboru |
fopen(char*, char*)
soubor obsahuje znaky ASCII |
_wfopen(WCHAR*, WCHAR*)
soubor obsahuje znaky UNICODE |
Pro převod mezi char a WCHAR slouží funkce mbstowcs a wcstombs . Převod je závislý na správném jazykovém nastavení příslušného operačního systému, na kterém tyto funkce spouštíme.
Pro zjednodušení je zde navíc typ TCHAR , který je na platformě stolních Windows považován za jednobytový char a ve Windows CE za dvoubytový WCHAR . Proto všechny funkce, které mají jako parametr typ TCHAR budou přeloženy se správným typem znaků pro danou platformu.
Pro naši aplikaci z toho plynou následující požadavky:
Uložení dat zapouzdříme do jednoho objektu s názvem například Storage . Tento objekt, který zajistí uložení dat, budeme využívat na obou platformách.
Ondřej Lavička
Stránka načtena za 0.00252 sekund.