┌vod do rubriky Visual Basic

PokraΦujeme s VB .NET 2003

Jßn Hanßk

Visual Basic ::

Programßtorskß dφlna

 

╚asovß nßroΦnost (h:min):

0:40

 
ZaΦßteΦnφk PokroΦil² Expert

Pou₧it² operaΦnφ systΘm :

Hlavnφ v²vojov² nßstroj :

DalÜφ v²vojov² software :

Jin² software :

Windows XP Professional SP1a

Visual Basic .NET 2003

Äßdn²

Microsoft ActiveSync 3.7.1

  

V²voj aplikacφ pro platformu Pocket PC

v jazyce Visual Basic .NET 2003 (1. Φßst)

 

Vß₧enφ v²vojß°i,

 

zcela jist∞ budete se mnou souhlasit, kdy₧ prohlßsφm, ₧e dosah p∙sobnosti inteligentnφch mobilnφch za°φzenφ a personßlnφch digitßlnφch asistent∙ je po°ßd citeln∞jÜφ. Tato za°φzenφ disponujφ sadou v²hod, mezi n∞₧ m∙₧eme za°adit jak kompaktnφ velikost a nφzkou hmotnost, tak docela sluÜnou v²konnost a komfort pro rychlou prßci v terΘnu. Nenφ proto divu, ₧e zraky mnoha v²vojß°∙ a softwarov²ch specialist∙ se upφrajφ k tΘto novΘ poΦφtaΦovΘ platform∞. Personßlnφ digitßlnφ asistenti, neboli ve zkratce PDA, mohou provozovat Üirokou Ükßlu softwarov²ch produkt∙. P°esto₧e existuje n∞kolik operaΦnφch systΘm∙, jimi₧ jsou r∙znß PDA pohßn∞na, v naÜem p°φpad∞ se budeme soust°edit pouze na platformu Pocket PC, jen₧ je pohßn∞na operaΦnφm systΘmem Windows Mobile for Pocket PC.

 

Poznßmka

Oficißlnφ nßzev operaΦnφho systΘmu pro souΦasnß PDA za°φzenφ je Microsoft Windows Mobile for Pocket PC 2003, zatφmco na starÜφch PDA za°φzenφch je implicitn∞ instalovßn systΘm Windows Mobile for Pocket PC 2002. AΦkoliv jsou tyto nßzvy p°esnΘ a zcela regulΘrnφ, budu pro rychlejÜφ plynulost textu pou₧φvat i kratÜφ v²razy Pocket PC 2003 a Pocket PC 2002. Obecn∞ se budu o systΘmu Windows Mobile zmi≥ovat jako o Pocket PC, proto₧e ukßzkovß aplikace, kterou spoleΦn∞ vyvineme, bude pracovat na obou souΦasn∞ nejrozÜφ°en∞jÜφch operaΦnφch systΘmech od spoleΦnosti Microsoft pro PDA za°φzenφ (Pocket PC 2003 a Pocket PC 2002).

 

Pokud jste si p°ßli vyvinout poΦφtaΦovou aplikaci pro svΘ PDA, no nev∞d∞li jste, jak na to, prßv∞ jste trefili do ΦernΘho.  V dneÜnφm a dalÜφch dvou vydßnφch ProgramßtorskΘ dφlny uvidφte, jak lze pomocφ jazyka Visual Basic .NET 2003 a integrovanΘho v²vojovΘho prost°edφ Visual Studia .NET 2003 vytvo°it pln∞ funkΦnφ a ₧ivotaschopnou .NET aplikaci pro Pocket PC. Tuto pak bude mo₧nΘ spustit na jakΘmkoliv inteligentnφm za°φzenφ, jeho₧ operaΦnφ systΘm tvo°φ produktovou °adu s oznaΦenφm Pocket PC. P°itom si p°edvedeme cel² proces v²voje aplikace a posvφtφme si takΘ na exekuci, a to jak pomocφ vestav∞nΘho emulßtoru, tak prost°ednictvφm äopravdovΘhoô PDA hp iPAQ 4150.

 

 

 

Charakteristika v²vojov∞-exekuΦnφ platformy .NET Compact Framework

 

Abyste mohli psßt °φzenΘ aplikace pro Pocket PC na .NET ·rovni, budete pot°ebovat Visual Basic .NET 2003 nebo Visual C# .NET 2003 a v²vojov∞-exekuΦnφ platformu .NET Compact Framework. Tato platforma obsahuje aplikaΦnφ programovß rozhranφ, kterß usnad≥ujφ v²voj a b∞h .NET aplikacφ na PDA s Pocket PC. .NET Compact Framework je souΦßsti objemn∞jÜφho celku, kter²m je vßm jist∞ znßm² .NET Framework ve verzi 1.1.

 

