mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk

mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk

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

P R O G R A M U J E M EG:= GetGValue(Color);B:= GetBValue(Color);ColorToHex:=IntToHex(R,2)+IntToHex(G,2)+IntToHex(B,2);end;Vytvorili sme si funkciu ColorToHex s jedným vstupnýmparametrom typu Integer a výstupným String. V rámci pro−cedúry vytvorené premenné R, G, B sú prezentované spomí−nanými farbami. Funkcia GetRValue zisuje zúèastnenosèervenej farby v premennej Color dekadického celoèíselnéhotypu Integer, èo sa odzrkadlí na hodnote premennej R. Ta−kýmto postupom prejdú aj dve zvyšné premenné G, B.Posledným krokom je prevod R, G, B do tvaru hex.AKO PRIRADI TYP SÚBORU K VAŠEJ APLIKÁ−CII. Štandardný problém, vznikajúci pri vytváraní apliká−cie so vstupno−výstupným charakterom, kde príslušný for−mát dostáva vami pridelenú koncovku. Mnohí z vás dopo−sia¾ nepoznajú vetvu registrov, kde sa priradenie jednotli−vého typu súboru vytvára. Preto si zopakujeme aj s nímspojený zápis do registrov....Var Reg : TRegistry;BeginReg := TRegistry.Create;trywith Reg do beginRootKey := HKEY_CLASSES_ROOT;OpenKey(‘MyApp’, True);WriteString(‘’, ‘MyApp File’);CloseKey;OpenKey(‘MyAppDefaultIcon’, True);WriteString(‘’, Application.ExeName + ‘,0’);CloseKey;OpenKey(‘MyAppshellopencommand’, True);WriteString(‘’, Application.ExeName + ‘ “%1”’);CloseKey;RootKey := HKEY_CLASSES_ROOT;OpenKey(‘.ext’, True);WriteString(‘’, ‘MyApp’);CloseKey;end;finallyReg.CloseKey;Reg.Free;end;End;Prv ne pouijeme uvedený zápis, musíme obohatiklauzulu uses o kninicu registry. Po vytvorení premennejreg triedy Tregistry otvárame vetvu HKEY_CLASSES_ROOT, kde tvoríme k¾úè, v našom prípade MyApp. Zapí−šeme cestu k našej aplikácii MyApp File. Zatvoríme pouí−vaný k¾úè. V poslednej fáze sa dostávame k definícii kon−covky, ktorej názov pouijeme na vytvorenie k¾úèa, kdezapíšeme názov aplikácie MyApp. Po ukonèení práce sregistrami uvo¾níme pamä a hor’ sa pouíva náš novýprogram...AKO OTVORI ŠTART MENU?Sendmessage(Application.Handle,WM_SYSCOMMAND,SC_TASKLIST,0);Nieeby som vás podceòoval, e neviete kliknú naštart, ale toto je akousi perlièkou práce s operaèným systé−mom. Nepochybujem o jej pouití, ale... Aspoò vidíme vše−strannos jediného príkazu.AKO VYPNÚ MONITOR? Slovko vypnú je v tomtomomente relatívne, ale v koneènom dôsledku naozaj ide ojeho vypnutie. Opä vyuívame funkciu Sendmessage, lens inými parametrami. Na „prevrátenie“ vypínania pouí−vame zápis.Sendmessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,2);Krok spä ani nie je potrebné vykonáva, lebo OS Win−dows sa o to okamite postará za vás.Ale keby sa predsa len nieèo stalo, tak z funkcie urobí−me inverznú takto.Sendmessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,−1);JE NAINŠTALOVANÁ ZVUKOVÁ KARTA? Odpo−veï na túto otázku dostaneme z funkcie WaveOutGetNum−Devs, ktorá vracia hodnotu, lepšie povedané, èíslo zaria−denia, o ktorom vieme, e ak je väèšie ako nula, vtedy nieje nainštalovaná mono ani zapojená v testovanom PC.Spomínaná funkcia vyuíva kninicu MMSystem, ktorútreba dopísa do klauzuly uses.Function IsSoundCardInstalled:Boolean;BeginResult:=(waveOutGetNumDevs>0);End;AKO VYKONÁME KROK SPÄ V MEMO? Mno−stvo programov vyuíva jednoduchý editor, ktorý jeponúknutý pod názvom memo. Ide azda o najrýchlejší, aleaj najjednoduchší komponent svojho druhu, ktorý sob¾ubou pouívam. Problémom vdy bolo vykona krokspä èie undo. Myslím, e kadý správny program by maltúto monos ponúknu. Jedným z riešení je vyui dvakomponenty memo, prièom jeden oneskorujeme za dru−hým o krok. Po stlaèení sa oneskorený text prenesie. Taktoto u nikdy nerobte! Staèí, ak napíšete jeden riadok.Memo1.Perform(EM_UNDO,0,0);JE V ZARIADENÍ MÉDIUM? Èastá otázka pri èaka−ní na vloenie média do diskového zariadenia, za ktoré bu−deme povaova CD. Relatívne jednoduchá rutina to zistíza vás.function DiskInDrive(Drive: Char): Boolean;var ErrorMode: word;beginif Drive in [‘a’..’z’] then Dec(Drive, $20);if not (Drive in [‘A’..’Z’]) then raiseEConvertError.Create(‘Not a valid drive ID’);ErrorMode := SetErrorMode(SEM_FailCriticalErrors);tryif DiskSize(Ord(Drive) − $40) = −1 thenResult := FalseelseResult := True;finallySetErrorMode(ErrorMode);end;end;KTO JE PRIHLÁSENÝ? S príchodom Windows XP sarozbúrilo prihlasovanie jednotlivých pouívate¾ov s ichpouívate¾skými nastaveniami do operaèného systému. Tomôeme vyui aj pri našich aplikáciách, kde nám všetkuprácu vykoná funkcia GetUserName. Jej pouitie nie je ataké jasné, a preto si radšej ukáeme, kde a ako túto funk−ciu poui.procedure TForm1.FormCreate(Sender: TObject);var NameBuf: array[0..80] of Char;SizeBuf: LongWord;beginSizeBuf := Sizeof(NameBuf);GetUserName(NameBuf, SizeBuf);end;Meno nalogovaného pouívate¾a sa ukladá do premen−nej NameBuf, obmedzenej na osemdesiat znakov. Vieme,e pole char sa správa ako string, a preto ho môeme zob−razi napríklad aj takto.Showmessage(NameBuf);AKO ZMENI POZADIE? Vzh¾ad pracovnej plochynie je prvoradý. Myslím, e kadý kladie dôraz na výkon.Patrí však k operaènému systému a neraz spríjemní prá−cu, prípadne rozveselí. A pre laika je urèite tým naj...na celom poèítaèi. Zmenu štandardne vykonávame vovlastnostiach obrazovky, kde si pozadie obmieòame.Ak chceme túto zmenu vykona prostredníctvom prog−ramu tvoreného v Delphi, je to, samozrejme, moné. Na−sledujúci zápis korektne pracuje pod Windows 9x. Vy−uíva Win32 API funkcie, konkrétne SystemParameters−Info....var img: string;beginimg := ‘c:\img.bmp’;SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,PChar(img), 0)end;Ak skutoène existuje obrázok img.bmp v koreni systé−mového disku C, vtedy je nastavený a súèasne zobrazenýna pozadí pracovnej plochy.OVLÁDACÍ PANEL. Èas OS Windows, ktorú asi kadýz vás dôverne pozná. Monosti, ktoré ponúka, sú rozdele−né do viacerých skupín. Tieto skupiny môeme ovláda po−mocou jednoduchého zápisu, prièom obmieòame jedenparameter príkazu.WinExec(‘rundll32 shell32.dll,Control_RunDLLX’,SW_SHOW);Nasledujúca tabu¾ka obsahuje všetky variácie, prièomza X dosadíme text z tabu¾ky.Panel1 Control Panel2 Display desk.cpl3 Mouse main.cpl4 Multimedia MMSys.cpl5 Date TimeDate.cpl6 Desktop Themes.cpl7 System SysDm.cpl8 Power PowerCfg.cpl9 Network NETcpl.cpl10 Regional Settings Intl.cpl11 Internet InetCpl.cpl12 Add/Remove Programs AppWiz.cpl13 Keyboard main.cpl,Keyboard14 Printers main.cpl,Printers15 Fonts main.cpl,Fonts16 Sounds MMSYS.CPL,Sounds17 Modem modem.cpl18 Scanner Sticpl.cplTak napríklad na zobrazenie správy napájania pouijemezápis:WinExec(‘rundll32 shell32.dll,Control_RunDLLPowerCfg.cpl’, SW_SHOW);Takto môeme našu aplikáciu aspoò sèasti skåbi s ope−raèným systémom, èím si ušetríme prácu s vytváranímnových polyfunkèných okien. A vlastne preèo robi nieèo,èo u dávno niekto urobil?NABUDÚCE. Nabudúce si nieèo povieme o hardvéri akomunikácii s ním. Ukáeme a vysvetlíme si zápisy na ziste−nie aktuálnej frekvencie procesora a podobné „halušky“. Omesiac dovidenia.Jozef KOZÁK ml.X7/2002 PC REVUE 127

