2+4-87-9/2001
Chcel by som reagova na editorial z júlového èísla. Priznám sa, e nie som Vaím stálym odberate¾om, ale bol som ním pri zrode Váho èasopisu, v èase, keï obsa- hoval ete len pár strán. Neskôr vak prili rôzne povinnosti a svet výpoètovej techniky som prestal sledova. Júlové èíslo som si kúpil pre nutnos kúpy kopírky a zorientovanie sa, èo trh ponúka a za aké ceny. Ve¾mi vhod mi priiel Vá test týchto zariadení. Hneï ako som si preèítal editorial, rozhodol som sa, e Vám napíem.
Obsah tohto èlánku sa dá v skratke nazva ako trefa do èierneho. Stopercentne s pánom Drobným súhlasím. Myslím, e únik mozgov je jeden z najzávanejích problémov, ktoré trá- pia transformujúce sa krajiny, a tie si myslím, e tento fakt sa u nás ve¾mi podceòuje. Pretoe ak si nevykolíme vlastných odborníkov alebo pustíme u existujúcich, cudzích pre stav eko- nomiky nepritiahneme, a keï nebudeme ma odborníkov, stav ekonomiky sa nezlepí. Ja dia¾kovo tudujem na Ekonomickej univerzite, Fakulte hospodárskej informatiky, nastupujem do 3. roèníka. S tým, èo pán Drobný napísal, môem opä len súhlasi. Zavedenie kreditného systému v kolách bola chyba. Aj v èase tvrdého trhového mechanizmu by si koly mali zacho- va svoju podstatu, a síce sprostredkova znalosti pedagógov pre ïalie generácie a prakticky ich pripravi na prax. Ale tudent potrebuje urèitú vo¾nos, aby nebol pod tlakom kreditného systému, aby vedel, e sa uèí pre nadobudnutie vedomostí, a nie preto, aby dosiahol stano- vený poèet kreditov a preliezol do ïalieho roèníka. Taktie bada ve¾ké rozdiely v prístupe docentov. Malo by sa zaèa u ¾udí, klás ve¾ký dôraz na koly (a nielen vysoké) z ¾udského (etic- kého) aj profesionálneho h¾adiska, aby ïalie generácie urobili menej chýb ako tie pred nimi, a aj ekonomika Slovenska sa zlepí.
S jedným odsekom vak nie celkom súhlasím. A síce s tým, èo sa týka slovenských firiem a ich prístupu k vysokokolákom. Áno, morálna, profesionálna a etická rozh¾adenos èerstvých absolventov sa zníila. Ale na obranu tudentov: èo robia slovenské firmy pre to, aby získali kvalifikovaného pracovníka? Èakajú, e trh za nich tento problém vyriei. Preèo nejdú do tých- to kôl, neponúknu praktické zakolenie urèitého tudenta (tudentov) ete poèas jeho túdia s protihodnotou pracovnej zmluvy na dobu urèitú, povedzme 10 rokov? Tým firmy získajú pra- covníkov itých na mieru, zabráni sa úniku mozgov a tudenti budú ma kde získa praktic- ké skúsenosti. Ako som u spomenul, ¾udia musia zmeni svoj prístup v kadodennom ivote, a to od robotníka a po generálneho riadite¾a.
Ete sa chcem vyjadri k celému èasopisu. Od svojho vzniku ste u urèite nazbierali tisí- ce pochvalných listov, ja sa k nim môem len prida. Ve¾mi dobrý prvý dojem robí hlavne nízka cena èasopisu, prijate¾ná urèite pre kadého. Samozrejmé sú strany s reklamou, ako by ste inak získali financie na udranie ceny. Udrali ste si pôvodnú truktúru èlánkov, pri- dali zaujímavé nové, pri profesionálnom vyhotovení. Nie je ve¾a slovenských èasopisov s IT tematikou, take smelo do toho. Raso z Bratislavy
Milá redakcia PCR, k napísaniu tohto listu ma donútila rubrika Pota v PCR 7/01. Som predplatite¾om a dlhoroèným vaím stálym èitate¾om ako mnoho iných, a preto ma teí, e aj vy ste si uvedomili, e akciovou cenou ste poteili len nepredplatite¾ov, a preto ste sa rozhodli nám to kompenzova darèekom v hodnote 46,50 Sk. K obsahu èlánku nemám vánejie výhrady, no aj sami si u azda uvedomujete, na aký tenký ¾ad vás tento èlá- nok priviedol. Keby ste ho boli uverejnili v samostatnej prílohe, boli by ste mimo týchto podo- zrení z klientelizmu a vaa reputácia by takto neutrpela. Chceli ste potei èitate¾ov a miesto toho ste ich len sklamali, pretoe èlánok, ako ste sami pri jeho finiovaní zistili, bol z ve¾kej miery vïaka zmenám cenníka ST neaktuálny a v koneènom dôsledku zavádzajúci. Jednoducho ste sadli marketingovému oddeleniu ST na lep. Boli ste zneuití, a preto by ste im nemali takýto podraz necha prejs, veï len vïaka ich èlánku ste centrom kritiky a mám pocit, e èís- lom 6/2001 ste viac stratili ako získali. Koneèný úèet za túto chybu budete spláca ete dlho, mono a o rok budete môc analyzova vetky dôsledky. Mali by ste sa asi pekne poïakova tomu, kto vás do tejto veci zatiahol. Ak vak nechcete strati tvár úplne, mali by ste uverej- ni v najbliom èísle doplnkový èlánok na túto tému. A prípadne váne pouvaova nad uve- rejòovaním ïalej inzercie od ST, veï to je koniec koncov jediný vá spôsob, ako sa bráni voèi
neférovému správaniu vaich klientov. (Verejné ospravedlnenie z nich asi nedostanete.) Mali vám predsa hneï na zaèiatku poveda o plánovanej zmene cenníka, veï kompetentní to dobre vedeli aspoò pol roka dopredu, azda by ste, aspoò dúfam, ten èlánok napísali v inom duchu. Mne osobne by ich inzercia nechýbala a vy, myslím, takisto nie ste na nich odkázaní. Pokia¾ správne uvaujem, tak ste odkázaní len na svojich èitate¾ov a tí poadujú kvalitné, vyváené a aj kritické èlánky. Veï kto iný ako vy novinári sa nás má zasta pred zavádzajúcou reklamou, nekvalitou, predraeným tovarom èi slubami? Za to, aby ste hájili nae záujmy, vás predsa platíme. Tým z vás, ktorí sa teraz pousmiali, e z ceny èasopisu by ste nemali ani na slanú vodu, musím pripomenú, e bez èitate¾ov nebude ani inzercia, jedine ak taká, ako bola vo VTV. Ale to si iste uvedomujete.
U dávnejie som si vimol, e pouívate komplet PDF portfólio, a preto ma zaujíma monos odobera PCR elektronicky. Technicky by to predsa realizovate¾né bolo. Kadé jedno PDF by sa pre jednotlivého klienta generovalo samostatne s unikátnym heslom a pri rozumnej kompresii by ve¾kos dokumentu nepresiahla 8 MB, èo by pre takýchto e-predplatite¾ov iste nebol problém. Vy by ste uetrili nemalé prostriedky za litografie, tlaè, papier a distribúciu, za èo by ste takto distribuovaným èasopisom mohli zníi cenu, prípadne odstráni inzerciu èi pre- transformova ju len do textovej podoby, tým by opä klesol objem dát mono aj na 2 MB. A my by sme si mohli pohodlne a rýchlo vyh¾adáva pojmy a témy aj v starích èíslach a, pocho- pite¾ne, vetky linky na inet by boli ivé, a nakoniec aj inzercia.
Ide mi len o to, ma èerstvejie informácie a vám zároveò uetri za tlaè, veï ak by ste mali 2000 takýchto predplatite¾ov, mohlo by to by u zaujímavé. Inzerenti by neboli vôbec ukrá- tení, veï ich odkazy by mohli by aktívnejie smerom na internet. Predsa len je pohodlnejie jednoducho kliknú na inzerát myou ako vsta z kresla, ís k poèítaèu, zapnú ho a opísa link, ktorý je v mojom èasopise na stole. Uvítal by som aspoò akúsi podobu FTP prístupu, kde by boli vetky èlánky (trebárs v PDF) hneï po ich vytvorení. Zdá sa mi to praktickejie ako webová prezentácia, lebo by som hneï videl, èo pribudlo, a navye by som nemusel by stále on line. A taktie by to bolo lepie ako celé PCR v jednom PDF. Táto sluba by mohla by pre predplatite¾ov a kadý by mal svoj login. Alebo platená, povedzme 30 Sk/mes. Pouvaujte nad tým, ja budem prvý takýto predplatite¾.
P.S.: Robte viac reklamy sami sebe a PCREVUE.SK. Aspoò jedna A6. Mono by stálo za pokus ma viac foriem predplatného. Ak momentálne máte dve, a to s CD alebo bez, mono by mohlo pribudnú aj so spomínaným FTP alebo povedzme s vaím trièkom, veï ak niekto dá 624 Sk, dá aj 650 èi 700. Menej zakopnutí vám praje Martin Pavlík
Ïakujeme za názor, pokúsim sa reagova. Èo sa stalo, u sa neodstane... Neastné naèaso- vanie úpravy cien spôsobilo, e uverejnenie prílohy o ISDN v júnovom PCR vyvolalo aj takéto reakcie a my sme sa nechtiac stali obetným baránkom. Keby sa ceny menili dajme tomu o pol roka neskôr, výsledný efekt prílohy by bol úplne iný, èi u by to bola vo¾ná príloha, alebo súèas èísla, a to nielen pre nás, ale najmä pre ST. Na ilustráciu výroby júnovej prílohy uvediem, e nejaké zmeny sa robili u v èase, keï èas èísla bola vytlaèená v tlaèiarni!
Èi sme sadli na lep ST, to si nemyslím, pod¾a mòa v tom nebol zámer, ale znaèná nekoor- dinovanos vnútri ST. Doplnkový èlánok môeme uverejni, ale neviem, èi by nieèo vyrieil, lebo vetky podstatné technické informácie vyli u v prílohe. Jediné, èo by ¾udí mohlo za- ujíma, je, e u nezaplatia tých 2,50 za hodinu surfovania v noci, ale to u dávno vedia, veï to koniec koncov bolo uverejnené aj na konci neastnej júnovej prílohy.
Neviem, èi by sme ST vytrestali, keby sme im prestali uverejòova inzerciu, viem len, e keï je inzercie viac, môeme prida viac strán do èísla. Vïaka tomu sa nám aj darí udra ¾udovú cenu èasopisu, take potom otázka, koho by sme vytrestali, vyzerá úplne ináè.
Samozrejme, e ná úspech je postavený na záujme naich èitate¾ov a pod¾a ich pre- ferencií, pripomienok a názorov sa snaíme neustále ná èasopis aj zlepova.
Kompletné èísla v PDF dávame raz za kvartál na cédeèko (budúci rok to bude èastejie), technicky nie je problém to robi paralelne s papierovým PCR u teraz, len to musí ma opodstatnenie. Pokia¾ bude paralelne existova papierové PCR, tak nám to náklady neuetrí, keby sme robili len elektronickú verziu PCR bez klasickej inzercie, tak si takýto magazín nebude môc udra ani súèasnú obsahovú úroveò, ani dostupnú cenu. Ale pri- pravujeme nejakú alternatívu, aby si èitatelia mohli sahova takéto PDF z náho webu, samozrejme, za urèitých podmienok. Pouvaujeme aj nad Vaím návrhom.
Martin Drobný
Pota
inZine denne uverejòuje zaujímavé èlánky, názory, polemiky a fejtóny. Z tých najnovích vyberáme:
o Známe slovenské a èeské osobnosti, ako napríklad Ondøej Neff, Fedor Freo, Peter Breiner, Eva Boruovièová, Duan Tarage¾, Slávka Halèáková, odpovedajú v inAnkete pravidelne na aktuálne anketové otázky.
o Ostrú diskusiu v inZine vyvolal kacírsky pamflet Mira Veselého 753 slov proti Linuxu. Ortodoxní odporcovia Microsoftu a súèasne zástancovia Linuxu sa do autora pusti- li silou stredovekej inkvizície. Po èlánku obhajujúcom Windows dal inZine slovo aj druhej strane.
o Trochu záhadný Maxim E. Matkin píe pre inZine Polnoèný denník zo svojho búrlivého noèného ivota. Nadpisy ako Príli sexy pre teba èi Nové prsia, staré due dávajú tui, e denník nie je iadna nuda.
o O vráskach, prsiach, penisoch a prirodzenej kráse je nadpis rozhovoru s plas- tickým chirurgom doktorom Drahoom Palenèárom.
o Dianie na slovenskej politickej scéne komentuje v inZine politológ Erik Látic a publicista Robert itòanský.
o Aké je skutoèné pozadie diskutovaného projektu ministerstva kolstva Joga v kadodennom ivote? Doèítate sa v èlánku Jany Longauerovej.
o Výuèby etickej výchovy, náboenstva a jogy v naich kolách sa týkajú v in- Zine èlánky Róberta Zavarského a Martina tefunka.
o Viete, z akých skupín sa skladá bený dav na antiglobalistickej demontrácii? Chcete vedie, o èo jednotlivým skupinám ide? Preèítajte si èlánok Rada Ondøejíèka a on line diskusie na túto tému.
o Milovníci kina na stránkach inZinu nájdu rozsiahly filmový servis, ponúkajúci aktuálne informácie nielen o filmoch, ktoré premietajú v naich kinách. Zaujímavosou sú aj filmové televízne tipy éfredaktora inZinu Petra Pianka.
o Pre tých, èo chcú objavova neznáme a krásne zákutia na Slovensku, je urèená rubrika Tip na fototrip ¼uboa Vodièku a Bicyklové trasy Mariana Jaslovského. inZine internetový magazín na adrese www.inzine.sk
9/20012+4-87- ! UKLADANIE DÁT. Ako som pred mesiacom s¾úbil,
do náho databázového prehliadaèa pridáme monos vy- konania dopytu SQL a následného uloenia výslednej dá- tovej mnoiny do súboru (samozrejme, iba v prípade, ak príkaz nejakú dátovú mnoinu vráti, teda za predpokladu, e pouijeme príkaz select, a nie iné príkazy, ako napr. alter table èi drop table).
Na formulár pridáme tlaèidlo, ktoré nazveme SQLBtn. Jeho úlohou bude vyvolanie druhého formulára, ktorý poskytne pouívate¾ovi monos napísa dopyt SQL, spus- ti ho a uloi výsledky. Na rozdiel od hlavného formulára sa vak okno SQLForm nebude vytvára automaticky pri inicializácii programu prostredníctvom metódy Create- Form, ale vytvoríme ho manuálne. Tento spôsob práce s formulármi je síce troku menej pohodlný, etrí vak pamä, a preto by ste si naò mali zvyknú. Okno SQLForm bude modálne, preto ho nastavíme tak, aby sa nedalo minimalizova. Podobne ako hlavný formulár aj formulár SQLForm bude ma vo svojej hornej èasti umiestnený kom- ponent TPanel, zarovnaný nahor. Na tento panel umiest- nime dve tlaèidlá, prvé s názvom VykonajSQL a druhé s názvom UlozData. Vlastnos Enabled tlaèidla UlozData na- stavíme na false, pretoe po zobrazení okna SQLForm bude výsledná mnoina dát ete prázdna, a teda nemá zmysel ju uklada. Tlaèidlo sprístupníme a vtedy, keï si budeme istí, e skript SQL bol vykonaný bez problémov.
Nasledova bude pridanie komponentu TMemo, ktorý nazveme SQLQuery. Vlastnos Align nastavíme na alTop. Potom pridáme komponent TSplitter, ktorého vlastnos Align tie nastavíme na alTop. Vlastnos Cursor tohto komponentu nastavíme na crVSplit. Vïaka tomuto komponentu budeme môc zväèova èi zmenova oblas, kde bude zobrazený skript SQL. Ïalej pridáme komponent TStatusBar, prièom vlastnos SimplePanel nastavíme na true. Samozrejme, ne- smieme zabudnú na najdôleitejí komponent, ktorým je TQuery. Nazveme ho MainQuery a umiestnime ho na dátový modul dmMain. Potom pridáme komponent TDataSource, ktorý pomenujeme dsMainQuery. Nesmie chýba komponent TDBGrid, ktorý nám zobrazí výslednú mnoinu dát. Vlastnos dgEditing nastavíme na false, keïe výsledná mnoina vráte- ná dopytom SQL bude read-only. Aby bolo prezeranie úda- jov komfortnejie, pridáme aj komponent TDBNavigator.
Kód na vytvorenie a zobrazenie okna SQLForm je jed- noduchý:
procedure TMainWnd.SQLbtnClick(Sender: TObject); var Okno:TSQLForm; begin Okno:= TSQLForm.Create(Application); try Okno.ShowModal; finally Okno.Free; end;
Po zobrazení formulára bude ma pouívate¾ monos napísa dopyt SQL a spusti ho. Tento proces bude prebieha v obslunej rutine udalosti OnClick tlaèidla VykonajSQL: procedure TSQLForm.VykonajSQLClick(Sender: TOb- ject); begin try try Screen.Cursor:=crHourGlass; with dmMain.MainQuery do begin Close; DatabaseName:=MainWnd.Aliasy.Text; SQL:=SQLQuery.Lines; Open; end;//with UlozData.Enabled:=true; except raise end; finally Screen.Cursor:=crDefault; end;//finally end;
Dúfam, e vás neprekvapilo pouitie blokov try...except aj try...finally. Ten prvý je tu pre prípad, e pri vykonávaní dopytu SQL nastane výnimka, a ten druhý nám zabezpeèí, aby sa kurzor s tvarom presýpacích hodín zmenil na tan- dardný kurzor nezávisle od toho, èi bola operácia úspená, alebo nie. Mimochodom, vimnite si, e po vykonaní dopy- tu SQL sa sprístupní tlaèidlo UlozData, take údaje u bude moné koneène aj uloi.
Koneènú podobu náho programu vidíme na obrázku è. 1. Vonkají vzh¾ad aplikácie u meni nebudeme, ale vnútri programu ete nejaké zmeny urobíme.
Ak sa v budúcnosti budete venova práci s databázami, pravdepodobne narazíte na problém uloenia výsledkov dopytu SQL do súboru. Dôvody na ukladanie môu by rôzne. Môete napríklad chcie dáta editova, èo nie je moné vtedy, ak ich vyprodukoval dopyt SQL (presnejie povedané, edito- va takúto mnoinu dát je moné, sú tu vak isté dos závané obmedzenia, ktoré vo ve¾kej miere zniujú pouite¾nos ta- kéhoto rieenia). Ná program teraz upravíme tak, aby vedel výslednú mnoinu dát aj uloi. V prvom rade bude potreb- né prida na formulár SQLForm komponent TSaveDialog. Ten sa nás opýta, kam sa má výsledný súbor uloi (názov súboru bude potrebné zada aj s príponou). Výsledný súbor bude typu Paradox (DB). Samozrejme, nesmieme zabudnú ani na pridanie nového komponentu TTable, pomocou ktorého bu- de operácia ukladania realizovaná. Aby som vás nenapínal, tu je rutina, ktorá spomínané dáta uloí do súboru: procedure TSQLForm.UlozDataClick(Sender: TObject); begin
if not savedialog.Execute then exit; try try Screen.Cursor:=crHourGlass; with dmMain.OutputTable do begin DatabaseName:=ExtractFilePath(Savedialog.FileNa- me); TableName:=ExtractFileName(Savedialog.FileName); BatchMove(dmMain.MainQuery,batCopy); end;//with finally Screen.Cursor:=crDefault; end;//finally except raise end;//except end;
Jadrom tejto procedúry je metóda BatchMove, ktorá celú operáciu ukladania dát zrealizuje. Jej prvým parametrom je názov zdroja údajov a druhým je typ operácie, ktorá sa s ta- bu¾kou vykoná. Je potrebné si uvedomi, e operácia Batch- Move ovplyvní tú tabu¾ku, ktorá metódu BatchMove volá.
Prejdime teraz kpodrobnejiemu opisu jednotlivých para- metrov tejto metódy. Ako som u spomenul, prvý je zdroj dát, ktorým môe by ktorýko¾vek potomok triedy TBDE- DataSet, teda napríklad potomok triedy TTable èi TQuery. Druhým parametrom je typ operácie, ktorá bude s dátami zrealizovaná. Kontanta batCopy znaèí, e údaje z kompo- nentu MainQuery prepíu údaje uloené v tabu¾ke Output- Table. Na tomto mieste treba podotknú, e parameter bat- Copy spôsobí úplný zánik pôvodnej truktúry tabu¾ky vrátane
definície polí a indexov. V naom prípade to vak vôbec ne- prekáa, pretoe presne to potrebujeme staré údaje, ktoré ideme prepisova, nás toti nezaujímajú.
Po uloení tabu¾ky vás mono napadlo, e by ste si ju radi prezreli. A aký iný program by sa na to lepie hodil ako ná èerstvo naprogramovaný klon Database Explorera! Lene je tu problém: my sme celý program postavili na aliasoch. Inými slovami, prístup máme iba k takým tabu¾kám, ktoré majú v systéme definovaný alias. Nie, nemusíte podrádene spúa Database Desktop, program v priebehu piatich minút upraví- me tak, aby sa dali otvára aj také tabu¾ky, na ktoré iadny alias neodkazuje. Postup pritom bude identický s otváraním akéhoko¾vek iného typu súboru: zobrazí sa tandardné dialó- gové okno, z ktorého súbor vyberieme.
Aby sme uvedené zlepenie mohli zrealizova, musíme na hlavný formulár prida nové tlaèidlo, ktoré nazveme OpenBtn. Samozrejme, nesmieme zabudnú ani na kom- ponent TOpenDialog, ktorý nazveme OpenDB. Ten vytvo- ríme pod¾a nasledujúcej schémy:
object OpenDB: TOpenDialog
Filter = Súbory Paradox|*.DB|Súbory dBase|*.DBF
Left = 340 Top = 48 end
Celá operácia bude realizovaná obslunou rutinou uda- losti OnClick tlaèidla OpenBtn:
procedure TMainWnd.OpenBtnClick(Sender: TObject); begin
if not OpenDB.Execute then exit; try with dmMain.MainTable do begin Close; DatabaseName:=ExtractFilePath(OpenDB.FileName); TableName:=ExtractFileName(OpenDB.FileName); Open; end;//with except raise end;//try end;
Otváranie tabuliek konvenèným spôsobom má svoje výho- dy aj nevýhody. Výhoda spoèíva v tom, e je kdispozícii aj prípona súboru, v dôsledku èoho dokáe komponent TTable identifikova typ databázy a odpadne nám pomerne kompli- kované získavanie cesty k súboru z aliasu. Je tu vak aj jedna nevýhoda: takýmto spôsobom sa nedajú otvori tabu¾ky typu