Obr. 1: Symbi≤za platforem .NET Framework 1.1 a .NET Compact Framework

 

Pokud pracujete s Visual Basicem .NET 2003 a .NET Frameworkem 1.1, mßte vÜe podstatnΘ po ruce. Ve verzi 2003 bylo portfolio projekt∙ jazyka Visual Basic rozÜφ°eno o novou projektovou Üablonu s nßzvem Smart Device Application, o nφ₧ si vφce povφme za chvφli.

 

Obr. 2: Projektovß Üablona Smart Device Application

 

Platforma .NET Compact Framework byla navr₧ena a zkonstruovßna specißln∞ pro v²voj PDA-kompatibilnφch .NET aplikacφ, kterΘ budou b∞₧et na systΘmech Pocket PC a Windows CE .NET. Z hlediska dostupnosti hierarchie t°φd ovÜem nenφ .NET Compact Framework natolik vysp∞l² jako jeho starÜφ brßÜka: Tato skuteΦnost je ovÜem pochopitelnß, nebo¥ je d∙sledkem zm∞n a znak∙, kterΘ jsou typickΘ pro mobilnφ za°φzenφ. Mezi n∞ pat°φ zejmΘna omezenß plocha pro zobrazovßnφ programovΘ grafiky a koneckonc∙ takΘ zcela p°epracovanΘ a tφm pßdem i odliÜnΘ grafickΘ u₧ivatelskΘ rozhranφ. AΦkoliv se nebudeme nynφ pouÜt∞t do diskuse ohledn∞ vÜech odliÜnostφ mezi systΘmy Windows a Pocket PC, m∞li byste mφt tyto diference p°i nßvrhu a v²voji vaÜich aplikacφ na pam∞ti. Zm∞ny se vÜak net²kajφ pouze GUI, ale takΘ dalÜφch oblastφ, jako je t°eba pam∞¥ov² management. Vzhledem k tomu, ₧e PDA nedisponujφ p°ebyteΦnou operaΦnφ pam∞tφ RAM, nem∞li byste zbyteΦn∞ pl²tvat drahocenn²mi systΘmov²mi zdroji. Samoz°ejm∞, tento po₧adavek je nutnΘ splnit i p°i v²voji standardnφch aplikacφ pro Windows, ovÜem u PDA je jeho spln∞nφ vy₧adovßno jeÜt∞ striktn∞ji. V neposlednφ °ade byste m∞li vzφt do ·vahy takΘ ohraniΦenou dobu provozu personßlnφch digitßlnφch asistent∙. Plßnujete-li vyu₧φvat takΘ pokroΦilΘ technologie (nap°φklad IrDA Φi Bluetooth), m∞li byste na ekonomickΘ vyu₧φvßnφ zdroj∙ dbßt jeÜt∞ vφc.

 

 

Vytvß°φme .NET aplikaci pro Pocket PC ve Visual Basicu .NET 2003

 

Cφlem naÜeho sna₧enφ bude vytvo°enφ jednoduchΘ aplikace, kterß bude slou₧it jako prohlφ₧eΦ obrßzk∙ s grafick²m obsahem. Podporovßny budou soubory s extenzemi .BMP, .JPG, .GIF a .PNG. Aplikace bude krom∞ prohlφ₧enφ uveden²ch typ∙ soubor∙ schopna takΘ vytvo°it klon aktußln∞ zobrazenΘho obrßzku, Φi naΦφst posledn∞ otev°en² soubor s obrßzkem po svΘm startu. NaÜi cestu zaΦneme vytvo°enφm novΘho typu projektu ve Visual Basicu .NET 2003. Jak sprßvn∞ tuÜφte, klφΦem k ·sp∞chu bude pou₧itφ projektovΘ Üablony Smart Device Application. Jakmile vyberete tuto Üablonu a zadßte vhodnΘ jmΘno pro projekt (v naÜem p°φpad∞ se bude projekt jmenovat Prohlφ₧eΦ_PDA), m∙₧ete klepnout na tlaΦφtko OK. Za okam₧ik uvidφte okno pr∙vodce (Smart Device Application Wizard), kterΘ je zobrazeno na obr. 3.

 

Obr. 3: Obrazovka pr∙vodce Smart Device Application Wizard

 