P R O G R A M U J E M EAssembler pod Windows19. èas: ScrollBar IScrollBar alebo jednoducho rolovací pruh sa v programoch pre Windows pouíva ve¾mièasto. Väèšinou v aplikácii (príkladom môe by program Microsoft Word) zobrazujemetexty, grafiku, ktorá presahuje rozmery okna. V tom prípade sa pouije pre dané oknorolovací pruh a pouívate¾ si tak môe prezrie celý dokument. Teda scrollbar by ste malipoui všade tam, kde klientska oblas je väèšia ne èas okna urèená na jej zobrazenie.Ïalej rolovací pruh môete poui na zadávanie pribliných hodnôt (pozri príklad k tomu−to èlánku – nájdete ho na www.pcrevue.sk).ScrollBar je dcérske okno. ScrollBar sa vytvára pomocou funkcie CreateWindow alebodefinovaním v resource súbore príkazom SCROLLBAR (pozri obrázok 2). ScrollBar je pri−pojený k okraju okna v okamihu, keï sa ScrollBar stáva vidite¾ným. Na tento úèel sapouíva funkcia ShowScrollBar, podobne ako ShowWindow pri iných typoch okien.Rozdiel je však v tom, e funkcia ShowScrollBar pripojí rolovací pruh k okraju okna pod¾atoho, èi je urèený štýl SB_HORZ alebo SB_VERT. Windows po zobrazení ScrollBaru auto−maticky odpoèíta šírku rolovacieho pruhu z klientskej oblasti, a teda zápis do klientskejoblasti neprekreslí rolovací pruh. Iný spôsob, ako pripoji rolovací pruh, je vytvori oknoso štýlmi WS_HSCROLL a WS_VSCROLL. Rolovacie pruhy sú tie automaticky pripájané koknám typu list box, combo box, listview, treeview a pod. Zobrazia sa vdy, keï poèetpoloiek prekroèí rozmery daného okna.Obr. 1Pri vytvorení rolovacieho pruhu je rozsah hodnôt reprezentovaný jednotlivými konca−mi tohto prvku. Je nastavený na 0 a 100. V mnohých prípadoch musí aplikácia totonastavenie zmeni, aby lepšie vystihla ve¾kos daného dokumentu. Pozícia umiestnenia(thumb position) je potom hodnota vyjadrujúca pozíciu ukazovate¾a na lište. Napríklad akje rozsah nastavený medzi 0 a 100 a pozícia umiestnenia je 50, potom sa ukazovate¾bude nachádza presne uprostred lišty medzi jej oboma koncami. Pri rolovacích pruhochje aj monos nastavi ve¾kos strany. Ve¾kos strany (Page Size) je èíslo, ktoré urèuje, oko¾ko jednotiek sa strana v nastavenom rozsahu posunie naraz. Ak zoberieme do úvahyrozsah od 0 do 100 a ve¾kos strany 50, potom bude ukazovate¾ na poloviènej ve¾kosticelého rolovacieho pruhu. Na nastavenie a zistenie rozsahu, pozície umiestnenia ave¾kosti strany rolovacieho pruhu sa pouívajú funkcie SetScrollInfo a GetScrollInfo.V prípade, e pouívate¾ klikne na èas rolovacieho pruhu, Windows v závislosti odorientácie (rolovacieho pruhu) pošle správu WM_HSCROLL alebo WM_ VSCROLL.WM_HSCROLLnScrollCode = (int) LOWORD(wParam); // scroll bar valuenPos = (short int) HIWORD(wParam); // scroll box positionhwndScrollBar = (HWND) lParam; // handle of scroll barnScrollCode – nišie slovo parametra wParam (pozri obrázok 1). Reprezentuje hodnoturolovacieho pruhu, táto hodnota môe by jedna z nasledujúcich:SB_BOTTOM – posun úplne vpravo alebo dole,SB_TOP – posun úplne v¾avo alebo hore,SB_LINELEFT– posun o šírku znaku v¾avo,SB_LINERIGHT – posun o šírku znaku vpravo,SB_PAGELEFT – posun v¾avo o šírku okna,SB_PAGERIGHT – posun vpravo o šírku okna.SB_THUMBPOSITION – posun na absolútnu pozíciu. Aktuálna pozícia je špecifikovanáparametrom nPos.SB_THUMBTRACK – thumb (ukazovate¾) je práve posúvaný myšou. Aktuálna pozícia ješpecifikovaná parametrom nPos.SB_ENDSCROLL – ukonèenie posúvania.nPos – vyššie slovo parametra wParam. Urèuje aktuálnu pozíciu scroll boxu, ak jenScrollCode parameter SB_THUMBPOSITION alebo SB_THUMBTRACK; inak, nPos jenevyuitý.Obr. 2hwndScrollBar – hodnota lParam – handle scrollbaru. Identifikuje prvok, ak je správaWM_HSCROLL poslaná scrollbar prvku. V prípade poslania správy WM_HSCROLL štan−dardnému scrollbaru v oknách hwndScrollBar je nevyuitý.Z parametra wParam získate hodnoty position a scroll code pomocou nasledujúcichriadkov v Assembleri:...LOCAL code : DWORD, pos....IF uMsg == WM_HSCROLLmov eax,wParamand eax,0ffffhmov code,eax ;scroll codemov eax,wParamshr eax,16mov pos,eax ;position...WM_VSCROLLnScrollCode = (int) LOWORD(wParam); // scroll bar valuenPos = (short int) HIWORD(wParam); // scroll box positionhwndScrollBar = (HWND) lParam; // handle of scroll barHodnoty nScrollCode, nPos a hwndScrollBar majú rovnaký význam. Hodnota nScroll−Code však nadobúda trochu odlišné hodnoty, èo je spôsobené orientáciou Scrollbaru (ver−tikálny, horizontálny).SB_LINEDOWN – posun o jeden riadok dole,SB_LINEUP – posun o jeden riadok hore,SB_PAGEDOWN – posun o jednu stránku dole,SB_PAGEUP – posun o jednu stránku hore.EnableScrollBarWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia zakazuje alebo povo¾uje èinnos jednej alebo obidvoch šípok scrollbaru. Pokia¾ jescrollbar takto odpojený a pouívate¾ sa ho snaí poui, nenastane nijaká akcia ani nie jeposlaná iadna správa.Syntax: BOOL EnableScrollBar, HWND hWnd, UINT wSBflags, UINT wArrowsHWND hWnd: Handle na okno alebo scrollbar v závislosti od hodnoty parametrawSBflags.UINT wSBflags: Typ scrollbaru, pri ktorom sa má povoli èi zakáza èinnos. Tentoparameter môe nadobúda jednu z nasledujúcich hodnôt.SB_BOTH – povolí alebo zakáe èinnos horizontálneho aj vertikálneho scrollbaru spoje−ného s príslušným oknom. Parameter hWnd musí by handle na dané okno.SB_CTL – identifikuje scrollbar ako riadiaci prvok. Parameter hWnd musí by handle napoadovaný scrollbar.SB_HORZ – povolí alebo zakáe èinnos horizontálneho scrollbaru spojeného s danýmoknom. Parameter hWnd musí by handle na dané okno.SB_VERT – povolí alebo zakáe èinnos vertikálneho scrollbaru spojeného s danýmoknom. Parameter hWnd musí by handle na dané okno.UINT wArrows: Urèuje, èi èinnos šípok scrollbaru je povolená alebo zakázaná, a takistoukazuje, ktoré šípky majú svoju èinnos povolenú, resp. zakázanú. Tento parametermôe nadobúda jednu z nasledujúcich hodnôt.128 PC REVUE 7/2002

