Untitled - Vitajte na stránkach www.einsty.hostujem.sk

Untitled - Vitajte na stránkach www.einsty.hostujem.sk Untitled - Vitajte na stránkach www.einsty.hostujem.sk

einsty.hostujem.sk
from einsty.hostujem.sk More from this publisher
11.07.2015 Views

P R O G R A M U J E M Enos SQL skutoène obsahuje nesprávny re azec (pozri okno Result), ktorý je prístupnýv poli New Value, a teda ho môžeme opravi (na obrázku vidíme opravenú verziu). Ak terazstlaèíme tlaèidlo Modify, zmeny sa premietnu do programu a my sme si ušetrili jednukompiláciu. Samozrejme, túto chybu bude potrebné v zdrojovom kóde tak èi tak opravi ,takže sa vám možno celý postup zdal zbytoèný. Môžete si však by istí, že pri písaníväèších programov vám funkcia Evaluate/Modify neraz príde vhod.Náš program je teda odladený, body prerušenia preto môžeme odstráni . Ladenie väèšíchaplikácií je však komplikovanejšie, preto neraz zistíme, že program predsa len nefunguje tak,ako by mal, a body prerušenia musia spä na svoje miesto. Ak si nie ste celkom istí, že programbude pracova správne, body prerušenia neodstraòujte, iba ich deaktivujte. To jemožné urobi prostredníctvom kontextového menu v okne Breakpoint List.Medzi zaujímavé vlastnosti bodu prerušenia patrí to, že nemusí by aktívny vždy, môžesa aktivova sám vo chvíli, keï je splnená urèitá podmienka. Práve túto schopnos debuggerasi ukážeme na druhom ukážkovom programe. Ten bude využíva komponentObr. 6TQuery, na rozdiel od predchádzajúceho príkladu však bude obsahova trošku viac kódu,pretože jeho úlohou bude zisti zoznam polí komponentu TQuery a zobrazi ho v komponenteTListBox. Samozrejme, aj tento program bude obsahova chybu.Pôvodný kód predchádzajúceho programu odstránime a nahradíme ho novým. Na formulárpridáme komponent typu TListBox, ktorý nazveme Polia. Vlastnos SQL komponentuTQuery bude obsahova príkazselect * from animalsSamotný kód, ktorého úlohou bude naèíta zoznam polí, má nasledujúcu podobu:procedure TForm1.FirstBtnClick(Sender: TObject);var i:integer;beginQuery.Close;Query.Open;Polia.Items.Clear;for i :=0 to Query.FieldCount doPolia.Items.Add(Query.Fields[i].FieldName);end;Po spustení programu sa komponent TListBox síce naplní, no na konci cyklu vzniknevýnimka „List index out of bounds (5)“. Èíslo 5 v zátvorke je neklamným znamením toho,že problém nastane pri piatom prechode cyklom. Zrejme už tušíte, ktorý riadok budepríèinou vzniku výnimky. Našu teóriu si však musíme overi , preto umiestnime bod prerušeniana predposledný riadok. Mimochodom, všimnite si, že riadok zaèínajúci sa cyklomfor je rozdelený na dve èasti, prièom kód sa generuje pre každú z nich (t. j. aj prvý, ajdruhý riadok majú v ¾avej èasti okna editora bodku). V tomto prípade riadok musí byrozdelený, pretože inak by bod prerušenia s podmienkou nefungoval. Po zaradení boduprerušenia sa presunieme do okna Breakpoint List, kde z kontextového menu vyberiemepoložku Properties. Zobrazí sa nám dialógové okno, ktoré vyplníme pod¾a obrázka è. 5.Presnejšie povedané, vyplníme iba riadok Condition, pretože Delphi ostatné položkyvyplní za nás, a následne stlaèíme tlaèidlo Modify. Po týchto úpravách sa nám beh programupreruší, len èo premenná i nadobudne hodnotu 5. Potvrdila sa teda naša teória,že problémy spôsobil predposledný riadok, cyklus má totiž vyzera takto:for i :=0 to Query.FieldCount-1 doPolia.Items.Add(Query.Fields[i].FieldName);Príkaz AssertTým z vás, ktorí programovali v jazyku C++, akiste netreba príkaz assert osobitne predstavova. Ide o príkaz, ktorý preberá ako parameter výraz typu boolean. Ak je hodnotavýrazu true, nestane sa niè, ak však výraz nadobudne hodnotu false, vznikne výnimka„Assertion failure“. Aby vám však tento príkaz fungoval, musíte ma v nastaveniachDelphi zaškrtnutú vo¾bu Assertions.Ak patríte alebo ste patrili medzi náruživých hráèov, ktorí „hltali“ každú demoverziuhry, je celkom pravdepodobné, že ste sa s týmto príkazom už stretli. Ja som sa s nímdostal prvýkrát do kontaktu niekedy okolo roku 1994, keï som hral demoverziu DarkForces. Veselo si chodím, strie¾am zloduchov a zrazu èierna obrazovka. Najprv som simyslel, že „spadol“ DOS4G/W (extender, ktorý hra používala), no potom som si preèítalchybové hlásenie, ktoré znelo „Assertion failed“. Dokonca bol na obrazovke vypísaný ajnázov C súboru spolu s riadkom, kde problém nastal (žia¾, ani názov súboru, ani èísloriadka si už nepamätám). Druhý kontakt bol iba nepriamy: v istom nemenovanom hernomèasopise sa istý èitate¾ s ažoval, že mu istá hra neustále padala a vypisovala nieèoako „Assertion failure“. Problém vyriešil až najnovší patch. Ako vidíme, tento príkaz sapoužíva pomerne èasto, preto by sme sa ho mali nauèi používa aj my.Vrá me sa však spä k pôvodnej téme. Hoci by sa mohlo zda , že príkaz assert jemožné nahradi príkazom typuif Variable=true then....nie je to celkom tak. Príkaz Assert totiž nevypisuje iba hlásenie, ale aj presné èíslo riadkaa názov súboru, ktorý výnimku spôsobil. Najjednoduchší spôsob, ako si príkaz vyskúša ,je takýto:procedure TForm1.Button1Click(Sender: TObject);beginAssert(false);end;Tento riadok spôsobí zobrazenie chybového hlásenia, ktoré vidíme na obrázku èíslo 6.Praktické využitie tohto príkazu závisí predovšetkým od vás. Ja osobne som ho zaèalpoužíva , keï som pracoval na jednom väèšom programe. Obsahoval viacero databáz,prièom kód na urèitom mieste programu databázu zatvoril, v dôsledku èoho som potommusel trpie hlásenia typu „Cannot perform this operation on a closed dataset“. Riadok,ktorý databázu ilegálne zatváral, som našiel práve prostredníctvom príkazu assert: jednoduchosom viacero týchto príkazov rozmiestnil okolo miesta problému a túto „sluèku“ som postupnezužoval. H¾adaný riadok sa mi nakoniec podarilo nájs a chybu odstráni .NabudúceNabudúce budeme pokraèova v rozoberaní problematiky ladenia aplikácií. Povieme si,ako nám pri ladení môžu by užitoèné výnimky, a ukážeme si možnosti ladenia v Delphi 5.Dovtedy vám prajem ve¾a úspechov pri „vychytávaní múch“ vo vašich programoch.n Ivan Zernovác ml.PREDPLATNÉ PC REVUE NA ROK 2001n Stáli predplatitelia (súkromné osoby aj firmy), ktorí mali èasopis predplatený v našom vydavate¾stvePERFEKT (nie v iných distribuèných spoloènostiach), už nemusia posiela novú objednávku.Spolu s novembrovým èíslom dostali aj poštovú poukážku (súkromné osoby), resp. s januárovým èíslomfaktúru (firmy) na zaplatenie predplatného na rok 2001. Pokia¾ chcete by informovaní o stavevybavovania vašej objednávky, môžete na zadnú stranu zloženky v èasti „správa pre prijímate¾a“uvies vašu e-mailovú adresu. Kto by z nejakého dôvodu poštovú poukážku nedostal, prosím, vyžiadajtesi ju na našom oddelení predplatného (tel.: 07/524 99 783, e-mail: predplatne@pcrevue.sk).n Noví predplatitelia si môžu objedna predplatné na rok 2001 prostredníctvom objednávkovéhokupónu vloženého v èasopise. Objednávky prijímame poštou na adrese redakcie, faxom na è. 07/52499788, mailom na adrese: predplatne@pcrevue.sk alebo cez web: www.pcrevue.sk. Do jednéhotýždòa od prijatia objednávky vám zašleme poštovú poukážku. Firmy a právnické osoby dostanú zaèiatkomjanuára faktúru, ktorú treba najneskôr do 19. 1. 2001 uhradi . Ak do tohto termínunedostaneme vašu platbu, posielanie PC REVUE vám pozastavíme.n Upozornenie: Upozoròujeme predplatite¾ov, aby si vo vlastnom záujme objednávali predplatnéPC REVUE cez našu redakciu, resp. cez naše vydavate¾stvo Perfekt, a nie cez PrNS èi cez iné distribuènéspoloènosti. Okrem z¾avnenej predplatite¾skej ceny, ktorú dostanete iba u nás, tak získateaj možnos objednania si PC REVUE spolu s CD.n Platby: Zloženku na predplatné na rok 2001 treba uhradi do 15. 12. 2000. Firmy a právnickéosoby dostanú faktúru, ktorú treba uhradi najneskôr do 19. 1. 2001.S platbou neèakajte, objednané výtlaèky zasielame až po prijatí platby. Uzávierka objednaných azaplatených výtlaèkov je vždy 14 dní pred expedíciou nového èísla. Pri oneskorenej úhradenemôžeme zaruèi doposlanie predchádzajúcich èísel èasopisu, pretože náklad objednávame pod¾askutoèných objednávok.n Z¾avnené predplatné (študenti, dôchodcovia) si môžu nárokova tí, ktorí na adresu redakciezaslali potvrdenie o návšteve školy, resp. o poberaní dôchodku.n 4×CDR: Od roku 2001 bude PCR vychádza 4× do roka s prílohou CD REVUE. Preto odteraz budemožné objedna si PC REVUE aj spolu s CD.Ceny PC REVUE na rok 2001bez CD s CDVýtlaèok v stánku 49 Sk 95 SkPredplatné celoroèné 444 Sk 624 Sk 3 výtlaèky zadarmo!Predplatné celoroèné z¾avnené 396 Sk 576 Sk 4 výtlaèky zadarmo!Cenu zvoleného predplatného vpíšte do okienka na vašej poštovej poukážke.Za 12 èísel PCR v stánku by ste zaplatili 588 Sk. Jeho predplatenímzískate v prípade riadneho predplatného vlastne 3 výtlaèky zadarmo a v prípade z¾avnenéhodokonca 4 výtlaèky zadarmo!12/2000 PC REVUE 119