Pr∙vodce se nßs ptß na dv∞ otßzky: Prvnφ z nich se tß₧e na skuteΦnost, na jakΘ cφlovΘ platform∞ hodlßme svou aplikaci pou₧φvat. Na v²b∞r mßme dv∞ mo₧nosti: Pocket PC a Windows CE. Vzhledem k tomu, ₧e hodlßme vyvinout Pocket PC aplikaci, je jasnΘ, kterou variantu zvolφme. Prost°ednictvφm druhΘ otßzky se nßs pr∙vodce dotazuje na typ aplikaΦnφho projektu, kter² mß pro nßs p°ipravit. Zde je mo₧nost volby ÜirÜφ, nebo¥ mßme na v²b∞r celkem Φty°i konfiguraΦnφ nastavenφ:

  • Windows Application (Standardnφ aplikace pro systΘm Pocket PC)

  • Class Library (Knihovna t°φd)

  • Non-graphical Application (Aplikace bez grafickΘho u₧ivatelskΘho rozhranφ)

  • Empty Project (Prßzdn² aplikaΦnφ projekt)

Implicitn∞ je vybrßna prvnφ mo₧nost (Windows Application), kterß nßm pln∞ vyhovuje. Jist∞ sami uznßte, ₧e aplikaci typu grafick² prohlφ₧eΦ nejlΘpe sluÜφ standardnφ kabßtek äokennφô aplikace. Budete-li vÜak v budoucnu chtφt vytvß°et jinΘ typy projekt∙, staΦφ zvolit p°φsluÜnou volbu a pr∙vodce se sßm postarß o vygenerovßnφ vhodnΘho startovacφho projektu.

 

V pravΘ Φßsti okna se nachßzφ seznam exekuΦnφch profil∙, kterΘ lze s konkrΘtnφmi typy projekt∙ pou₧φt. My zde m∙₧eme vid∞t polo₧ky Pocket PC Device (Default) a Pocket PC 2002 Emulator. ExekuΦnφ projekty determinujφ zp∙sob spouÜt∞nφ vaÜφ aplikace: Je-li zvolena prvnφ alternativa, Visual Studio .NET 2003 po sestavenφ projektu navß₧e komunikaci s p°enosn²m za°φzenφm, zkopφruje do jeho operaΦnφ pam∞ti nezbytnΘ programovΘ soubory, nainstaluje .NET Compact Framework a dalÜφ pot°ebnΘ programovΘ souΦßsti a spustφ primßrnφ aplikaΦnφ soubor (s extenzφ EXE). Tuto mo₧nost m∙₧ete vyu₧φt v p°φpad∞, ₧e mßte k poΦφtaΦi p°ipojeno PDA za°φzenφ (p°ipojenφ m∙₧e b²t realizovßno bu∩ p°es USB kabel nebo pomocφ IrDA). Pokud ovÜem PDA za°φzenφ nevlastnφte, nebo jej jednoduÜe nemßte p°ipojeno k poΦφtaΦi, m∙₧ete vybrat druhou volbu. V tomto p°φpad∞ bude aktivovßn softwarov² emulßtor, kter² vytvo°φ virtußlnφ PDA za°φzenφ (s operaΦnφm systΘmem Pocket PC 2002) a vÜechny pot°ebnΘ aplikaΦnφ soubory p°enese na toto za°φzenφ. Emulßtor je zpracovßn docela hezky a prost°edφ systΘmu Pocket PC simuluje pom∞rn∞ v∞rn∞. Pokud nechcete neustßle p°esouvat svou pozornost z poΦφtaΦe na PDA, jevφ se pou₧itφ emulßtoru jako dobrß volba.

 

Tip

Softwarov² emulßtor Pocket PC 2002 Emulator m∙₧ete pou₧φt pro hlavnφ testovacφ fßzi vaÜφ aplikace. Pomocφ emulßtoru tak m∙₧ete vychytat programovΘ chyby, a budete-li s b∞hem aplikace spokojeni, m∙₧ete p°ipojit fyzickΘ PDA za°φzenφ, na kterΘm m∙₧ete vyzkouÜet b∞h ji₧ odlad∞nΘ poΦφtaΦovΘ aplikace ve äskuteΦnΘmô prost°edφ. 

  

Pr∙vodce standardn∞ zvolφ p°enos soubor∙ aplikace na fyzickΘ PDA za°φzenφ. (Jak si m∙₧ete vÜimnout, zm∞na exekuΦnφho profilu nenφ v tΘto obrazovce pr∙vodce mo₧nß). Sprßvu exekuΦnφch profil∙ vÜak m∙₧ete pozd∞ji ovlivnit tak, aby pln∞ vyhovovala vaÜim pot°ebßm.  

 