P R O G R A M U J E M EG:= GetGValue(Color);B:= GetBValue(Color);ColorToHex:=IntToHex(R,2)+IntToHex(G,2)+IntToHex(B,2);end;Vytvorili sme si funkciu ColorToHex s jedným vstupnýmparametrom typu Integer a výstupným String. V rámci pro−cedúry vytvorené premenné R, G, B sú prezentované spomí−<strong>na</strong>nými farbami. Funkcia GetRValue zisuje zúèastnenosèervenej farby v premennej Color dekadického celoèíselnéhotypu Integer, èo sa odzrkadlí <strong>na</strong> hodnote premennej R. Ta−kýmto postupom prejdú aj dve zvyšné premenné G, B.Posledným krokom je prevod R, G, B do tvaru hex.AKO PRIRADI TYP SÚBORU K VAŠEJ APLIKÁ−CII. Štandardný problém, vznikajúci pri vytváraní apliká−cie so vstupno−výstupným charakterom, kde príslušný for−mát dostáva vami pridelenú koncovku. Mnohí z vás dopo−sia¾ nepoz<strong>na</strong>jú vetvu registrov, kde sa priradenie jednotli−vého typu súboru vytvára. Preto si zopakujeme aj s nímspojený zápis do registrov....Var Reg : TRegistry;BeginReg := TRegistry.Create;trywith Reg do beginRootKey := HKEY_CLASSES_ROOT;OpenKey(‘MyApp’, True);WriteString(‘’, ‘MyApp File’);CloseKey;OpenKey(‘MyAppDefaultIcon’, True);WriteString(‘’, Application.ExeName + ‘,0’);CloseKey;OpenKey(‘MyAppshellopencommand’, True);WriteString(‘’, Application.ExeName + ‘ “%1”’);CloseKey;RootKey := HKEY_CLASSES_ROOT;OpenKey(‘.ext’, True);WriteString(‘’, ‘MyApp’);CloseKey;end;fi<strong>na</strong>llyReg.CloseKey;Reg.Free;end;End;Prv ne pouijeme uvedený zápis, musíme obohatiklauzulu uses o kninicu registry. Po vytvorení premennejreg triedy Tregistry otvárame vetvu HKEY_CLASSES_ROOT, kde tvoríme k¾úè, v <strong>na</strong>šom prípade MyApp. Zapí−šeme cestu k <strong>na</strong>šej aplikácii MyApp File. Zatvoríme pouí−vaný k¾úè. V poslednej fáze sa dostávame k definícii kon−covky, ktorej názov pouijeme <strong>na</strong> vytvorenie k¾úèa, kdezapíšeme názov aplikácie MyApp. Po ukonèení práce sregistrami uvo¾níme pamä a hor’ sa pouíva náš novýprogram...AKO OTVORI ŠTART MENU?Sendmessage(Application.Handle,WM_SYSCOMMAND,SC_TASKLIST,0);Nieeby som vás podceòoval, e neviete kliknú <strong>na</strong>štart, ale toto je akousi perlièkou práce s operaèným systé−mom. Nepochybujem o jej pouití, ale... Aspoò vidíme vše−strannos jediného príkazu.AKO VYPNÚ MONITOR? Slovko vypnú je v tomtomomente relatívne, ale v koneènom dôsledku <strong>na</strong>ozaj ide ojeho vypnutie. Opä vyuívame funkciu Sendmessage, lens inými parametrami. Na „prevrátenie“ vypí<strong>na</strong>nia pouí−vame zápis.Sendmessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,2);Krok spä ani nie je potrebné vykonáva, lebo OS Win−dows sa o to okamite postará za vás.Ale keby sa predsa len nieèo stalo, tak z funkcie urobí−me inverznú takto.Sendmessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,−1);JE NAINŠTALOVANÁ ZVUKOVÁ KARTA? Odpo−veï <strong>na</strong> túto otázku dostaneme z funkcie WaveOutGetNum−Devs, ktorá vracia hodnotu, lepšie povedané, èíslo zaria−denia, o ktorom vieme, e ak je väèšie ako nula, vtedy nieje <strong>na</strong>inštalovaná mono ani zapojená v testovanom PC.Spomí<strong>na</strong>ná funkcia vyuíva kninicu MMSystem, ktorútreba dopísa do klauzuly uses.Function IsSoundCardInstalled:Boolean;BeginResult:=(waveOutGetNumDevs>0);End;AKO VYKONÁME KROK SPÄ V MEMO? Mno−stvo programov vyuíva jednoduchý editor, ktorý jeponúknutý pod názvom memo. Ide azda o <strong>na</strong>jrýchlejší, aleaj <strong>na</strong>jjednoduchší komponent svojho druhu, ktorý sob¾ubou pouívam. Problémom vdy bolo vyko<strong>na</strong> krokspä èie undo. Myslím, e kadý správny program by maltúto monos ponúknu. Jedným z riešení je vyui dvakomponenty memo, prièom jeden one<strong>sk</strong>orujeme za dru−hým o krok. Po stlaèení sa one<strong>sk</strong>orený text prenesie. Taktoto u nikdy nerobte! Staèí, ak <strong>na</strong>píšete jeden riadok.Memo1.Perform(EM_UNDO,0,0);JE V ZARIADENÍ MÉDIUM? Èastá otázka pri èaka−ní <strong>na</strong> vloenie média do di<strong>sk</strong>ového zariadenia, za ktoré bu−deme povaova CD. Relatívne jednoduchá ruti<strong>na</strong> to zistíza vás.function Di<strong>sk</strong>InDrive(Drive: Char): Boolean;var ErrorMode: word;beginif Drive in [‘a’..’z’] then Dec(Drive, $20);if not (Drive in [‘A’..’Z’]) then raiseEConvertError.Create(‘Not a valid drive ID’);ErrorMode := SetErrorMode(SEM_FailCriticalErrors);tryif Di<strong>sk</strong>Size(Ord(Drive) − $40) = −1 thenResult := FalseelseResult := True;fi<strong>na</strong>llySetErrorMode(ErrorMode);end;end;KTO JE PRIHLÁSENÝ? S príchodom Windows XP sarozbúrilo prihlasovanie jednotlivých pouívate¾ov s ichpouívate¾<strong>sk</strong>ými <strong>na</strong>staveniami do operaèného systému. Tomôeme vyui aj pri <strong>na</strong>šich aplikáciách, kde nám všetkuprácu vykoná funkcia GetUserName. Jej pouitie nie je ataké jasné, a preto si radšej ukáeme, kde a ako túto funk−ciu poui.procedure TForm1.FormCreate(Sender: TObject);var NameBuf: array[0..80] of Char;SizeBuf: LongWord;beginSizeBuf := Sizeof(NameBuf);GetUserName(NameBuf, SizeBuf);end;Meno <strong>na</strong>logovaného pouívate¾a sa ukladá do premen−nej NameBuf, obmedzenej <strong>na</strong> osemdesiat z<strong>na</strong>kov. Vieme,e pole char sa správa ako string, a preto ho môeme zob−razi <strong>na</strong>príklad aj takto.Showmessage(NameBuf);AKO ZMENI POZADIE? Vzh¾ad pracovnej plochynie je prvoradý. Myslím, e kadý kladie dôraz <strong>na</strong> výkon.Patrí však k operaènému systému a neraz spríjemní prá−cu, prípadne rozveselí. A pre laika je urèite tým <strong>na</strong>j...<strong>na</strong> celom poèítaèi. Zmenu štandardne vykonávame vovlastnostiach obrazovky, kde si pozadie obmieòame.Ak chceme túto zmenu vyko<strong>na</strong> prostredníctvom prog−ramu tvoreného v Delphi, je to, samozrejme, moné. Na−sledujúci zápis korektne pracuje pod Windows 9x. Vy−uíva Win32 API funkcie, konkrétne SystemParameters−Info....var img: string;beginimg := ‘c:\img.bmp’;SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,PChar(img), 0)end;Ak <strong>sk</strong>utoène existuje obrázok img.bmp v koreni systé−mového di<strong>sk</strong>u C, vtedy je <strong>na</strong>stavený a súèasne zobrazený<strong>na</strong> pozadí pracovnej plochy.OVLÁDACÍ PANEL. Èas OS Windows, ktorú asi kadýz vás dôverne pozná. Monosti, ktoré ponúka, sú rozdele−né do viacerých <strong>sk</strong>upín. Tieto <strong>sk</strong>upiny môeme ovláda po−mocou jednoduchého zápisu, prièom obmieòame jedenparameter príkazu.WinExec(‘rundll32 shell32.dll,Control_RunDLLX’,SW_SHOW);Nasledujúca tabu¾ka obsahuje všetky variácie, prièomza X dosadíme text z tabu¾ky.Panel1 Control Panel2 Display de<strong>sk</strong>.cpl3 Mouse main.cpl4 Multimedia MMSys.cpl5 Date TimeDate.cpl6 De<strong>sk</strong>top Themes.cpl7 System SysDm.cpl8 Power PowerCfg.cpl9 Network NETcpl.cpl10 Regio<strong>na</strong>l Settings Intl.cpl11 Internet InetCpl.cpl12 Add/Remove Programs AppWiz.cpl13 Keyboard main.cpl,Keyboard14 Printers main.cpl,Printers15 Fonts main.cpl,Fonts16 Sounds MMSYS.CPL,Sounds17 Modem modem.cpl18 Scanner Sticpl.cplTak <strong>na</strong>príklad <strong>na</strong> zobrazenie správy <strong>na</strong>pájania pouijemezápis:WinExec(‘rundll32 shell32.dll,Control_RunDLLPowerCfg.cpl’, SW_SHOW);Takto môeme <strong>na</strong>šu aplikáciu aspoò sèasti <strong>sk</strong>åbi s ope−raèným systémom, èím si ušetríme prácu s vytváranímnových polyfunkèných okien. A vlastne preèo robi nieèo,èo u dávno niekto urobil?NABUDÚCE. Nabudúce si nieèo povieme o hardvéri akomunikácii s ním. Ukáeme a vysvetlíme si zápisy <strong>na</strong> ziste−nie aktuálnej frekvencie procesora a podobné „halušky“. Omesiac dovidenia.Jozef KOZÁK ml.X7/2002 PC REVUE 127

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

Saved successfully!

Ooh no, something went wrong!