11.07.2015 Views

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

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

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

P R O G R A M U J E M ENa záver tejto èasti ešte spomeniem spôsob, akým program Help Workshop pristupu−je k vzniknutým chybám. Ak program <strong>na</strong>razí <strong>na</strong> chybu, jeho logika mu prikáe zobrazisprávu s èíslom a opisom vzniknutej chyby. Všetky chyby majú jednotný zápis v tvareHCxxxx, kde kombinácia xxxx predstavuje èíslo chyby. Program rozpoznáva tri druhy chy−bových správ, ktorých charakteristika je uvedená v tabu¾ke è. 2.Tabu¾ka è. 2Chybová správaNote (Poznámka)Warning (Varovanie)Error (Chyba)CharakteristikaProgram generuje správu s poznámkou v prípade, e sa vy<strong>sk</strong>ytne chyba malého výz<strong>na</strong>mu,ktorá zásadne neovplyvní funkènos systému nápovede. Napr. HC1003: Note: A paragraphmark is formatted as a hidden character.Varovanie sa objaví pri závanejšej chybe. Napr. HC3003: Warning: The macro <strong>na</strong>me [ ] isinvalid.Správa s chybou je generovaná vtedy, ak sa v nápovednom systéme vy<strong>sk</strong>ytne takázávaná chyba, e znemoní u<strong>sk</strong>utoènenie plánovanej operácie (<strong>na</strong>pr. zabráni vytvoreniusúboru). Napr. HC5005: Error: The file cannot be found.Pokia¾ program Help Workshop vypíše pri kompilácii súboru s nápoveïou správu s chy−bou, ktorej nebudete rozumie, zadajte èíslo chyby (<strong>na</strong>pr. HC1003) do registra nápovedeprogramu a dozviete sa podrobnejšie informácie o danej chybe.5. FÁZA: FINÁLNA KOMPRESIA A KOMPILÁCIA SYSTÉMU NÁPOVEDE.Poslednou fázou je kompresia a kompilácia výsledného súboru nápovede. U<strong>sk</strong>utoèneniekompilácie je ve¾mi jednoduché, <strong>na</strong>pokon treba aktivova iba jedno tlaèidlo a programHelp Workshop sa sám postará o všetko ostatné. Rád by som sa však <strong>na</strong> chví¾u zastavilpráve pri kompresii súboru nápovede. V procese kompresie sú <strong>na</strong> súbor aplikované opti−malizaèné mechanizmy, ktoré zabezpeèia minimalizáciu jeho ve¾kosti. Help Workshopvám ponúka tri základné typy kompresie, ktoré môete urèi <strong>na</strong> záloke Compression poklepnutí <strong>na</strong> tlaèidlo Options. Charakteristiku jednotlivých typov prezentuje tabu¾ka è. 3.Predpokladajme, e máme k dispozícii projektový súbor nápovede (.HPJ) a všetky ostat−né potrebné súèasti, ktoré sa pokúsime komprimova pomocou jednotlivých kompresnýchmetód a <strong>na</strong>merané výsledky porovnáme (pre lepšie porov<strong>na</strong>nie je uvedená i ve¾kosnekomprimovaného výsledného súboru s nápoveïou). Viac informácií po<strong>sk</strong>ytuje tabu¾kaè. 4 a obr. 6.Tabu¾ka è. 3Metóda kompresieMaximál<strong>na</strong> kompresiaKompresia HallKompresia ZeckTabu¾ka è. 4Metóda kompresieiad<strong>na</strong> kompresiaMaximál<strong>na</strong> kompresiaKompresia HallKompresia ZeckCharakteristikaTáto metóda kompresie je odporúèaná pre väèšinu súborov s nápoveïou. Predstavujekombináciu kompresných metód Hall a Zeck.Túto kompresnú metódu môete poui vtedy, ak viete, e nápovedný súbor budepo kompilácii komprimovaný ešte ïalším programom (<strong>na</strong>pr. aplikáciou WinRAR).Pod¾a oficiálnych informácií je moné poui túto kompresnú metódu, ak chcetekompilova rýchlo a s minimálnou kompresiou. Dovolím si však podotknú, e nie vdytoto tvrdenie platí (pozri <strong>na</strong>sledujúci príklad).Ve¾kos súboru s nápoveïou540 KB134 KB138 KB133 KBPo vyko<strong>na</strong>ných testoch môem vyhlási, e všetky tri metódy komprimujú súbor snápoveïou ve¾mi dobre (kompresný pomer je pribline 4:1). Pre podstatnú väèšinu súbo−rov môete s pokojným svedomím zvoli maximálnu kompresiu (teda kombináciu kom−presných metód Hall a Zeck). Pokia¾ však chcete dosiahnu èo <strong>na</strong>jlepšie kompresné výsled−ky, bude vhodné, keï budete s jednotlivými kompresnými metódami experimentova a <strong>na</strong>základe empirických pokusov zvolíte tú, ktorá vám <strong>na</strong>jviac vyhovuje. V koneènom dôsled−ku je pomerne ako predvídate¾né, ako sa bude tá−ktorá kompresná metóda správa prikompresii práve vášho súboru s nápoveïou (kompresný pomer závisí od mnohých fakto−rov, <strong>na</strong>pr. od typu, ve¾kosti a mnostva pouitých grafických elementov a pod.).Teším sa <strong>na</strong> stretnutie pri ïalšej èasti seriálu.Ján HanákAssembler pod Windows25. èas: Systémové informácie IIV predchádzajúcej èasti sme preberali funkcie API <strong>na</strong> zí<strong>sk</strong>avanie informácií zo systému.Tentoraz sa pozrieme, aké funkcie API máme k dispozícii <strong>na</strong> <strong>na</strong>stavovanie systémovýchinformácií. Praktický príklad opä nájdete <strong>na</strong> <strong>www</strong>.pcrevue.<strong>sk</strong> v sekcii Programujeme –Assembler pod Windows.GetTimeZoneInformationWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno kernel32.lib kernel32.incFunkcia GetTimeZoneInformation vráti štruktúru TIME_ZONE_INFORMATION, ktorá opi−suje èasovú zónu. Obsahuje dve štruktúry SYSTEMTIME, ktoré urèujú zaèiatok a koniecletného èasu, ako aj rôzne pravidlá pre prevod systémového <strong>na</strong> lokálny èas.Syntax: DWORD GetTimeZoneInformation, LPTIME_ZONE_INFORMATIONlpTimeZoneInformationLPTIME_ZONE_INFORMATION lpTimeZoneInformation: Ukazovate¾ <strong>na</strong> štruktúru LPTI−ME_ZONE_INFORMATION, do ktorej sa uloia dáta o špecifikovanej èasovej zóne. Štruk−túra má tvar:TIME_ZONE_INFORMATION STRUCTBias DWORD ?StandardName WORD 32 dup(?)StandardDate SYSTEMTIME StandardBias DWORD ?DaylightName WORD 32 dup(?)DaylightDate SYSTEMTIME DaylightBias DWORD ?TIME_ZONE_INFORMATION ENDSBias – prispôsobenie <strong>na</strong> greenwich<strong>sk</strong>ý èas UTC (Universal Time Coordi<strong>na</strong>tion) v minútachStandardName – meno èasovej zónyStandardDate – svetový dátum a èas, keï sa letný èas mení <strong>na</strong> štandardný èas; ak nie jeletný èas, <strong>na</strong>stavte prvok wMonth <strong>na</strong> nuluStandardBias – štandardné prispôsobenie minúty <strong>na</strong> prevod <strong>na</strong> štandardný èas;obyèajne nulaDaylightName – meno letného èasu pre túto zónuDaylightDate – dátum a èas UTC (Universal Time Coordi<strong>na</strong>tion), keï sa štandardný èasmení <strong>na</strong> letný èas; ak nie je letný èas, <strong>na</strong>stavte prvok wMonth <strong>na</strong> nuluDaylightBias – poèet minút, ktoré sa pridajú poèas letného èasuVýsledok funkcie: DWORD: Ak sa funkcia <strong>sk</strong>onèila úspešne, vráti jednu z <strong>na</strong>sledujúcichhodnôt: TIME_ZONE_ID_UNKNOWN – Windows nemôu nájs aktuálnu èasovú zónu.Toto sa môe objavi, pokia¾ je volaná funkcia SetTimeZoneInformation a štruktúraTIME_ZONE_INFORMATION neobsahuje príslušné dáta. TIME_ZONE_ID_STANDARD –táto hodnota z<strong>na</strong>mená, e Windows <strong>na</strong>šli èasovú zónu, ktorá je v rozsahu štandard−ného èasu. TIME_ZONE_ID_DAYLIGHT – indikuje, e Windows zistili èasovú zónu, ktoráje v rozsahu letného èasu. Ak je vrátená hodnota 0xFFFFFFFF, pouite funkciuGetLastError, aby ste zistili príèinu chyby.GetUserDefaultLangIDWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno kernel32.lib kernel32.incFunkcia GetUserDefaultLangID vráti identifikátor jazyka (LANGID) implicitnej lokalizáciepouívate¾a.Syntax: LANGID GetUserDefaultLangIDTáto funkcia nemá iadne parametre.Výsledok funkcie: LANGID: Ak sa funkcia <strong>sk</strong>onèila úspešne, vráti ID jazyka implicitnejlokalizácie pouívate¾a.GetUserDefaultLCIDWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno kernel32.lib kernel32.incFunkcia GetUserDefaultLCID vráti identifikátor lokalizácie (LCID) implicitnej lokalizáciepouívate¾a. Je to aktuál<strong>na</strong> lokalizácia okrem lokalizácie threadu, ktorá je <strong>na</strong>stavená vola−ním funkcie SetThreadLocale.Syntax: LCID GetUserDefaultLCIDTáto funkcia nemá iadne parametre.Výsledok funkcie: LCID: Ak sa funkcia <strong>sk</strong>onèila úspešne, vráti ID lokalizácie implicitnejlokalizácie pouívate¾a.GetVersionWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno kernel32.lib kernel32.inc118 PC REVUE 1/2003

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

Saved successfully!

Ooh no, something went wrong!