Aktivujete-li tlaΦφtko OK, pr∙vodce zaΦne s vytvß°enφm souΦßstφ projektu. Po uskuteΦn∞nφ vÜech nezbytn²ch operacφ vßs pr∙vodce uvede do nov∞ vytvo°enΘho prost°edφ projektu (obr. 4).

 

Obr. 4: Prost°edφ projektu, kterΘ p°ipravil pr∙vodce Smart Device Application Wizard

 

Ji₧ na prvnφ pohled si vÜimnete n∞kolika zm∞n: Okno formulß°e je menÜφ ne₧ obvykle, na podnosu komponent je ulo₧ena jedna instance komponenty MainMenu a nabφdka karty Device Controls soupravy nßstroj∙ je o poznßnφ chudÜφ. VÜechny popsanΘ aspekty jsou typickΘ pro aplikace typu Pocket PC: Velikost formulß°e je menÜφ, proto₧e inteligentnφ PDA za°φzenφ majφ omezenou plochu dotykovΘho displeje. Rovn∞₧ p°φtomnost instance komponenty MainMenu lze jednoduÜe vysv∞tlit: Vzhledem k tomu, ₧e zobrazovacφ plocha je omezenß, nep°edpoklßdß se, ₧e byste na formulß° umφs¥ovali mnoho p°φkazov²ch tlaΦφtek. Ne, ty zabφrajφ mnoho mφsta, a proto je celkem logickΘ jejich nahrazenφ standardnφm pruhem nabφdek. Abychom se ovÜem nedopustili nedorozum∞nφ: TlaΦφtka m∙₧ete samoz°ejm∞ na formulß° umφs¥ovat takΘ, jen si budete muset zvyknout na skuteΦnost, ₧e pracujete s obrazovkou, kterß disponuje daleko ni₧Üφm rozliÜenφm ne₧ v∞tÜina jin²ch poΦφtaΦov²ch systΘm∙. TakΘ souprava nßstroj∙ se zm∞nila: Nynφ je implicitn∞ aktivnφ zßlo₧ka Device Controls, kterß seskupuje ovlßdacφ prvky a komponenty, je₧ byly specißln∞ p°ipraveny Φi upraveny pro pot°eby mobilnφch za°φzenφ. A tak aΦkoliv je zßstupc∙ ovlßdacφch prvk∙ mΘn∞, m∙₧ete se setkat s mnoha ästar²mi znßm²miô kolegy, mezi n∞₧ pat°φ t°eba PictureBox, Label Φi DataGrid. Novinkou je komponenta InputPanel, jejφ₧ pomocφ m∙₧ete GUI vaÜφ aplikace rozÜφ°it o softwarov² klßvesnicov² panel, kter² v prost°edφ systΘmu Pocket PC p°edstavuje jednu z n∞kolika variant pro zadßvßnφ textov²ch znak∙.

 

 

P°φprava grafickΘho u₧ivatelskΘho rozhranφ ukßzkovΘ aplikace pro Pocket PC  

 