P R O G R A M U J E M EVytvárame WAP stránky / 2. èasV tejto èasti si rozoberieme spôsob, akým sa programujú WAP stránky. Opíšeme si jazyk WML.Ak si preèítate tento èlánok, budete schopní vytvori WAP stránku. Túto WAP stránku si potommôžete zverejni na niektorom klasickom webovom serveri. Prezrie si ju môžete pomocoumobilného telefónu, ktorý podporuje WAP, alebo pomocou niektorého simulátora mobilnéhotelefónu. Simulátor mobilného telefónu si môžete zadarmo stiahnu z adries uvedených nakonci tohto èlánku.Aj keï je jazyk WML daný všeobecne platnými normami, nie každý mobilný telefón hoimplementuje rovnako. Rozdiely sa môžu vyskytnú už pri zobrazovaní WAP stránky narôznych mobilných telefónoch (alebo ich simulátoroch). Sú spôsobené rozdielnymi ve¾kos amidisplejov, ako aj možnos ami mobilných telefónov (spolu s mobilnými simulátormi ich ïalejbudeme nazýva mobilné zariadenia). Niektoré mobilné zariadenia sú schopné zobrazi plnúgrafiku (jednoduché obrázky), niektoré zobrazujú iba grafické ikony a niektoré nie sú schopnézobrazi nijakú grafiku (zobrazujú iba jednoduchý text). To však neznamená, že sa vám naniektorých mobilných zariadeniach stránky nezobrazia. Stránky sa na mobilných zariadeniachzobrazia vždy, ale v inom formáte.Keïže v dnešnej dobe sú tieto typy mobilných telefónov ešte stále „prepychové“, jelepšie používa niektorý simulátor. Ten je vhodné použi aj vtedy, ak nechcete, aby vámúèet za mobilný telefón vybehol do astronomických výšok. Pri skúšaní týchto príkladovsme použili simulátor s názvom M3GATE. Nie je to simulátor v pravom zmysle slova,pretože mobilný telefón a mobilný organizér, aké simuluje simulátor M3GATE, by ste vponukách našich operátorov márne h¾adali. M3GATE simuluje akési vymyslené univerzálnemobilné zariadenia. Jeho výhoda je v tom, že podporuje skoro všetky možnostiWAP protokolu. Môžete si ho zadarmo stiahnu z adresy www.m3gate.com.1. Nu(d)tné základyZaènime pekne od zaèiatku. Na programovanieWAP stránok je definovanýjazyk WML (Wireless Markup Language),ktorý je ve¾mi podobný jazyku HTML.Tento jazyk vznikol ako „odvodenina“od univerzálneho jazyka XML. Základnýrozdiel je v definovaní obrazoviek,ktoré sa majú zobrazi na mobilnomzariadení.Základná jednotka jazyka WML sa nazývakarta (card). Pomocou kariet sa vytváraprepojenie medzi používate¾omObr. 1 Základné jednotky WAP stránky mobilného zariadenia a WAP službou.Viac kariet je zoskupených do jednejdosky – deck (doska je síce doslovný preklad anglického deck, ale niekedy môže dos znepreh¾adnitext, a preto budeme èasto používa pojem dokument). Je to najmenšia jednotkaWML, ktorú je webový server schopný prenies do mobilného zariadenia. Keï sa do mobilnéhozariadenia prenesie jeden dokument, obyèajne sa na mobilnom telefóne zobrazív poradí prvá karta (existuje však spôsob, pomocou ktorého je možné ku každej karte v dokumentepristúpi priamo). Použitie dosiek a kariet preh¾adne znázoròuje obrázok 1.Hoci jedna karta by mala by najzákladnejšou jednotkou, ktorú môže mobilné zariadeniezobrazi , nie je to tak. Na mobilných zariadeniach, ktoré majú ve¾ký displej, sa jedna kartazobrazí celá, ale ak mobilné zariadenie nemá dostatoène ve¾ký displej, rozdelí jednu kartu naviac obrazoviek, ktoré potom zobrazí a medzi ktorými môže používate¾ listova .Jazyk WML je citlivý na ve¾kos písmen, to znamená, že Card a card sú dve odlišné karty,všetky znaèky musia by napísané malými písmenami. Aby bol výsledný kód èo najmenší, všetkynepotrebné formátovacie znaky (nové riadky, tabulátory a medzery) sa nahrádzajú jednoumedzerou. To však neznamená, že musíte písa WAP stránku do jedného dlhého riadka. Zhusteniekódu sa vykonáva až pri poslaní stránky do mobilného zariadenia. Keïže formát WML stránkyje ve¾mi podobný HTML stránke, opíšeme si len základné vlastnosti formátu WML stránky.Entity (entities)Základnou entitou je jeden znak (písmeno, èíslica alebo znaèka). Entity, ktoré sa do editoraažko zadávajú, je možné nahradi ich ekvivalentom. Napríklad znak & je nahradenýre azcom & každá entita, ktorá sa zaèína znakom &, musí sa konèi znakom ; (bodkoèiarka).V tabu¾ke 1 sú uvedené použite¾né ekvivalenty entít.Znaèky (tags)Znaèka je k¾úèové slovo jazyka. Urèuje objekt (ten je zasa urèený svojím typom ajedineèným menom). Obsahuje aj iné atribúty, ktoré urèujú vlastnosti objektu. WMLstránka je teda klasický text, ktorého štruktúra a formát je urèený formátujúcimi znaèkami.Ostatné znaèky urèujú správanie sa WML stránky. Znaèku vo WML definujeme presnetak ako v HTML – musí by uzavretá medzi znakmi “”. – znaèka, ktorá urèuje zaèiatok objektu. Môže obsahova nejaké atribúty. – urèuje koniec objektu. – je prázdna znaèka. Napríklad – prechod na nový riadok.Objekty (elements)Štruktúra a vzh¾ad WML stránky sa urèuje pomocou objektov. Objekt je možné definovadvoma spôsobmi: obsah objektu aleboPrvý spôsob definície objektu sa používa vtedy, keï objekt obsahuje nejaký obsah. Napríkladobjektom môže by jeden odsek v dokumente alebo odkaz na inú kartu. Druhý spôsob sa používa,ak objekt neobsahuje nijaký obsah. V tomto prípade sa objekt nazýva prázdny objekt.Zoznam znaèiek, ktoré môžeme použi na definovanie objektov, je uvedený v tabu¾ke2. Všetky tieto znaèky sú podporované mobilnými telefónmi firmy NOKIA a simulátoromNokia WAP Toolkit 2.0.Pomocou týchto znaèiek môžeme definova nové karty a objekty v rámci WML dokumentu.Takisto je možné definova prepojenia medzi jednotlivými dokumentmi, presnejšiemedzi jednotlivými kartami v rámci jedného alebo viacerých dokumentov. Tieto prepojeniasa nazývajú linky (links) a majú rovnaký význam ako linky v HTML. Vo WML je možné definovaešte jeden typ objektu, podobný formuláru v HTML, ktorý urèuje, èo sa má vykona ,ak používate¾ stlaèí tlaèidlo back alebo go. Tento typ objektov sa nazýva úloha (task).Samozrejme, v tabu¾ke sú zobrazené len základné typy objektov. Všetky objektynájdete v referenènej príruèke na stránke WAP fóra (www.wapforum.org).AtribútyVlastnosti jednotlivých objektov sa urèujú pomocou atribútov objektov. Atribút je doplnkováinformácia k objektu. Definuje sa vždy v znaèke, ktorá urèuje zaèiatok objektu. Úplný tvarznaèky, ktorá urèuje zaèiatok objektu, je teda takýto:Atribúty sa odde¾ujú „bielymi znakmi“ (medzera, tabulátor, nový riadok) a hodnotyatribútov musia by v úvodzovkách. Všetky mená atribútov musia by napísané malými písmenami.Niektoré objekty majú povinné atribúty. Napríklad definícia objektu go (má jedenpovinný atribút – href):Ak neuvedieme nepovinné atribúty, použije sa default hodnota. Napríklad atribút align jenepovinný atribút pre objekt img. Ak ho nepoužijeme, použije sa hodnota align=”bottom”.KomentáreKomentár sa definuje presne tak ako v HTML:Jednotlivé komentáre nie je možné do seba vklada (nie je možné vytvára vloženékomentáre).PremennéParametre jednotlivých objektov v dokumente je možné nastavova aj pomocou premenných.Zadaním mena premennej na urèité miesto sa na jej miesto zapíše hodnotadanej premennej. Zápis premennej je nasledujúci:$MenoPremennej$(MenoPremennej)$(MenoPremennej:TypPremennej)Prvý spôsob slúži na zadanie premennej, kde jej meno je medzi znakom $ a prvou medzerou.Druhý spôsob sa používa, ak za menom premennej nemôže nasledova premenná(napríklad: Manzelka pana $Priezvisko za vola $(Priezvisko)ova). Pomocoutretieho zápisu môžeme definova ešte aj konverziu premennej. Ak chceme použi vdanom atribúte samotný znak $, musíme ho zdvoji , napríklad .Na záver ešte raz pripomeniem, že jazyk WML je citlivý na ve¾kos písmen. To znamená,že v menách premenných sa rozlišujú ve¾ké a malé znaky. Mená atribútov a objektovmusia by napísané malými písmenami.2. Štruktúra WML dokumentuKeïže jazyk WML je odvodený z jazyka XML, vlastne každá WML stránka je zároveò ajXML stránkou. Pod¾a jazyka XML musí každý dokument obsahova deklaráciu svojho typu.Táto deklarácia sa musí nachádza hneï na zaèiatku dokumentu. V našom prípade samusí každá WML stránka zaèína nasledujúcimi riadkami:Tieto riadky urèujú, že ide o WML stránku napísanú vo formáte XML 1.0 a jej definíciatypu dokumentu (DTD) je na adrese http://www.wapforum.org/DTD/wml_1.1.xml (súborwml_1.1.xml je možné si z danej adresy stiahnu a uloži na svoj lokálny server).Keï už máme definovaný typ dokumentu, musíme ešte definova WML objekt. WMLobjekt urèuje jeden WML dokument (deck). Z toho vyplýva, že všetky ostatné objekty samusia nachádza v tomto „hlavnom“ objekte. WML objekt urèujeme takto:... ostatné objekty WAP stránky ...V každom WML dokumente sa musí nachádza aspoò jedna karta. Ak WML dokumentobsahuje viac kariet a v URL adrese nie je urèená karta, ktorá sa má zobrazi , zobrazí sakarta, ktorá je definovaná vo WML objekte ako prvá.120 PC REVUE 12/2000