GUI rozhranφ naÜφ aplikace bude tvo°eno nßsledujφcφmi hlavnφmi elementy:

  1. Prvnφ instance ovlßdacφho prvku PictureBox, kterß bude slou₧it pro zobrazovßnφ obsahu u₧ivatelem zvolenΘho grafickΘho souboru. Tato instance bude pojmenovßna jako PictureBox1 a bude mφt velikost 224x200 pixel∙, co₧ znamenß, ₧e bude pokr²vat v∞tÜinu dostupnΘ zobrazovacφ plochy. Abychom mohli po naΦtenφ vid∞t obrßzek cel², nastavφme vlastnost SizeMode tΘto instance na hodnotu StretchImage. Tφm na°φdφme, aby se zobrazen² obrßzek p°izp∙sobil velikosti instance ovlßdacφho prvku PictureBox. Na rozdφl od prvku PictureBox pro desktopovΘ aplikace, zdejÜφ prvek PictureBox neobsahuje vlastnost BorderStyle, a tudφ₧ nem∙₧eme nastavit lokßlnφ ohraniΦenφ instance. Instance PictureBox1 bude umφst∞na p°esn∞ 8 pixel∙ od levΘho hornφho rohu u₧ivatelskΘ oblasti formulß°e v horizontßlnφm i vertikßlnφm sm∞ru, a tudφ₧ bude hodnota jejφ vlastnosti Location rovna hodnot∞ 8;8.

  1. Druhß instance ovlßdacφho prvku PictureBox, jejφ₧ jmΘno je PictureBox2. Pomocφ tΘto instance budeme vytvß°et klon obrßzku, kter² bude v danΘm okam₧iku zobrazen v instanci PictureBox1. Instance PictureBox2 bude velikß 80x48 pixel∙ a bude umφst∞na pod prvnφ instancφ prvku PictureBox (vlastnost Location=8;216). Vybere-li u₧ivatel p°φkaz pro klonovßnφ stßvajφcφho obrßzku, bude vytvo°en obrazov² klon, jen₧ bude zobrazen prßv∞ v instanci PictureBox2. Podobn∞ jako instance PictureBox1, takΘ instance PictureBox2 bude mφt vlastnost SizeMode nastavenou na hodnotu StretchImage.

  1. Hlavnφ pruh nabφdek: Ukßzkovß aplikace bude disponovat hlavnφm pruhem nabφdek, jen₧ bude sdru₧ovat t°i hlavnφ nabφdky: Soubor, ┌pravy a Nßpov∞da. Nabφdka Soubor bude obsahovat p°φkazy pro naΦtenφ novΘho obrßzku, naΦtenφ posledn∞ naΦtenΘho obrßzku, vymazßnφ stßvajφcφho obrßzku a ukonΦenφ aplikace. V nabφdce ┌pravy budete moci nalΘzt dv∞ polo₧ky: Klonovat obrßzek a Odstranit klon. Jejich Φinnost je dob°e Φitelnß ji₧ z nßzv∙: Prvnφ polo₧ka bude vytvß°et obrazov² klon, zatφmco druhß jej bude odstra≥ovat. KoneΦn∞, obsah nabφdky Nßpov∞da bude tvo°it jenom jedna polo₧ka menu, po jejφ₧ aktivaci bude zobrazeno dialogovΘ okno O aplikaci.

Pohled na prvotnφ design hlavnφho formulß°e aplikace zprost°edkovßvß obr. 5.

 

Obr. 5: ProgramovΘ elementy hlavnφho formulß°e ukßzkovΘ aplikace

 

Krom∞ hlavnφho formulß°e bude souΦßstφ ukßzkovΘ aplikace takΘ formulß° O aplikaci, kter² bude p°edstavovat informaΦnφ dialog, jen₧ bude naÜi aplikaci charakterizovat. P°idejte do existujφcφho projektu nov² formulß° (Project >> Add Windows Form) a jeho vzhled p°izp∙sobte nßvrhovΘmu vzoru, kter² m∙₧ete vid∞t na obr. 6.

 

Obr. 6: Kompozice formulß°e O aplikaci

 

Budete-li s nßvrhem hotovi, pozm∞≥te nßsledujφcφ vlastnosti formulß°e:

 

Nßzev vlastnosti

Hodnota vlastnosti

Name

frmOAplikaci

FormBorderStyle

FixedToolWindow

Size

240; 200

Text

O aplikaci...

 

PotΘ modifikujte vlastnosti i dalÜφch instancφ umφst∞n²ch na formulß°i frmOAplikaci:

 

Nßzev instance

Nßzev vlastnosti

Hodnota vlastnosti

Label1

Name

lblText1

Font

Tahoma; 12pt; style=Bold

Text

Prohlφ₧eΦ obrßzk∙ pro Pocket PC

TextAlign

TopCenter

Label2

Name

lblText2

TextAlign

TopCenter

Font

Tahoma; 12pt; style=Bold

Text

Aplikace slou₧φ jako jednoduch² prohlφ₧eΦ soubor∙ s grafick²m obsahem. Naprogramovßno v prost°edφ jazyka Microsoft Visual Basic .NET 2003.

Button1

Name

btn_OK

Text

OK

PictureBox1

Name

pcbInfo

Image

Libovoln² obrßzek o rozm∞rech 80x80 pixel∙

Size

80;80

Location

8;8

 

To je pro tentokrßt vÜe, v budoucφm dφle budeme pokraΦovat ve vytvß°enφ grafickΘho u₧ivatelskΘho rozhranφ naÜφ ukßzkovΘ aplikace pro platformu Pocket PC. Ukß₧eme si, jak p°ipravit nabφdky, a potΘ zaΦneme s psanφm fragment∙ programovΘho k≤du.

 

┌vod do rubriky Visual Basic

PokraΦujeme s VB .NET 2003

Jßn Hanßk