P R O G R A M U J E M EVytvárame WAP stránky / 2. èasV tejto èasti si rozoberieme spôsob, akým sa programujú WAP stránky. Opíšeme si jazyk WML.Ak si preèítate tento èlánok, budete schopní vytvori WAP stránku. Túto WAP stránku si potommôžete zverejni <strong>na</strong> niektorom klasickom webovom serveri. Prezrie si ju môžete pomocoumobilného telefónu, ktorý podporuje WAP, alebo pomocou niektorého simulátora mobilnéhotelefónu. Simulátor mobilného telefónu si môžete zadarmo stiahnu z adries uvedených <strong>na</strong>konci tohto èlánku.Aj keï je jazyk WML daný všeobecne platnými normami, nie každý mobilný telefón hoimplementuje rov<strong>na</strong>ko. Rozdiely sa môžu vy<strong>sk</strong>ytnú už pri zobrazovaní WAP stránky <strong>na</strong>rôznych mobilných telefónoch (alebo ich simulátoroch). Sú spôsobené rozdielnymi ve¾kos amidisplejov, ako aj možnos ami mobilných telefónov (spolu s mobilnými simulátormi ich ïalejbudeme <strong>na</strong>zýva mobilné zariadenia). Niektoré mobilné zariadenia sú schopné zobrazi plnúgrafiku (jednoduché obrázky), niektoré zobrazujú iba grafické ikony a niektoré nie sú schopnézobrazi nijakú grafiku (zobrazujú iba jednoduchý text). To však nez<strong>na</strong>mená, že sa vám <strong>na</strong>niektorých mobilných zariadeniach stránky nezobrazia. Stránky sa <strong>na</strong> mobilných zariadeniachzobrazia vždy, ale v inom formáte.Keïže v dnešnej dobe sú tieto typy mobilných telefónov ešte stále „prepychové“, jelepšie používa niektorý simulátor. Ten je vhodné použi aj vtedy, ak nechcete, aby vámúèet za mobilný telefón vybehol do astronomických výšok. Pri <strong>sk</strong>úšaní týchto príkladovsme použili simulátor s názvom M3GATE. Nie je to simulátor v pravom zmysle slova,pretože mobilný telefón a mobilný organizér, aké simuluje simulátor M3GATE, by ste vponukách <strong>na</strong>šich operátorov márne h¾adali. M3GATE simuluje akési vymyslené univerzálnemobilné zariadenia. Jeho výhoda je v tom, že podporuje <strong>sk</strong>oro všetky možnostiWAP protokolu. Môžete si ho zadarmo stiahnu z adresy <strong>www</strong>.m3gate.com.1. Nu(d)tné základyZaènime pekne od zaèiatku. Na programovanieWAP stránok je definovanýjazyk WML (Wireless Markup Language),ktorý je ve¾mi podobný jazyku HTML.Tento jazyk vznikol ako „odvodeni<strong>na</strong>“od univerzálneho jazyka XML. Základnýrozdiel je v definovaní obrazoviek,ktoré sa majú zobrazi <strong>na</strong> mobilnomzariadení.Základná jednotka jazyka WML sa <strong>na</strong>zývakarta (card). Pomocou kariet sa vytváraprepojenie medzi používate¾omObr. 1 Základné jednotky WAP stránky mobilného zariadenia a WAP službou.Viac kariet je zo<strong>sk</strong>upených do jednejdo<strong>sk</strong>y – deck (do<strong>sk</strong>a je síce doslovný preklad anglického deck, ale niekedy môže dos znepreh¾adnitext, a preto budeme èasto používa pojem dokument). Je to <strong>na</strong>jmenšia jednotkaWML, ktorú je webový server schopný prenies do mobilného zariadenia. Keï sa do mobilnéhozariadenia prenesie jeden dokument, obyèajne sa <strong>na</strong> mobilnom telefóne zobrazív poradí prvá karta (existuje však spôsob, pomocou ktorého je možné ku každej karte v dokumentepristúpi priamo). Použitie dosiek a kariet preh¾adne znázoròuje obrázok 1.Hoci jed<strong>na</strong> karta by mala by <strong>na</strong>jzákladnejšou jednotkou, ktorú môže mobilné zariadeniezobrazi , nie je to tak. Na mobilných zariadeniach, ktoré majú ve¾ký displej, sa jed<strong>na</strong> kartazobrazí celá, ale ak mobilné zariadenie nemá dostatoène ve¾ký displej, rozdelí jednu kartu <strong>na</strong>viac obrazoviek, ktoré potom zobrazí a medzi ktorými môže používate¾ listova .Jazyk WML je citlivý <strong>na</strong> ve¾kos písmen, to z<strong>na</strong>mená, že Card a card sú dve odlišné karty,všetky z<strong>na</strong>èky musia by <strong>na</strong>písané malými písme<strong>na</strong>mi. Aby bol výsledný kód èo <strong>na</strong>jmenší, všetkynepotrebné formátovacie z<strong>na</strong>ky (nové riadky, tabulátory a medzery) sa <strong>na</strong>hrádzajú jednoumedzerou. To však nez<strong>na</strong>mená, že musíte písa WAP stránku do jedného dlhého riadka. Zhusteniekódu sa vykonáva až pri poslaní stránky do mobilného zariadenia. Keïže formát WML stránkyje ve¾mi podobný HTML stránke, opíšeme si len základné vlastnosti formátu WML stránky.Entity (entities)Základnou entitou je jeden z<strong>na</strong>k (písmeno, èíslica alebo z<strong>na</strong>èka). Entity, ktoré sa do editoraažko zadávajú, je možné <strong>na</strong>hradi ich ekvivalentom. Napríklad z<strong>na</strong>k & je <strong>na</strong>hradenýre azcom &amp; každá entita, ktorá sa zaèí<strong>na</strong> z<strong>na</strong>kom &, musí sa konèi z<strong>na</strong>kom ; (bodkoèiarka).V tabu¾ke 1 sú uvedené použite¾né ekvivalenty entít.Z<strong>na</strong>èky (tags)Z<strong>na</strong>èka je k¾úèové slovo jazyka. Urèuje objekt (ten je zasa urèený svojím typom ajedineèným menom). Obsahuje aj iné atribúty, ktoré urèujú vlastnosti objektu. WMLstránka je teda klasický text, ktorého štruktúra a formát je urèený formátujúcimi z<strong>na</strong>èkami.Ostatné z<strong>na</strong>èky urèujú správanie sa WML stránky. Z<strong>na</strong>èku vo WML definujeme presnetak ako v HTML – musí by uzavretá medzi z<strong>na</strong>kmi “”. – z<strong>na</strong>èka, ktorá urèuje zaèiatok objektu. Môže obsahova nejaké atribúty. – urèuje koniec objektu. – je prázd<strong>na</strong> z<strong>na</strong>èka. Napríklad – prechod <strong>na</strong> nový riadok.Objekty (elements)Štruktúra a vzh¾ad WML stránky sa urèuje pomocou objektov. Objekt je možné definovadvoma spôsobmi: obsah objektu aleboPrvý spôsob definície objektu sa používa vtedy, keï objekt obsahuje nejaký obsah. Napríkladobjektom môže by jeden odsek v dokumente alebo odkaz <strong>na</strong> inú kartu. Druhý spôsob sa používa,ak objekt neobsahuje nijaký obsah. V tomto prípade sa objekt <strong>na</strong>zýva prázdny objekt.Zoz<strong>na</strong>m z<strong>na</strong>èiek, ktoré môžeme použi <strong>na</strong> definovanie objektov, je uvedený v tabu¾ke2. Všetky tieto z<strong>na</strong>èky sú podporované mobilnými telefónmi firmy NOKIA a simulátoromNokia WAP Toolkit 2.0.Pomocou týchto z<strong>na</strong>èiek môžeme definova nové karty a objekty v rámci WML dokumentu.Takisto je možné definova prepojenia medzi jednotlivými dokumentmi, presnejšiemedzi jednotlivými kartami v rámci jedného alebo viacerých dokumentov. Tieto prepojeniasa <strong>na</strong>zývajú linky (links) a majú rov<strong>na</strong>ký výz<strong>na</strong>m ako linky v HTML. Vo WML je možné definovaešte jeden typ objektu, podobný formuláru v HTML, ktorý urèuje, èo sa má vyko<strong>na</strong> ,ak používate¾ stlaèí tlaèidlo back alebo go. Tento typ objektov sa <strong>na</strong>zýva úloha (ta<strong>sk</strong>).Samozrejme, v tabu¾ke sú zobrazené len základné typy objektov. Všetky objektynájdete v referenènej príruèke <strong>na</strong> stránke WAP fóra (<strong>www</strong>.wapforum.org).AtribútyVlastnosti jednotlivých objektov sa urèujú pomocou atribútov objektov. Atribút je doplnkováinformácia k objektu. Definuje sa vždy v z<strong>na</strong>èke, ktorá urèuje zaèiatok objektu. Úplný tvarz<strong>na</strong>èky, ktorá urèuje zaèiatok objektu, je teda takýto:Atribúty sa odde¾ujú „bielymi z<strong>na</strong>kmi“ (medzera, tabulátor, nový riadok) a hodnotyatribútov musia by v úvodzovkách. Všetky mená atribútov musia by <strong>na</strong>písané malými písme<strong>na</strong>mi.Niektoré objekty majú povinné atribúty. Napríklad definícia objektu go (má jedenpovinný atribút – href):Ak neuvedieme nepovinné atribúty, použije sa default hodnota. Napríklad atribút align jenepovinný atribút pre objekt img. Ak ho nepoužijeme, použije sa hodnota align=”bottom”.KomentáreKomentár sa definuje presne tak ako v HTML:Jednotlivé komentáre nie je možné do seba vklada (nie je možné vytvára vloženékomentáre).PremennéParametre jednotlivých objektov v dokumente je možné <strong>na</strong>stavova aj pomocou premenných.Zadaním me<strong>na</strong> premennej <strong>na</strong> urèité miesto sa <strong>na</strong> jej miesto zapíše hodnotadanej premennej. Zápis premennej je <strong>na</strong>sledujúci:$MenoPremennej$(MenoPremennej)$(MenoPremennej:TypPremennej)Prvý spôsob slúži <strong>na</strong> zadanie premennej, kde jej meno je medzi z<strong>na</strong>kom $ a prvou medzerou.Druhý spôsob sa používa, ak za menom premennej nemôže <strong>na</strong>sledova premenná(<strong>na</strong>príklad: Manzelka pa<strong>na</strong> $Priezvi<strong>sk</strong>o za vola $(Priezvi<strong>sk</strong>o)ova). Pomocoutretieho zápisu môžeme definova ešte aj konverziu premennej. Ak chceme použi vdanom atribúte samotný z<strong>na</strong>k $, musíme ho zdvoji , <strong>na</strong>príklad .Na záver ešte raz pripomeniem, že jazyk WML je citlivý <strong>na</strong> ve¾kos písmen. To z<strong>na</strong>mená,že v menách premenných sa rozlišujú ve¾ké a malé z<strong>na</strong>ky. Mená atribútov a objektovmusia by <strong>na</strong>písané malými písme<strong>na</strong>mi.2. Štruktúra WML dokumentuKeïže jazyk WML je odvodený z jazyka XML, vlastne každá WML stránka je zároveò ajXML stránkou. Pod¾a jazyka XML musí každý dokument obsahova deklaráciu svojho typu.Táto deklarácia sa musí <strong>na</strong>chádza hneï <strong>na</strong> zaèiatku dokumentu. V <strong>na</strong>šom prípade samusí každá WML stránka zaèí<strong>na</strong> <strong>na</strong>sledujúcimi riadkami:Tieto riadky urèujú, že ide o WML stránku <strong>na</strong>písanú vo formáte XML 1.0 a jej definíciatypu dokumentu (DTD) je <strong>na</strong> adrese http://<strong>www</strong>.wapforum.org/DTD/wml_1.1.xml (súborwml_1.1.xml je možné si z danej adresy stiahnu a uloži <strong>na</strong> svoj lokálny server).Keï už máme definovaný typ dokumentu, musíme ešte definova WML objekt. WMLobjekt urèuje jeden WML dokument (deck). Z toho vyplýva, že všetky ostatné objekty samusia <strong>na</strong>chádza v tomto „hlavnom“ objekte. WML objekt urèujeme takto:... ostatné objekty WAP stránky ...V každom WML dokumente sa musí <strong>na</strong>chádza aspoò jed<strong>na</strong> karta. Ak WML dokumentobsahuje viac kariet a v URL adrese nie je urèená karta, ktorá sa má zobrazi , zobrazí sakarta, ktorá je definovaná vo WML objekte ako prvá.120 PC REVUE 12/2000

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!