<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zervan</id>
	<title>Kiwiki - Príspevky používateľa [sk]</title>
	<link rel="self" type="application/atom+xml" href="http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zervan"/>
	<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php/%C5%A0peci%C3%A1lne:Pr%C3%ADspevky/Zervan"/>
	<updated>2026-05-03T16:06:36Z</updated>
	<subtitle>Príspevky používateľa</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Datab%C3%A1zov%C3%A9_syst%C3%A9my&amp;diff=3241</id>
		<title>Databázové systémy</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Datab%C3%A1zov%C3%A9_syst%C3%A9my&amp;diff=3241"/>
		<updated>2010-04-06T11:03:42Z</updated>

		<summary type="html">&lt;p&gt;Zervan: Odstránený obsah stránky&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Podklady_k_predn%C3%A1%C5%A1kam_a_cvi%C4%8Deniam&amp;diff=3239</id>
		<title>Podklady k prednáškam a cvičeniam</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Podklady_k_predn%C3%A1%C5%A1kam_a_cvi%C4%8Deniam&amp;diff=3239"/>
		<updated>2010-04-06T11:02:28Z</updated>

		<summary type="html">&lt;p&gt;Zervan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
== Cvičenia, semináre, návody a iné múdre texty==&lt;br /&gt;
&lt;br /&gt;
* [[Algoritmy a programovanie]]&lt;br /&gt;
* [[Databázové systémy - poznámky k Oracle SQL]]&lt;br /&gt;
* [[Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
* [[Logické a číslicové systémy ]]&lt;br /&gt;
* [[Objektovo orientované programovanie]]&lt;br /&gt;
* [[Operačné systémy]]&lt;br /&gt;
* [[Simulácie a modelovanie]] pre elektroniku a elektrotechniku&lt;br /&gt;
* [[Softvérové inžinierstvo]]&lt;br /&gt;
* [[Spolupráca počítača s prostredím]]&lt;br /&gt;
* [[Webovské technológie]]&lt;br /&gt;
* [[Základy informatiky - jazyk C]]&lt;br /&gt;
* [[Základy informatiky - jazyk Java]]&lt;br /&gt;
* [[Základy informatiky - jazyk Python]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Datab%C3%A1zov%C3%A9_syst%C3%A9my&amp;diff=3238</id>
		<title>Databázové systémy</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Datab%C3%A1zov%C3%A9_syst%C3%A9my&amp;diff=3238"/>
		<updated>2010-04-06T11:00:29Z</updated>

		<summary type="html">&lt;p&gt;Zervan: DD16.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Úvod, anatómia výrazov SQL (DD16.1) ==&lt;br /&gt;
&lt;br /&gt;
* výraz: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;SELECT stĺpec FROM tabuľka&amp;lt;/source&amp;gt;&lt;br /&gt;
* kľúčové slová: „SELECT“, „FROM“&lt;br /&gt;
* klauzuly: „SELECT stĺpec“, „FROM tabuľka“&lt;br /&gt;
&lt;br /&gt;
=== Projekcia = výber stĺpcov ===&lt;br /&gt;
&lt;br /&gt;
* získanie všetkých údajov z tabuľky: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;SELECT * FROM tabuľka&amp;lt;/source&amp;gt;&lt;br /&gt;
* výber iba niektorých stĺpcov: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;SELECT stĺpec1, stĺpec2, ... FROM tabuľka&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NULL hodnota ===&lt;br /&gt;
&lt;br /&gt;
NULL nie je nula, ani medzera. NULL je špeciálna hodnota - nepriradená, neznáma. Ak sa NULL nachádza v arimetickom výraze, výsledok je vždy NULL.&lt;br /&gt;
&lt;br /&gt;
=== Aliasy ===&lt;br /&gt;
&lt;br /&gt;
* ak je alias jednoslovný: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;SELECT stĺpec/výraz AS alias ...&amp;lt;/source&amp;gt;&lt;br /&gt;
* pre viacslovné je treba použiť úvodzovky: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;SELECT stĺpec/výraz &amp;quot;alias&amp;quot;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2509</id>
		<title>Práca s formulárom</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2509"/>
		<updated>2010-03-02T12:49:50Z</updated>

		<summary type="html">&lt;p&gt;Zervan: /* Formulár */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Spracoval=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Formulár ==&lt;br /&gt;
&lt;br /&gt;
V bežnom formulári budeme používať predovšetkým objekt typu '''TEdit''' ako klasickú &amp;quot;kolonku&amp;quot; na zadanie krátkeho 1-riadkového textu. Keďže vo formulári býva týchto prvkov spravidla viac, je rozumné nazývať ich prehľadne, napr. EditMeno, EditPriezvisko (meno akéhokoľvek objektu je určené vlastnosťou ''Name''). Je tiež vhodné, aby po spustení programu boli tieto objekty prázdne (bez textu), preto mu zmažeme hodnotu vlastnosti ''Text''.&lt;br /&gt;
&lt;br /&gt;
V používateľsky prívetivom programe nesmie byť žiaden neoznačený prvok, preto je potrebné pred každý ''Edit'' pridať popisok typu ''TLabel''! Zobrazený text predstavuje jeho vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
V prípade potreby zadávania dlhšieho textu využijeme textové pole typu '''TMemo''', ktorý umožňuje zadávať mnohoriadkový text - stále iba neformátovaný (plain-text).&lt;br /&gt;
&lt;br /&gt;
Pre odoslanie formulára bude slúžiť tlačidlo - objekt typu '''TButton''', jeho viditeľný popis určuje vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
== Spracovanie údajov z formulára ==&lt;br /&gt;
&lt;br /&gt;
Údaje z formulára bývajú zvyčajne odosielané na spracovanie stlačením tlačidla - ide o udalosť '''OnClick''' objektu ''Button''.&lt;br /&gt;
&lt;br /&gt;
Ku hodnotám zadaným do objektov ''Edit'' sa dostaneme cez vlastnosť '''Text''', teda napr. EditMeno-&amp;gt;Text. Jedná sa o textový reťazec - na rozdiel od starého C++ a jeho poľa znakov ''char[]'' máme k dispozícii oveľa pohodlnejší ''AnsiString'', s ktorým môžeme narábať podobne, ako s číselnou premennou ''int'' - teda porovnávať cez operátor == a spájať pomocou +. Pokiaľ má niektorý ''Edit'' vyjadrovať výstupnú hodnotu (výsledok), nebude vhodné ju používateľom prepisovať - zamedzíme tomu nastavením vlastnosti ''ReadOnly''.&lt;br /&gt;
&lt;br /&gt;
Ak máme v niektorom ''Edit'' '''číselnú hodnotu''' (napr. vek alebo rok), môžeme ho na číslo skonvertovať jednak klasickou formou príkazu ''StrToInt(text)'' - napr. &amp;lt;tt&amp;gt;int vek = StrToInt(EditVek-&amp;gt;Text)&amp;lt;/tt&amp;gt;, ale v objektovom prostredí lepšie zapadne objektový prístup cez funkciu ''ToInt()'' objektu AnsiString - napr. &amp;lt;tt&amp;gt;int vek = EditVek-&amp;gt;Text.ToInt()&amp;lt;/tt&amp;gt;. Funkcie objektu sa v objektovom prostredí zvyknú nazývať pojmom &amp;quot;metóda&amp;quot;, teda ide o metódu ToInt.&lt;br /&gt;
&lt;br /&gt;
Problém nastane, keď bude zadaný nečíselný údaj a pokúsime sa ho prevádzať na číslo - program vtedy padne, čo by sa určite stať nemalo, preto musíme tomu predísť. Pokiaľ by šlo len o zistenie, či bola hodnota zadaná, stačí vlastnosť Text porovnať s prázdnym reťazcom, no vo všeobecnosti príde vhod vylepšená konverzná funkcia ''ToIntDef(hodnota)'', ktorá v prípade, že nie je možné text previezť na číslo, vráti hodnotu v parametri (tzv. implicitná alebo &amp;quot;default&amp;quot; hodnota). Je vhodné použiť takú hodnotu, ktorá v kontexte problému nemá význam, napr. číslo -1 pre vek. Program potom musí v ďalšom spracovaní túto hodnotu chápať ako neuvedenú a nepočítať s ňou! Typickým postupom je vypísanie chyby a presunutie kurzora do objektu, v ktorom je chyba, aby používateľ mohol ihneď chybu opraviť, napr.:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int vek = EditVek-&amp;gt;Text.ToIntDef(-1);&lt;br /&gt;
if (vek &amp;lt; 0)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Chyba: Vek nemá číselnú hodnotu!&amp;quot;);&lt;br /&gt;
  EditVek-&amp;gt;SetFocus();&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V uvedenom úryvku programu sú použité dve zaujímavé funkcie: '''ShowMessage(text)''' zobrazí okno s upozornením, a metóda '''SetFocus()''' akéhokoľvek viditeľného objektu presunie naň kurzor (tzv. fókus). Presun fókusu tam, kam v danej chvíli treba, patrí k základným požiadavkám na používateľsky prívetivý program.&lt;br /&gt;
&lt;br /&gt;
V objekte ''Memo'' je vlastnosť ''Text'' typu AnsiString nahradená vlastnosťou '''Lines''', ktoré predstavuje viacriadkový text, či pole textových reťazcov. Nové riadky môžeme pridať metódou ''Add(text)'', napr. &amp;lt;tt&amp;gt;Memo1-&amp;gt;Lines-&amp;gt;Add(&amp;quot;nový riadok&amp;quot;)&amp;lt;/tt&amp;gt;, zmazať obsah metódou ''Clear()'': &amp;lt;tt&amp;gt;Memo1-&amp;gt;Lines-&amp;gt;Clear()&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Používateľská prívetivosť programu ==&lt;br /&gt;
&lt;br /&gt;
Používateľsky prívetivý program musí nielen mať prehľadne usporiadané a označené prvky, ale musí aj čo najviac uľahčovať používateľovi jeho používanie. Pozrime sa na jednoduchý program pre krátenie zlomkov:&lt;br /&gt;
&lt;br /&gt;
[[Súbor:program-zlomok.png|center|ukážka jednoduchého formulára]]&lt;br /&gt;
&lt;br /&gt;
Chceli by sme dosiahnuť tieto ciele:&lt;br /&gt;
# po spustení programu bude kurzor nachystaný pre zadávanie čitateľa;&lt;br /&gt;
# stlačením Tab na klávesnici bude kurzor prechádzať vstupnými prvkami v tom poradí, ako sú zobrazené;&lt;br /&gt;
# stlačenie Enter po zadaní čitateľa presunie kurzor na zadávanie menovateľa;&lt;br /&gt;
# stlačenie Enter po zadaní menovateľa prevedie výpočet;&lt;br /&gt;
# po úspešnom vykonaní výpočtu sa kurzor opäť presunie na zadávanie čitateľa;&lt;br /&gt;
# ak je už zobrazený výsledok a zmení sa ktorákoľvek vstupná hodnota, výsledok sa ihneď zmaže.&lt;br /&gt;
&lt;br /&gt;
Prvé dve požiadavky vyriešime naraz - totiž po spustení programu bude kurzor v tom prvku, ktorý je prvý v poradí. Ak by sme potrebovali toto zmeniť, využijeme nastavenie fókusu v udalosti '''OnShow''' samotného formulára. Poradie vstupných prvkov je možné určiť v návrhovom zobrazení - pravým tlačítkom klikneme na formulár a zvolíme '''Tab Order'''.&lt;br /&gt;
&lt;br /&gt;
Tretiu požiadavku budeme nepochybne riešiť udalosťou vstupného prvku, do ktorého zadávame čitateľa (napr. s názvom ''EditCitatel'') - budeme striehnuť, kedy dôjde k stlačeniu klávesu Enter. Po každom stlačení akéhokoľvek klávesu sa vyvolá udalosť '''OnKeyPress''', už len v nej musíme zistiť, či sa jedná o Enter. Táto udalosť má ako vstupný parameter premennú ''Key'', v ktorej je uvedený stlačený kláves, pričom Enter má kód '\r' - teda ak ho nájdeme, nastavíme fókus pre zadanie menovateľa:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    EditMenovatel-&amp;gt;SetFocus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štvrtá požiadavka je takmer rovnaká, akurát na jej splnenie zavoláme udalosť stlačenia tlačidla z formulára:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditMenovatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    ButtonVypocitajClick(Sender);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Piatu požiadavku ani nemá význam rozoberať, ide o jednoduché nastavenie fókusu vo funkcii pre výpočet, teda vo funkcii pre obsluhu udalosti stlačenia tlačidla.&lt;br /&gt;
&lt;br /&gt;
Posledná požiadavka je tiež jednoduchá - riešiť ju budeme opäť udalosťou vstupného prvku, do ktorého zadávame čitateľa (''EditCitatel''), no tentokrát si nebudeme všímať stláčanie klávesov (pretože napr. šípky hodnotu nezmenia), ale priamo zmenu hodnoty - je to udalosť '''OnChange''', v ktorej proste zmažeme výsledok:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelChange(TObject *Sender)&lt;br /&gt;
{&lt;br /&gt;
  EditVysledok-&amp;gt;Text = &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pre menovateľ nemusíme vytvárať rovnakú udalosť, ale použijeme priamo udalosť čitateľa jej priradením v Object Inspector.&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2508</id>
		<title>Práca s formulárom</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2508"/>
		<updated>2010-03-02T12:43:18Z</updated>

		<summary type="html">&lt;p&gt;Zervan: /* Spracovanie údajov z formulára */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Spracoval=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Formulár ==&lt;br /&gt;
&lt;br /&gt;
V bežnom formulári budeme používať predovšetkým objekt typu '''TEdit''' ako klasickú &amp;quot;kolonku&amp;quot; na zadanie krátkeho 1-riadkového textu. Keďže vo formulári býva týchto prvkov spravidla viac, je rozumné nazývať ich prehľadne, napr. EditMeno, EditPriezvisko (meno akéhokoľvek objektu je určené vlastnosťou ''Name''). Je tiež vhodné, aby po spustení programu boli tieto objekty prázdne (bez textu), preto mu zmažeme hodnotu vlastnosti ''Text''.&lt;br /&gt;
&lt;br /&gt;
V používateľsky prívetivom programe nesmie byť žiaden neoznačený prvok, preto je potrebné pred každý ''Edit'' pridať popisok typu ''TLabel''! ZObrazený text predstavuje jeho vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
V prípade potreby zadávania dlhšieho textu využijeme textové pole typu '''TMemo''', ktorý umožňuje zadávať mnohoriadkový text - stále iba neformátovaný (plain-text).&lt;br /&gt;
&lt;br /&gt;
Pre odoslanie formulára bude slúžiť tlačidlo - objekt typu '''TButton''', jeho viditeľný popis určuje vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
== Spracovanie údajov z formulára ==&lt;br /&gt;
&lt;br /&gt;
Údaje z formulára bývajú zvyčajne odosielané na spracovanie stlačením tlačidla - ide o udalosť '''OnClick''' objektu ''Button''.&lt;br /&gt;
&lt;br /&gt;
Ku hodnotám zadaným do objektov ''Edit'' sa dostaneme cez vlastnosť '''Text''', teda napr. EditMeno-&amp;gt;Text. Jedná sa o textový reťazec - na rozdiel od starého C++ a jeho poľa znakov ''char[]'' máme k dispozícii oveľa pohodlnejší ''AnsiString'', s ktorým môžeme narábať podobne, ako s číselnou premennou ''int'' - teda porovnávať cez operátor == a spájať pomocou +. Pokiaľ má niektorý ''Edit'' vyjadrovať výstupnú hodnotu (výsledok), nebude vhodné ju používateľom prepisovať - zamedzíme tomu nastavením vlastnosti ''ReadOnly''.&lt;br /&gt;
&lt;br /&gt;
Ak máme v niektorom ''Edit'' '''číselnú hodnotu''' (napr. vek alebo rok), môžeme ho na číslo skonvertovať jednak klasickou formou príkazu ''StrToInt(text)'' - napr. &amp;lt;tt&amp;gt;int vek = StrToInt(EditVek-&amp;gt;Text)&amp;lt;/tt&amp;gt;, ale v objektovom prostredí lepšie zapadne objektový prístup cez funkciu ''ToInt()'' objektu AnsiString - napr. &amp;lt;tt&amp;gt;int vek = EditVek-&amp;gt;Text.ToInt()&amp;lt;/tt&amp;gt;. Funkcie objektu sa v objektovom prostredí zvyknú nazývať pojmom &amp;quot;metóda&amp;quot;, teda ide o metódu ToInt.&lt;br /&gt;
&lt;br /&gt;
Problém nastane, keď bude zadaný nečíselný údaj a pokúsime sa ho prevádzať na číslo - program vtedy padne, čo by sa určite stať nemalo, preto musíme tomu predísť. Pokiaľ by šlo len o zistenie, či bola hodnota zadaná, stačí vlastnosť Text porovnať s prázdnym reťazcom, no vo všeobecnosti príde vhod vylepšená konverzná funkcia ''ToIntDef(hodnota)'', ktorá v prípade, že nie je možné text previezť na číslo, vráti hodnotu v parametri (tzv. implicitná alebo &amp;quot;default&amp;quot; hodnota). Je vhodné použiť takú hodnotu, ktorá v kontexte problému nemá význam, napr. číslo -1 pre vek. Program potom musí v ďalšom spracovaní túto hodnotu chápať ako neuvedenú a nepočítať s ňou! Typickým postupom je vypísanie chyby a presunutie kurzora do objektu, v ktorom je chyba, aby používateľ mohol ihneď chybu opraviť, napr.:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int vek = EditVek-&amp;gt;Text.ToIntDef(-1);&lt;br /&gt;
if (vek &amp;lt; 0)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Chyba: Vek nemá číselnú hodnotu!&amp;quot;);&lt;br /&gt;
  EditVek-&amp;gt;SetFocus();&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V uvedenom úryvku programu sú použité dve zaujímavé funkcie: '''ShowMessage(text)''' zobrazí okno s upozornením, a metóda '''SetFocus()''' akéhokoľvek viditeľného objektu presunie naň kurzor (tzv. fókus). Presun fókusu tam, kam v danej chvíli treba, patrí k základným požiadavkám na používateľsky prívetivý program.&lt;br /&gt;
&lt;br /&gt;
V objekte ''Memo'' je vlastnosť ''Text'' typu AnsiString nahradená vlastnosťou '''Lines''', ktoré predstavuje viacriadkový text, či pole textových reťazcov. Nové riadky môžeme pridať metódou ''Add(text)'', napr. &amp;lt;tt&amp;gt;Memo1-&amp;gt;Lines-&amp;gt;Add(&amp;quot;nový riadok&amp;quot;)&amp;lt;/tt&amp;gt;, zmazať obsah metódou ''Clear()'': &amp;lt;tt&amp;gt;Memo1-&amp;gt;Lines-&amp;gt;Clear()&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Používateľská prívetivosť programu ==&lt;br /&gt;
&lt;br /&gt;
Používateľsky prívetivý program musí nielen mať prehľadne usporiadané a označené prvky, ale musí aj čo najviac uľahčovať používateľovi jeho používanie. Pozrime sa na jednoduchý program pre krátenie zlomkov:&lt;br /&gt;
&lt;br /&gt;
[[Súbor:program-zlomok.png|center|ukážka jednoduchého formulára]]&lt;br /&gt;
&lt;br /&gt;
Chceli by sme dosiahnuť tieto ciele:&lt;br /&gt;
# po spustení programu bude kurzor nachystaný pre zadávanie čitateľa;&lt;br /&gt;
# stlačením Tab na klávesnici bude kurzor prechádzať vstupnými prvkami v tom poradí, ako sú zobrazené;&lt;br /&gt;
# stlačenie Enter po zadaní čitateľa presunie kurzor na zadávanie menovateľa;&lt;br /&gt;
# stlačenie Enter po zadaní menovateľa prevedie výpočet;&lt;br /&gt;
# po úspešnom vykonaní výpočtu sa kurzor opäť presunie na zadávanie čitateľa;&lt;br /&gt;
# ak je už zobrazený výsledok a zmení sa ktorákoľvek vstupná hodnota, výsledok sa ihneď zmaže.&lt;br /&gt;
&lt;br /&gt;
Prvé dve požiadavky vyriešime naraz - totiž po spustení programu bude kurzor v tom prvku, ktorý je prvý v poradí. Ak by sme potrebovali toto zmeniť, využijeme nastavenie fókusu v udalosti '''OnShow''' samotného formulára. Poradie vstupných prvkov je možné určiť v návrhovom zobrazení - pravým tlačítkom klikneme na formulár a zvolíme '''Tab Order'''.&lt;br /&gt;
&lt;br /&gt;
Tretiu požiadavku budeme nepochybne riešiť udalosťou vstupného prvku, do ktorého zadávame čitateľa (napr. s názvom ''EditCitatel'') - budeme striehnuť, kedy dôjde k stlačeniu klávesu Enter. Po každom stlačení akéhokoľvek klávesu sa vyvolá udalosť '''OnKeyPress''', už len v nej musíme zistiť, či sa jedná o Enter. Táto udalosť má ako vstupný parameter premennú ''Key'', v ktorej je uvedený stlačený kláves, pričom Enter má kód '\r' - teda ak ho nájdeme, nastavíme fókus pre zadanie menovateľa:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    EditMenovatel-&amp;gt;SetFocus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štvrtá požiadavka je takmer rovnaká, akurát na jej splnenie zavoláme udalosť stlačenia tlačidla z formulára:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditMenovatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    ButtonVypocitajClick(Sender);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Piatu požiadavku ani nemá význam rozoberať, ide o jednoduché nastavenie fókusu vo funkcii pre výpočet, teda vo funkcii pre obsluhu udalosti stlačenia tlačidla.&lt;br /&gt;
&lt;br /&gt;
Posledná požiadavka je tiež jednoduchá - riešiť ju budeme opäť udalosťou vstupného prvku, do ktorého zadávame čitateľa (''EditCitatel''), no tentokrát si nebudeme všímať stláčanie klávesov (pretože napr. šípky hodnotu nezmenia), ale priamo zmenu hodnoty - je to udalosť '''OnChange''', v ktorej proste zmažeme výsledok:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelChange(TObject *Sender)&lt;br /&gt;
{&lt;br /&gt;
  EditVysledok-&amp;gt;Text = &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pre menovateľ nemusíme vytvárať rovnakú udalosť, ale použijeme priamo udalosť čitateľa jej priradením v Object Inspector.&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2503</id>
		<title>Práca s formulárom</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2503"/>
		<updated>2010-03-01T20:15:25Z</updated>

		<summary type="html">&lt;p&gt;Zervan: /* Spracovanie údajov z formulára */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Spracoval=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Formulár ==&lt;br /&gt;
&lt;br /&gt;
V bežnom formulári budeme používať predovšetkým objekt typu '''TEdit''' ako klasickú &amp;quot;kolonku&amp;quot; na zadanie krátkeho 1-riadkového textu. Keďže vo formulári býva týchto prvkov spravidla viac, je rozumné nazývať ich prehľadne, napr. EditMeno, EditPriezvisko (meno akéhokoľvek objektu je určené vlastnosťou ''Name''). Je tiež vhodné, aby po spustení programu boli tieto objekty prázdne (bez textu), preto mu zmažeme hodnotu vlastnosti ''Text''.&lt;br /&gt;
&lt;br /&gt;
V používateľsky prívetivom programe nesmie byť žiaden neoznačený prvok, preto je potrebné pred každý ''Edit'' pridať popisok typu ''TLabel''! ZObrazený text predstavuje jeho vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
V prípade potreby zadávania dlhšieho textu využijeme textové pole typu '''TMemo''', ktorý umožňuje zadávať mnohoriadkový text - stále iba neformátovaný (plain-text).&lt;br /&gt;
&lt;br /&gt;
Pre odoslanie formulára bude slúžiť tlačidlo - objekt typu '''TButton''', jeho viditeľný popis určuje vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
== Spracovanie údajov z formulára ==&lt;br /&gt;
&lt;br /&gt;
Údaje z formulára bývajú zvyčajne odosielané na spracovanie stlačením tlačidla - ide o udalosť '''OnClick''' objektu ''Button''.&lt;br /&gt;
&lt;br /&gt;
Ku hodnotám zadaným do objektov ''Edit'' sa dostaneme cez vlastnosť '''Text''', teda napr. EditMeno-&amp;gt;Text. Jedná sa o textový reťazec - na rozdiel od starého C++ a jeho poľa znakov ''char[]'' máme k dispozícii oveľa pohodlnejší ''AnsiString'', s ktorým môžeme narábať podobne, ako s číselnou premennou ''int'' - teda porovnávať cez operátor == a spájať pomocou +. Pokiaľ má niektorý ''Edit'' vyjadrovať výstupnú hodnotu (výsledok), nebude vhodné ju používateľom prepisovať - zamedzíme tomu nastavením vlastnosti ''ReadOnly''.&lt;br /&gt;
&lt;br /&gt;
Ak máme v niektorom ''Edit'' '''číselnú hodnotu''' (napr. vek alebo rok), môžeme ho na číslo skonvertovať jednak klasickou formou príkazu ''StrToInt(text)'' - napr. &amp;lt;tt&amp;gt;int vek = StrToInt(EditVek-&amp;gt;Text)&amp;lt;/tt&amp;gt;, ale v objektovom prostredí lepšie zapadne objektový prístup cez funkciu ''ToInt()'' objektu AnsiString - napr. &amp;lt;tt&amp;gt;int vek = EditVek-&amp;gt;Text.ToInt()&amp;lt;/tt&amp;gt;. Funkcie objektu sa v objektovom prostredí zvyknú nazývať pojmom &amp;quot;metóda&amp;quot;, teda ide o metódu ToInt.&lt;br /&gt;
&lt;br /&gt;
Problém nastane, keď bude zadaný nečíselný údaj a pokúsime sa ho prevádzať na číslo - program vtedy padne, čo by sa určite stať nemalo, preto musíme tomu predísť. Pokiaľ by šlo len o zistenie, či bola hodnota zadaná, stačí vlastnosť Text porovnať s prázdnym reťazcom, no vo všeobecnosti príde vhod vylepšená konverzná funkcia ''ToIntDef(hodnota)'', ktorá v prípade, že nie je možné text previezť na číslo, vráti hodnotu v parametri (tzv. implicitná alebo &amp;quot;default&amp;quot; hodnota). Je vhodné použiť takú hodnotu, ktorá v kontexte problému nemá význam, napr. číslo -1 pre vek. Program potom musí v ďalšom spracovaní túto hodnotu chápať ako neuvedenú a nepočítať s ňou! Typickým postupom je vypísanie chyby a presunutie kurzora do objektu, v ktorom je chyba, aby používateľ mohol ihneď chybu opraviť, napr.:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int vek = EditVek-&amp;gt;Text.ToIntDef(-1);&lt;br /&gt;
if (vek &amp;lt; 0)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Chyba: Vek nemá číselnú hodnotu!&amp;quot;);&lt;br /&gt;
  EditVek-&amp;gt;SetFocus();&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V uvedenom úryvku programu sú použité dve zaujímavé funkcie: '''ShowMessage(text)''' zobrazí okno s upozornením, a metóda '''SetFocus()''' akéhokoľvek viditeľného objektu presunie naň kurzor (tzv. fókus). Presun fókusu tam, kam v danej chvíli treba, patrí k základným požiadavkám na používateľsky prívetivý program.&lt;br /&gt;
&lt;br /&gt;
== Používateľská prívetivosť programu ==&lt;br /&gt;
&lt;br /&gt;
Používateľsky prívetivý program musí nielen mať prehľadne usporiadané a označené prvky, ale musí aj čo najviac uľahčovať používateľovi jeho používanie. Pozrime sa na jednoduchý program pre krátenie zlomkov:&lt;br /&gt;
&lt;br /&gt;
[[Súbor:program-zlomok.png|center|ukážka jednoduchého formulára]]&lt;br /&gt;
&lt;br /&gt;
Chceli by sme dosiahnuť tieto ciele:&lt;br /&gt;
# po spustení programu bude kurzor nachystaný pre zadávanie čitateľa;&lt;br /&gt;
# stlačením Tab na klávesnici bude kurzor prechádzať vstupnými prvkami v tom poradí, ako sú zobrazené;&lt;br /&gt;
# stlačenie Enter po zadaní čitateľa presunie kurzor na zadávanie menovateľa;&lt;br /&gt;
# stlačenie Enter po zadaní menovateľa prevedie výpočet;&lt;br /&gt;
# po úspešnom vykonaní výpočtu sa kurzor opäť presunie na zadávanie čitateľa;&lt;br /&gt;
# ak je už zobrazený výsledok a zmení sa ktorákoľvek vstupná hodnota, výsledok sa ihneď zmaže.&lt;br /&gt;
&lt;br /&gt;
Prvé dve požiadavky vyriešime naraz - totiž po spustení programu bude kurzor v tom prvku, ktorý je prvý v poradí. Ak by sme potrebovali toto zmeniť, využijeme nastavenie fókusu v udalosti '''OnShow''' samotného formulára. Poradie vstupných prvkov je možné určiť v návrhovom zobrazení - pravým tlačítkom klikneme na formulár a zvolíme '''Tab Order'''.&lt;br /&gt;
&lt;br /&gt;
Tretiu požiadavku budeme nepochybne riešiť udalosťou vstupného prvku, do ktorého zadávame čitateľa (napr. s názvom ''EditCitatel'') - budeme striehnuť, kedy dôjde k stlačeniu klávesu Enter. Po každom stlačení akéhokoľvek klávesu sa vyvolá udalosť '''OnKeyPress''', už len v nej musíme zistiť, či sa jedná o Enter. Táto udalosť má ako vstupný parameter premennú ''Key'', v ktorej je uvedený stlačený kláves, pričom Enter má kód '\r' - teda ak ho nájdeme, nastavíme fókus pre zadanie menovateľa:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    EditMenovatel-&amp;gt;SetFocus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štvrtá požiadavka je takmer rovnaká, akurát na jej splnenie zavoláme udalosť stlačenia tlačidla z formulára:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditMenovatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    ButtonVypocitajClick(Sender);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Piatu požiadavku ani nemá význam rozoberať, ide o jednoduché nastavenie fókusu vo funkcii pre výpočet, teda vo funkcii pre obsluhu udalosti stlačenia tlačidla.&lt;br /&gt;
&lt;br /&gt;
Posledná požiadavka je tiež jednoduchá - riešiť ju budeme opäť udalosťou vstupného prvku, do ktorého zadávame čitateľa (''EditCitatel''), no tentokrát si nebudeme všímať stláčanie klávesov (pretože napr. šípky hodnotu nezmenia), ale priamo zmenu hodnoty - je to udalosť '''OnChange''', v ktorej proste zmažeme výsledok:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelChange(TObject *Sender)&lt;br /&gt;
{&lt;br /&gt;
  EditVysledok-&amp;gt;Text = &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pre menovateľ nemusíme vytvárať rovnakú udalosť, ale použijeme priamo udalosť čitateľa jej priradením v Object Inspector.&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2502</id>
		<title>Práca s formulárom</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2502"/>
		<updated>2010-03-01T20:11:42Z</updated>

		<summary type="html">&lt;p&gt;Zervan: /* Formulár */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Spracoval=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Formulár ==&lt;br /&gt;
&lt;br /&gt;
V bežnom formulári budeme používať predovšetkým objekt typu '''TEdit''' ako klasickú &amp;quot;kolonku&amp;quot; na zadanie krátkeho 1-riadkového textu. Keďže vo formulári býva týchto prvkov spravidla viac, je rozumné nazývať ich prehľadne, napr. EditMeno, EditPriezvisko (meno akéhokoľvek objektu je určené vlastnosťou ''Name''). Je tiež vhodné, aby po spustení programu boli tieto objekty prázdne (bez textu), preto mu zmažeme hodnotu vlastnosti ''Text''.&lt;br /&gt;
&lt;br /&gt;
V používateľsky prívetivom programe nesmie byť žiaden neoznačený prvok, preto je potrebné pred každý ''Edit'' pridať popisok typu ''TLabel''! ZObrazený text predstavuje jeho vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
V prípade potreby zadávania dlhšieho textu využijeme textové pole typu '''TMemo''', ktorý umožňuje zadávať mnohoriadkový text - stále iba neformátovaný (plain-text).&lt;br /&gt;
&lt;br /&gt;
Pre odoslanie formulára bude slúžiť tlačidlo - objekt typu '''TButton''', jeho viditeľný popis určuje vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
== Spracovanie údajov z formulára ==&lt;br /&gt;
&lt;br /&gt;
Údaje z formulára bývajú zvyčajne odosielané na spracovanie stlačením tlačidla - ide o udalosť '''OnClick''' objektu ''TButton''.&lt;br /&gt;
&lt;br /&gt;
Ku hodnotám zadaným do objektov ''TEdit'' sa dostaneme cez vlastnosť '''Text''', teda napr. EditMeno-&amp;gt;Text. Jedná sa o textový reťazec - na rozdiel od starého C++ a jeho poľa znakov ''char[]'' máme k dispozícii oveľa pohodlnejší ''AnsiString'', s ktorým môžeme narábať podobne, ako s číselnou premennou ''int'' - teda porovnávať cez operátor == a spájať pomocou +. Pokiaľ má niektorý ''TEdit'' vyjadrovať výstupnú hodnotu (výsledok), nebude vhodné ju používateľom prepisovať - zamedzíme tomu nastavením vlastnosti ''ReadOnly''.&lt;br /&gt;
&lt;br /&gt;
Ak máme v niektorom ''TEdit'' '''číselnú hodnotu''' (napr. vek alebo rok), môžeme ho na číslo skonvertovať jednak klasickou formou príkazu ''StrToInt(text)'' - napr. &amp;lt;tt&amp;gt;int vek = StrToInt(EditVek-&amp;gt;Text)&amp;lt;/tt&amp;gt;, ale v objektovom prostredí lepšie zapadne objektový prístup cez funkciu ''ToInt()'' objektu AnsiString - napr. &amp;lt;tt&amp;gt;int vek = EditVek-&amp;gt;Text.ToInt()&amp;lt;/tt&amp;gt;. Funkcie objektu sa v objektovom prostredí zvyknú nazývať pojmom &amp;quot;metóda&amp;quot;, teda ide o metódu ToInt.&lt;br /&gt;
&lt;br /&gt;
Problém nastane, keď bude zadaný nečíselný údaj a pokúsime sa ho prevádzať na číslo - program vtedy padne, čo by sa určite stať nemalo, preto musíme tomu predísť. Pokiaľ by šlo len o zistenie, či bola hodnota zadaná, stačí vlastnosť Text porovnať s prázdnym reťazcom, no vo všeobecnosti príde vhod vylepšená konverzná funkcia ''ToIntDef(hodnota)'', ktorá v prípade, že nie je možné text previezť na číslo, vráti hodnotu v parametri (tzv. implicitná alebo &amp;quot;default&amp;quot; hodnota). Je vhodné použiť takú hodnotu, ktorá v kontexte problému nemá význam, napr. číslo -1 pre vek. Program potom musí v ďalšom spracovaní túto hodnotu chápať ako neuvedenú a nepočítať s ňou! Typickým postupom je vypísanie chyby a presunutie kurzora do objektu, v ktorom je chyba, aby používateľ mohol ihneď chybu opraviť, napr.:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int vek = EditVek-&amp;gt;Text.ToIntDef(-1);&lt;br /&gt;
if (vek &amp;lt; 0)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Chyba: Vek nemá číselnú hodnotu!&amp;quot;);&lt;br /&gt;
  EditVek-&amp;gt;SetFocus();&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V uvedenom úryvku programu sú použité dve zaujímavé funkcie: '''ShowMessage(text)''' zobrazí okno s upozornením, a metóda '''SetFocus()''' akéhokoľvek viditeľného objektu presunie naň kurzor (tzv. fókus). Presun fókusu tam, kam v danej chvíli treba, patrí k základným požiadavkám na používateľsky prívetivý program.&lt;br /&gt;
&lt;br /&gt;
== Používateľská prívetivosť programu ==&lt;br /&gt;
&lt;br /&gt;
Používateľsky prívetivý program musí nielen mať prehľadne usporiadané a označené prvky, ale musí aj čo najviac uľahčovať používateľovi jeho používanie. Pozrime sa na jednoduchý program pre krátenie zlomkov:&lt;br /&gt;
&lt;br /&gt;
[[Súbor:program-zlomok.png|center|ukážka jednoduchého formulára]]&lt;br /&gt;
&lt;br /&gt;
Chceli by sme dosiahnuť tieto ciele:&lt;br /&gt;
# po spustení programu bude kurzor nachystaný pre zadávanie čitateľa;&lt;br /&gt;
# stlačením Tab na klávesnici bude kurzor prechádzať vstupnými prvkami v tom poradí, ako sú zobrazené;&lt;br /&gt;
# stlačenie Enter po zadaní čitateľa presunie kurzor na zadávanie menovateľa;&lt;br /&gt;
# stlačenie Enter po zadaní menovateľa prevedie výpočet;&lt;br /&gt;
# po úspešnom vykonaní výpočtu sa kurzor opäť presunie na zadávanie čitateľa;&lt;br /&gt;
# ak je už zobrazený výsledok a zmení sa ktorákoľvek vstupná hodnota, výsledok sa ihneď zmaže.&lt;br /&gt;
&lt;br /&gt;
Prvé dve požiadavky vyriešime naraz - totiž po spustení programu bude kurzor v tom prvku, ktorý je prvý v poradí. Ak by sme potrebovali toto zmeniť, využijeme nastavenie fókusu v udalosti '''OnShow''' samotného formulára. Poradie vstupných prvkov je možné určiť v návrhovom zobrazení - pravým tlačítkom klikneme na formulár a zvolíme '''Tab Order'''.&lt;br /&gt;
&lt;br /&gt;
Tretiu požiadavku budeme nepochybne riešiť udalosťou vstupného prvku, do ktorého zadávame čitateľa (napr. s názvom ''EditCitatel'') - budeme striehnuť, kedy dôjde k stlačeniu klávesu Enter. Po každom stlačení akéhokoľvek klávesu sa vyvolá udalosť '''OnKeyPress''', už len v nej musíme zistiť, či sa jedná o Enter. Táto udalosť má ako vstupný parameter premennú ''Key'', v ktorej je uvedený stlačený kláves, pričom Enter má kód '\r' - teda ak ho nájdeme, nastavíme fókus pre zadanie menovateľa:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    EditMenovatel-&amp;gt;SetFocus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štvrtá požiadavka je takmer rovnaká, akurát na jej splnenie zavoláme udalosť stlačenia tlačidla z formulára:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditMenovatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    ButtonVypocitajClick(Sender);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Piatu požiadavku ani nemá význam rozoberať, ide o jednoduché nastavenie fókusu vo funkcii pre výpočet, teda vo funkcii pre obsluhu udalosti stlačenia tlačidla.&lt;br /&gt;
&lt;br /&gt;
Posledná požiadavka je tiež jednoduchá - riešiť ju budeme opäť udalosťou vstupného prvku, do ktorého zadávame čitateľa (''EditCitatel''), no tentokrát si nebudeme všímať stláčanie klávesov (pretože napr. šípky hodnotu nezmenia), ale priamo zmenu hodnoty - je to udalosť '''OnChange''', v ktorej proste zmažeme výsledok:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelChange(TObject *Sender)&lt;br /&gt;
{&lt;br /&gt;
  EditVysledok-&amp;gt;Text = &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pre menovateľ nemusíme vytvárať rovnakú udalosť, ale použijeme priamo udalosť čitateľa jej priradením v Object Inspector.&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2501</id>
		<title>Spolupráca počítača s prostredím</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2501"/>
		<updated>2010-03-01T18:59:58Z</updated>

		<summary type="html">&lt;p&gt;Zervan: úvodné slovo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Názov=Spolupráca počítača s prostredím&lt;br /&gt;
Forma=Zopár užitočných poznámok k cvičeniam&lt;br /&gt;
Abstrakt=&lt;br /&gt;
Rozvrh=2/0/2&lt;br /&gt;
Hodnotenie=Skúška&lt;br /&gt;
Poznámky=&lt;br /&gt;
Autor=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
{{Draft}}&lt;br /&gt;
&lt;br /&gt;
== Úvodné slovo ==&lt;br /&gt;
&lt;br /&gt;
V týchto poznámkach nenájdete prakticky nič z prednášok, je to len doplnenie tých praktických drobností, ktoré sa vyskytnú pri riešení príkladov na cvičeniach a sú príliš triviálne na to, aby sa na ne míňal čas prednášok. Budem sa snažiť sem dopĺňať všetko to, čo sa vyskytne a bude stáť za zmienku.&lt;br /&gt;
&lt;br /&gt;
== Obsah ==&lt;br /&gt;
&lt;br /&gt;
* [[Práca s formulárom]]&lt;br /&gt;
* [[Práca s grafickým plátnom]]&lt;br /&gt;
* [[Ovládanie klávesnicou]]&lt;br /&gt;
* [[Ovládanie myšou]]&lt;br /&gt;
* [[Práca s časovačom ]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2500</id>
		<title>Práca s formulárom</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Pr%C3%A1ca_s_formul%C3%A1rom&amp;diff=2500"/>
		<updated>2010-03-01T18:58:09Z</updated>

		<summary type="html">&lt;p&gt;Zervan: Vytvorená stránka „Kategória:Študijné materiály Kategória:Programovanie &amp;lt;properties&amp;gt; Spracoval=Ing. Dušan Zervan &amp;lt;/properties&amp;gt;  == Formulár ==  V bežnom formulári budeme pou…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Spracoval=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Formulár ==&lt;br /&gt;
&lt;br /&gt;
V bežnom formulári budeme používať predovšetkým objekt '''TEdit''' ako klasickú &amp;quot;kolonku&amp;quot; na zadanie krátkeho 1-riadkového textu. Keďže vo formulári býva týchto prvkov spravidla viac, je rozumné nazývať ich prehľadne, napr. EditMeno, EditPriezvisko (meno akéhokoľvek objektu je určené vlastnosťou ''Name''). Je tiež vhodné, aby po spustení programu boli tieto objekty prázdne (bez textu), preto mu zmažeme hodnotu vlastnosti ''Text''.&lt;br /&gt;
&lt;br /&gt;
V používateľsky prívetivom programe nesmie byť žiaden neoznačený prvok, preto je potrebné pred každý ''TEdit'' pridať popisok ''TLabel''! ZObrazený text predstavuje jeho vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
V prípade potreby zadávania dlhšieho textu využijeme '''TMemo''', ktorý umožňuje zadávať mnohoriadkový text - stále iba neformátovaný (plain-text).&lt;br /&gt;
&lt;br /&gt;
Pre odoslanie formulára bude slúžiť tlačidlo - objekt '''TButton''', jeho viditeľný popis určuje vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
== Spracovanie údajov z formulára ==&lt;br /&gt;
&lt;br /&gt;
Údaje z formulára bývajú zvyčajne odosielané na spracovanie stlačením tlačidla - ide o udalosť '''OnClick''' objektu ''TButton''.&lt;br /&gt;
&lt;br /&gt;
Ku hodnotám zadaným do objektov ''TEdit'' sa dostaneme cez vlastnosť '''Text''', teda napr. EditMeno-&amp;gt;Text. Jedná sa o textový reťazec - na rozdiel od starého C++ a jeho poľa znakov ''char[]'' máme k dispozícii oveľa pohodlnejší ''AnsiString'', s ktorým môžeme narábať podobne, ako s číselnou premennou ''int'' - teda porovnávať cez operátor == a spájať pomocou +. Pokiaľ má niektorý ''TEdit'' vyjadrovať výstupnú hodnotu (výsledok), nebude vhodné ju používateľom prepisovať - zamedzíme tomu nastavením vlastnosti ''ReadOnly''.&lt;br /&gt;
&lt;br /&gt;
Ak máme v niektorom ''TEdit'' '''číselnú hodnotu''' (napr. vek alebo rok), môžeme ho na číslo skonvertovať jednak klasickou formou príkazu ''StrToInt(text)'' - napr. &amp;lt;tt&amp;gt;int vek = StrToInt(EditVek-&amp;gt;Text)&amp;lt;/tt&amp;gt;, ale v objektovom prostredí lepšie zapadne objektový prístup cez funkciu ''ToInt()'' objektu AnsiString - napr. &amp;lt;tt&amp;gt;int vek = EditVek-&amp;gt;Text.ToInt()&amp;lt;/tt&amp;gt;. Funkcie objektu sa v objektovom prostredí zvyknú nazývať pojmom &amp;quot;metóda&amp;quot;, teda ide o metódu ToInt.&lt;br /&gt;
&lt;br /&gt;
Problém nastane, keď bude zadaný nečíselný údaj a pokúsime sa ho prevádzať na číslo - program vtedy padne, čo by sa určite stať nemalo, preto musíme tomu predísť. Pokiaľ by šlo len o zistenie, či bola hodnota zadaná, stačí vlastnosť Text porovnať s prázdnym reťazcom, no vo všeobecnosti príde vhod vylepšená konverzná funkcia ''ToIntDef(hodnota)'', ktorá v prípade, že nie je možné text previezť na číslo, vráti hodnotu v parametri (tzv. implicitná alebo &amp;quot;default&amp;quot; hodnota). Je vhodné použiť takú hodnotu, ktorá v kontexte problému nemá význam, napr. číslo -1 pre vek. Program potom musí v ďalšom spracovaní túto hodnotu chápať ako neuvedenú a nepočítať s ňou! Typickým postupom je vypísanie chyby a presunutie kurzora do objektu, v ktorom je chyba, aby používateľ mohol ihneď chybu opraviť, napr.:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int vek = EditVek-&amp;gt;Text.ToIntDef(-1);&lt;br /&gt;
if (vek &amp;lt; 0)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Chyba: Vek nemá číselnú hodnotu!&amp;quot;);&lt;br /&gt;
  EditVek-&amp;gt;SetFocus();&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V uvedenom úryvku programu sú použité dve zaujímavé funkcie: '''ShowMessage(text)''' zobrazí okno s upozornením, a metóda '''SetFocus()''' akéhokoľvek viditeľného objektu presunie naň kurzor (tzv. fókus). Presun fókusu tam, kam v danej chvíli treba, patrí k základným požiadavkám na používateľsky prívetivý program.&lt;br /&gt;
&lt;br /&gt;
== Používateľská prívetivosť programu ==&lt;br /&gt;
&lt;br /&gt;
Používateľsky prívetivý program musí nielen mať prehľadne usporiadané a označené prvky, ale musí aj čo najviac uľahčovať používateľovi jeho používanie. Pozrime sa na jednoduchý program pre krátenie zlomkov:&lt;br /&gt;
&lt;br /&gt;
[[Súbor:program-zlomok.png|center|ukážka jednoduchého formulára]]&lt;br /&gt;
&lt;br /&gt;
Chceli by sme dosiahnuť tieto ciele:&lt;br /&gt;
# po spustení programu bude kurzor nachystaný pre zadávanie čitateľa;&lt;br /&gt;
# stlačením Tab na klávesnici bude kurzor prechádzať vstupnými prvkami v tom poradí, ako sú zobrazené;&lt;br /&gt;
# stlačenie Enter po zadaní čitateľa presunie kurzor na zadávanie menovateľa;&lt;br /&gt;
# stlačenie Enter po zadaní menovateľa prevedie výpočet;&lt;br /&gt;
# po úspešnom vykonaní výpočtu sa kurzor opäť presunie na zadávanie čitateľa;&lt;br /&gt;
# ak je už zobrazený výsledok a zmení sa ktorákoľvek vstupná hodnota, výsledok sa ihneď zmaže.&lt;br /&gt;
&lt;br /&gt;
Prvé dve požiadavky vyriešime naraz - totiž po spustení programu bude kurzor v tom prvku, ktorý je prvý v poradí. Ak by sme potrebovali toto zmeniť, využijeme nastavenie fókusu v udalosti '''OnShow''' samotného formulára. Poradie vstupných prvkov je možné určiť v návrhovom zobrazení - pravým tlačítkom klikneme na formulár a zvolíme '''Tab Order'''.&lt;br /&gt;
&lt;br /&gt;
Tretiu požiadavku budeme nepochybne riešiť udalosťou vstupného prvku, do ktorého zadávame čitateľa (napr. s názvom ''EditCitatel'') - budeme striehnuť, kedy dôjde k stlačeniu klávesu Enter. Po každom stlačení akéhokoľvek klávesu sa vyvolá udalosť '''OnKeyPress''', už len v nej musíme zistiť, či sa jedná o Enter. Táto udalosť má ako vstupný parameter premennú ''Key'', v ktorej je uvedený stlačený kláves, pričom Enter má kód '\r' - teda ak ho nájdeme, nastavíme fókus pre zadanie menovateľa:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    EditMenovatel-&amp;gt;SetFocus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štvrtá požiadavka je takmer rovnaká, akurát na jej splnenie zavoláme udalosť stlačenia tlačidla z formulára:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditMenovatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    ButtonVypocitajClick(Sender);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Piatu požiadavku ani nemá význam rozoberať, ide o jednoduché nastavenie fókusu vo funkcii pre výpočet, teda vo funkcii pre obsluhu udalosti stlačenia tlačidla.&lt;br /&gt;
&lt;br /&gt;
Posledná požiadavka je tiež jednoduchá - riešiť ju budeme opäť udalosťou vstupného prvku, do ktorého zadávame čitateľa (''EditCitatel''), no tentokrát si nebudeme všímať stláčanie klávesov (pretože napr. šípky hodnotu nezmenia), ale priamo zmenu hodnoty - je to udalosť '''OnChange''', v ktorej proste zmažeme výsledok:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelChange(TObject *Sender)&lt;br /&gt;
{&lt;br /&gt;
  EditVysledok-&amp;gt;Text = &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pre menovateľ nemusíme vytvárať rovnakú udalosť, ale použijeme priamo udalosť čitateľa jej priradením v Object Inspector.&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2499</id>
		<title>Spolupráca počítača s prostredím</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2499"/>
		<updated>2010-03-01T18:55:15Z</updated>

		<summary type="html">&lt;p&gt;Zervan: vytvorenie podstránok&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Názov=Spolupráca počítača s prostredím&lt;br /&gt;
Forma=Zopár užitočných poznámok k cvičeniam&lt;br /&gt;
Abstrakt=&lt;br /&gt;
Rozvrh=2/0/2&lt;br /&gt;
Hodnotenie=Skúška&lt;br /&gt;
Poznámky=V týchto poznámkach nenájdete prakticky nič z prednášok, je to len doplnenie tých praktických drobností, ktoré sa vyskytnú pri riešení príkladov na cvičeniach a sú príliš triviálne na to, aby sa na ne míňal čas prednášok. Budem sa snažiť sem dopĺňať všetko to, čo sa vyskytne a bude stáť za zmienku.&lt;br /&gt;
Autor=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
{{Draft}}&lt;br /&gt;
&lt;br /&gt;
== Obsah ==&lt;br /&gt;
&lt;br /&gt;
* [[Práca s formulárom]]&lt;br /&gt;
* [[Práca s grafickým plátnom]]&lt;br /&gt;
* [[Ovládanie klávesnicou]]&lt;br /&gt;
* [[Ovládanie myšou]]&lt;br /&gt;
* [[Práca s časovačom ]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Podklady_k_predn%C3%A1%C5%A1kam_a_cvi%C4%8Deniam&amp;diff=2498</id>
		<title>Podklady k prednáškam a cvičeniam</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Podklady_k_predn%C3%A1%C5%A1kam_a_cvi%C4%8Deniam&amp;diff=2498"/>
		<updated>2010-03-01T18:50:05Z</updated>

		<summary type="html">&lt;p&gt;Zervan: abecedné usporiadanie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
== Cvičenia, semináre, návody a iné múdre texty==&lt;br /&gt;
&lt;br /&gt;
* [[Algoritmy a programovanie]]&lt;br /&gt;
* [[Databázové systémy]]&lt;br /&gt;
* [[Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
* [[Logické a číslicové systémy ]]&lt;br /&gt;
* [[Objektovo orientované programovanie]]&lt;br /&gt;
* [[Operačné systémy]]&lt;br /&gt;
* [[Simulácie a modelovanie]] pre elektroniku a elektrotechniku&lt;br /&gt;
* [[Softvérové inžinierstvo]]&lt;br /&gt;
* [[Spolupráca počítača s prostredím]]&lt;br /&gt;
* [[Webovské technológie]]&lt;br /&gt;
* [[Základy informatiky - jazyk C]]&lt;br /&gt;
* [[Základy informatiky - jazyk Java]]&lt;br /&gt;
* [[Základy informatiky - jazyk Python]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2497</id>
		<title>Spolupráca počítača s prostredím</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2497"/>
		<updated>2010-03-01T18:43:20Z</updated>

		<summary type="html">&lt;p&gt;Zervan: zvýraznenie syntaxe zdrojákov C++&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Názov=Spolupráca počítača s prostredím&lt;br /&gt;
Forma=Zopár užitočných poznámok k cvičeniam&lt;br /&gt;
Abstrakt=&lt;br /&gt;
Rozvrh=2/0/2&lt;br /&gt;
Hodnotenie=Skúška&lt;br /&gt;
Poznámky=V týchto poznámkach nenájdete prakticky nič z prednášok, je to len doplnenie tých praktických drobností, ktoré sa vyskytnú pri riešení príkladov na cvičeniach a sú príliš triviálne na to, aby sa na ne míňal čas prednášok. Budem sa snažiť sem dopĺňať všetko to, čo sa vyskytne a bude stáť za zmienku.&lt;br /&gt;
Autor=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
{{Draft}}&lt;br /&gt;
&lt;br /&gt;
== Formulár ==&lt;br /&gt;
&lt;br /&gt;
V bežnom formulári budeme používať predovšetkým objekt '''TEdit''' ako klasickú &amp;quot;kolonku&amp;quot; na zadanie krátkeho 1-riadkového textu. Keďže vo formulári býva týchto prvkov spravidla viac, je rozumné nazývať ich prehľadne, napr. EditMeno, EditPriezvisko (meno akéhokoľvek objektu je určené vlastnosťou ''Name''). Je tiež vhodné, aby po spustení programu boli tieto objekty prázdne (bez textu), preto mu zmažeme hodnotu vlastnosti ''Text''.&lt;br /&gt;
&lt;br /&gt;
V používateľsky prívetivom programe nesmie byť žiaden neoznačený prvok, preto je potrebné pred každý ''TEdit'' pridať popisok ''TLabel''! ZObrazený text predstavuje jeho vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
V prípade potreby zadávania dlhšieho textu využijeme '''TMemo''', ktorý umožňuje zadávať mnohoriadkový text - stále iba neformátovaný (plain-text).&lt;br /&gt;
&lt;br /&gt;
Pre odoslanie formulára bude slúžiť tlačidlo - objekt '''TButton''', jeho viditeľný popis určuje vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
== Spracovanie údajov z formulára ==&lt;br /&gt;
&lt;br /&gt;
Údaje z formulára bývajú zvyčajne odosielané na spracovanie stlačením tlačidla - ide o udalosť '''OnClick''' objektu ''TButton''.&lt;br /&gt;
&lt;br /&gt;
Ku hodnotám zadaným do objektov ''TEdit'' sa dostaneme cez vlastnosť '''Text''', teda napr. EditMeno-&amp;gt;Text. Jedná sa o textový reťazec - na rozdiel od starého C++ a jeho poľa znakov ''char[]'' máme k dispozícii oveľa pohodlnejší ''AnsiString'', s ktorým môžeme narábať podobne, ako s číselnou premennou ''int'' - teda porovnávať cez operátor == a spájať pomocou +. Pokiaľ má niektorý ''TEdit'' vyjadrovať výstupnú hodnotu (výsledok), nebude vhodné ju používateľom prepisovať - zamedzíme tomu nastavením vlastnosti ''ReadOnly''.&lt;br /&gt;
&lt;br /&gt;
Ak máme v niektorom ''TEdit'' '''číselnú hodnotu''' (napr. vek alebo rok), môžeme ho na číslo skonvertovať jednak klasickou formou príkazu ''StrToInt(text)'' - napr. &amp;lt;tt&amp;gt;int vek = StrToInt(EditVek-&amp;gt;Text)&amp;lt;/tt&amp;gt;, ale v objektovom prostredí lepšie zapadne objektový prístup cez funkciu ''ToInt()'' objektu AnsiString - napr. &amp;lt;tt&amp;gt;int vek = EditVek-&amp;gt;Text.ToInt()&amp;lt;/tt&amp;gt;. Funkcie objektu sa v objektovom prostredí zvyknú nazývať pojmom &amp;quot;metóda&amp;quot;, teda ide o metódu ToInt.&lt;br /&gt;
&lt;br /&gt;
Problém nastane, keď bude zadaný nečíselný údaj a pokúsime sa ho prevádzať na číslo - program vtedy padne, čo by sa určite stať nemalo, preto musíme tomu predísť. Pokiaľ by šlo len o zistenie, či bola hodnota zadaná, stačí vlastnosť Text porovnať s prázdnym reťazcom, no vo všeobecnosti príde vhod vylepšená konverzná funkcia ''ToIntDef(hodnota)'', ktorá v prípade, že nie je možné text previezť na číslo, vráti hodnotu v parametri (tzv. implicitná alebo &amp;quot;default&amp;quot; hodnota). Je vhodné použiť takú hodnotu, ktorá v kontexte problému nemá význam, napr. číslo -1 pre vek. Program potom musí v ďalšom spracovaní túto hodnotu chápať ako neuvedenú a nepočítať s ňou! Typickým postupom je vypísanie chyby a presunutie kurzora do objektu, v ktorom je chyba, aby používateľ mohol ihneď chybu opraviť, napr.:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int vek = EditVek-&amp;gt;Text.ToIntDef(-1);&lt;br /&gt;
if (vek &amp;lt; 0)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Chyba: Vek nemá číselnú hodnotu!&amp;quot;);&lt;br /&gt;
  EditVek-&amp;gt;SetFocus();&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V uvedenom úryvku programu sú použité dve zaujímavé funkcie: '''ShowMessage(text)''' zobrazí okno s upozornením, a metóda '''SetFocus()''' akéhokoľvek viditeľného objektu presunie naň kurzor (tzv. fókus). Presun fókusu tam, kam v danej chvíli treba, patrí k základným požiadavkám na používateľsky prívetivý program.&lt;br /&gt;
&lt;br /&gt;
== Používateľská prívetivosť programu ==&lt;br /&gt;
&lt;br /&gt;
Používateľsky prívetivý program musí nielen mať prehľadne usporiadané a označené prvky, ale musí aj čo najviac uľahčovať používateľovi jeho používanie. Pozrime sa na jednoduchý program pre krátenie zlomkov:&lt;br /&gt;
&lt;br /&gt;
[[Súbor:program-zlomok.png|center|ukážka jednoduchého formulára]]&lt;br /&gt;
&lt;br /&gt;
Chceli by sme dosiahnuť tieto ciele:&lt;br /&gt;
# po spustení programu bude kurzor nachystaný pre zadávanie čitateľa;&lt;br /&gt;
# stlačením Tab na klávesnici bude kurzor prechádzať vstupnými prvkami v tom poradí, ako sú zobrazené;&lt;br /&gt;
# stlačenie Enter po zadaní čitateľa presunie kurzor na zadávanie menovateľa;&lt;br /&gt;
# stlačenie Enter po zadaní menovateľa prevedie výpočet;&lt;br /&gt;
# po úspešnom vykonaní výpočtu sa kurzor opäť presunie na zadávanie čitateľa;&lt;br /&gt;
# ak je už zobrazený výsledok a zmení sa ktorákoľvek vstupná hodnota, výsledok sa ihneď zmaže.&lt;br /&gt;
&lt;br /&gt;
Prvé dve požiadavky vyriešime naraz - totiž po spustení programu bude kurzor v tom prvku, ktorý je prvý v poradí. Ak by sme potrebovali toto zmeniť, využijeme nastavenie fókusu v udalosti '''OnShow''' samotného formulára. Poradie vstupných prvkov je možné určiť v návrhovom zobrazení - pravým tlačítkom klikneme na formulár a zvolíme '''Tab Order'''.&lt;br /&gt;
&lt;br /&gt;
Tretiu požiadavku budeme nepochybne riešiť udalosťou vstupného prvku, do ktorého zadávame čitateľa (napr. s názvom ''EditCitatel'') - budeme striehnuť, kedy dôjde k stlačeniu klávesu Enter. Po každom stlačení akéhokoľvek klávesu sa vyvolá udalosť '''OnKeyPress''', už len v nej musíme zistiť, či sa jedná o Enter. Táto udalosť má ako vstupný parameter premennú ''Key'', v ktorej je uvedený stlačený kláves, pričom Enter má kód '\r' - teda ak ho nájdeme, nastavíme fókus pre zadanie menovateľa:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    EditMenovatel-&amp;gt;SetFocus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štvrtá požiadavka je takmer rovnaká, akurát na jej splnenie zavoláme udalosť stlačenia tlačidla z formulára:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditMenovatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    ButtonVypocitajClick(Sender);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Piatu požiadavku ani nemá význam rozoberať, ide o jednoduché nastavenie fókusu vo funkcii pre výpočet, teda vo funkcii pre obsluhu udalosti stlačenia tlačidla.&lt;br /&gt;
&lt;br /&gt;
Posledná požiadavka je tiež jednoduchá - riešiť ju budeme opäť udalosťou vstupného prvku, do ktorého zadávame čitateľa (''EditCitatel''), no tentokrát si nebudeme všímať stláčanie klávesov (pretože napr. šípky hodnotu nezmenia), ale priamo zmenu hodnoty - je to udalosť '''OnChange''', v ktorej proste zmažeme výsledok:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelChange(TObject *Sender)&lt;br /&gt;
{&lt;br /&gt;
  EditVysledok-&amp;gt;Text = &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pre menovateľ nemusíme vytvárať rovnakú udalosť, ale použijeme priamo udalosť čitateľa jej priradením v Object Inspector.&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2496</id>
		<title>Spolupráca počítača s prostredím</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2496"/>
		<updated>2010-03-01T18:34:38Z</updated>

		<summary type="html">&lt;p&gt;Zervan: o formulároch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Názov=Spolupráca počítača s prostredím&lt;br /&gt;
Forma=Zopár užitočných poznámok k cvičeniam&lt;br /&gt;
Abstrakt=&lt;br /&gt;
Rozvrh=2/0/2&lt;br /&gt;
Hodnotenie=Skúška&lt;br /&gt;
Poznámky=V týchto poznámkach nenájdete prakticky nič z prednášok, je to len doplnenie tých praktických drobností, ktoré sa vyskytnú pri riešení príkladov na cvičeniach a sú príliš triviálne na to, aby sa na ne míňal čas prednášok. Budem sa snažiť sem dopĺňať všetko to, čo sa vyskytne a bude stáť za zmienku.&lt;br /&gt;
Autor=Ing. Dušan Zervan&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
{{Draft}}&lt;br /&gt;
&lt;br /&gt;
== Formulár ==&lt;br /&gt;
&lt;br /&gt;
V bežnom formulári budeme používať predovšetkým objekt '''TEdit''' ako klasickú &amp;quot;kolonku&amp;quot; na zadanie krátkeho 1-riadkového textu. Keďže vo formulári býva týchto prvkov spravidla viac, je rozumné nazývať ich prehľadne, napr. EditMeno, EditPriezvisko (meno akéhokoľvek objektu je určené vlastnosťou ''Name''). Je tiež vhodné, aby po spustení programu boli tieto objekty prázdne (bez textu), preto mu zmažeme hodnotu vlastnosti ''Text''.&lt;br /&gt;
&lt;br /&gt;
V používateľsky prívetivom programe nesmie byť žiaden neoznačený prvok, preto je potrebné pred každý ''TEdit'' pridať popisok ''TLabel''! ZObrazený text predstavuje jeho vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
V prípade potreby zadávania dlhšieho textu využijeme '''TMemo''', ktorý umožňuje zadávať mnohoriadkový text - stále iba neformátovaný (plain-text).&lt;br /&gt;
&lt;br /&gt;
Pre odoslanie formulára bude slúžiť tlačidlo - objekt '''TButton''', jeho viditeľný popis určuje vlastnosť ''Caption''.&lt;br /&gt;
&lt;br /&gt;
== Spracovanie údajov z formulára ==&lt;br /&gt;
&lt;br /&gt;
Údaje z formulára bývajú zvyčajne odosielané na spracovanie stlačením tlačidla - ide o udalosť '''OnClick''' objektu ''TButton''.&lt;br /&gt;
&lt;br /&gt;
Ku hodnotám zadaným do objektov ''TEdit'' sa dostaneme cez vlastnosť '''Text''', teda napr. EditMeno-&amp;gt;Text. Jedná sa o textový reťazec - na rozdiel od starého C++ a jeho poľa znakov ''char[]'' máme k dispozícii oveľa pohodlnejší ''AnsiString'', s ktorým môžeme narábať podobne, ako s číselnou premennou ''int'' - teda porovnávať cez operátor == a spájať pomocou +. Pokiaľ má niektorý ''TEdit'' vyjadrovať výstupnú hodnotu (výsledok), nebude vhodné ju používateľom prepisovať - zamedzíme tomu nastavením vlastnosti ''ReadOnly''.&lt;br /&gt;
&lt;br /&gt;
Ak máme v niektorom ''TEdit'' '''číselnú hodnotu''' (napr. vek alebo rok), môžeme ho na číslo skonvertovať jednak klasickou formou príkazu ''StrToInt(text)'' - napr. &amp;lt;tt&amp;gt;int vek = StrToInt(EditVek-&amp;gt;Text)&amp;lt;/tt&amp;gt;, ale v objektovom prostredí lepšie zapadne objektový prístup cez funkciu ''ToInt()'' objektu AnsiString - napr. &amp;lt;tt&amp;gt;int vek = EditVek-&amp;gt;Text.ToInt()&amp;lt;/tt&amp;gt;. Funkcie objektu sa v objektovom prostredí zvyknú nazývať pojmom &amp;quot;metóda&amp;quot;, teda ide o metódu ToInt.&lt;br /&gt;
&lt;br /&gt;
Problém nastane, keď bude zadaný nečíselný údaj a pokúsime sa ho prevádzať na číslo - program vtedy padne, čo by sa určite stať nemalo, preto musíme tomu predísť. Pokiaľ by šlo len o zistenie, či bola hodnota zadaná, stačí vlastnosť Text porovnať s prázdnym reťazcom, no vo všeobecnosti príde vhod vylepšená konverzná funkcia ''ToIntDef(hodnota)'', ktorá v prípade, že nie je možné text previezť na číslo, vráti hodnotu v parametri (tzv. implicitná alebo &amp;quot;default&amp;quot; hodnota). Je vhodné použiť takú hodnotu, ktorá v kontexte problému nemá význam, napr. číslo -1 pre vek. Program potom musí v ďalšom spracovaní túto hodnotu chápať ako neuvedenú a nepočítať s ňou! Typickým postupom je vypísanie chyby a presunutie kurzora do objektu, v ktorom je chyba, aby používateľ mohol ihneď chybu opraviť, napr.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int vek = EditVek-&amp;gt;Text.ToIntDef(-1);&lt;br /&gt;
if (vek &amp;lt; 0)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Chyba: Vek nemá číselnú hodnotu!&amp;quot;);&lt;br /&gt;
  EditVek-&amp;gt;SetFocus();&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V uvedenom úryvku programu sú použité dve zaujímavé funkcie: '''ShowMessage(text)''' zobrazí okno s upozornením, a metóda '''SetFocus()''' akéhokoľvek viditeľného objektu presunie naň kurzor (tzv. fókus). Presun fókusu tam, kam v danej chvíli treba, patrí k základným požiadavkám na používateľsky prívetivý program.&lt;br /&gt;
&lt;br /&gt;
== Používateľská prívetivosť programu ==&lt;br /&gt;
&lt;br /&gt;
Používateľsky prívetivý program musí nielen mať prehľadne usporiadané a označené prvky, ale musí aj čo najviac uľahčovať používateľovi jeho používanie. Pozrime sa na jednoduchý program pre krátenie zlomkov:&lt;br /&gt;
&lt;br /&gt;
[[Súbor:program-zlomok.png|center|ukážka jednoduchého formulára]]&lt;br /&gt;
&lt;br /&gt;
Chceli by sme dosiahnuť tieto ciele:&lt;br /&gt;
# po spustení programu bude kurzor nachystaný pre zadávanie čitateľa;&lt;br /&gt;
# stlačením Tab na klávesnici bude kurzor prechádzať vstupnými prvkami v tom poradí, ako sú zobrazené;&lt;br /&gt;
# stlačenie Enter po zadaní čitateľa presunie kurzor na zadávanie menovateľa;&lt;br /&gt;
# stlačenie Enter po zadaní menovateľa prevedie výpočet;&lt;br /&gt;
# po úspešnom vykonaní výpočtu sa kurzor opäť presunie na zadávanie čitateľa;&lt;br /&gt;
# ak je už zobrazený výsledok a zmení sa ktorákoľvek vstupná hodnota, výsledok sa ihneď zmaže.&lt;br /&gt;
&lt;br /&gt;
Prvé dve požiadavky vyriešime naraz - totiž po spustení programu bude kurzor v tom prvku, ktorý je prvý v poradí. Ak by sme potrebovali toto zmeniť, využijeme nastavenie fókusu v udalosti '''OnShow''' samotného formulára. Poradie vstupných prvkov je možné určiť v návrhovom zobrazení - pravým tlačítkom klikneme na formulár a zvolíme '''Tab Order'''.&lt;br /&gt;
&lt;br /&gt;
Tretiu požiadavku budeme nepochybne riešiť udalosťou vstupného prvku, do ktorého zadávame čitateľa (napr. s názvom ''EditCitatel'') - budeme striehnuť, kedy dôjde k stlačeniu klávesu Enter. Po každom stlačení akéhokoľvek klávesu sa vyvolá udalosť '''OnKeyPress''', už len v nej musíme zistiť, či sa jedná o Enter. Táto udalosť má ako vstupný parameter premennú ''Key'', v ktorej je uvedený stlačený kláves, pričom Enter má kód '\r' - teda ak ho nájdeme, nastavíme fókus pre zadanie menovateľa:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    EditMenovatel-&amp;gt;SetFocus();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štvrtá požiadavka je takmer rovnaká, akurát na jej splnenie zavoláme udalosť stlačenia tlačidla z formulára:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditMenovatelKeyPress(TObject *Sender, char &amp;amp;Key)&lt;br /&gt;
{&lt;br /&gt;
  if (Key == '\r')&lt;br /&gt;
    ButtonVypocitajClick(Sender);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Piatu požiadavku ani nemá význam rozoberať, ide o jednoduché nastavenie fókusu vo funkcii pre výpočet, teda vo funkcii pre obsluhu udalosti stlačenia tlačidla.&lt;br /&gt;
&lt;br /&gt;
Posledná požiadavka je tiež jednoduchá - riešiť ju budeme opäť udalosťou vstupného prvku, do ktorého zadávame čitateľa (''EditCitatel''), no tentokrát si nebudeme všímať stláčanie klávesov (pretože napr. šípky hodnotu nezmenia), ale priamo zmenu hodnoty - je to udalosť '''OnChange''', v ktorej proste zmažeme výsledok:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void __fastcall TForm1::EditCitatelChange(TObject *Sender)&lt;br /&gt;
{&lt;br /&gt;
  EditVysledok-&amp;gt;Text = &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pre menovateľ nemusíme vytvárať rovnakú udalosť, ale použijeme priamo udalosť čitateľa jej priradením v Object Inspector.&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=S%C3%BAbor:Program-zlomok.png&amp;diff=2495</id>
		<title>Súbor:Program-zlomok.png</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=S%C3%BAbor:Program-zlomok.png&amp;diff=2495"/>
		<updated>2010-03-01T17:52:19Z</updated>

		<summary type="html">&lt;p&gt;Zervan: ilustrácia programu s jednoduchým formulárom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ilustrácia programu s jednoduchým formulárom&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2485</id>
		<title>Spolupráca počítača s prostredím</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Spolupr%C3%A1ca_po%C4%8D%C3%ADta%C4%8Da_s_prostred%C3%ADm&amp;diff=2485"/>
		<updated>2010-03-01T11:47:54Z</updated>

		<summary type="html">&lt;p&gt;Zervan: Vytvorená stránka „Kategória:Študijné materiály Kategória:Programovanie Kategória:Informatika &amp;lt;properties&amp;gt; Názov=Spolupráca počítača s prostredím Forma=Zopár užitoč…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Názov=Spolupráca počítača s prostredím&lt;br /&gt;
Forma=Zopár užitočných poznámok k cvičeniam&lt;br /&gt;
Abstrakt=&lt;br /&gt;
Rozvrh=2/0/2&lt;br /&gt;
Hodnotenie=Skúška&lt;br /&gt;
Poznámky=&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
{{Draft}}&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Podklady_k_predn%C3%A1%C5%A1kam_a_cvi%C4%8Deniam&amp;diff=2484</id>
		<title>Podklady k prednáškam a cvičeniam</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Podklady_k_predn%C3%A1%C5%A1kam_a_cvi%C4%8Deniam&amp;diff=2484"/>
		<updated>2010-03-01T11:45:57Z</updated>

		<summary type="html">&lt;p&gt;Zervan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
== Cvičenia, semináre, návody a iné múdre texty==&lt;br /&gt;
&lt;br /&gt;
* [[Algoritmy a programovanie]]&lt;br /&gt;
* [[Databázové systémy]]&lt;br /&gt;
* [[Logické a číslicové systémy ]]&lt;br /&gt;
* [[Objektovo orientované programovanie]]&lt;br /&gt;
* [[Operačné systémy]]&lt;br /&gt;
* [[Simulácie a modelovanie]] pre elektroniku a elektrotechniku&lt;br /&gt;
* [[Spolupráca počítača s prostredím]]&lt;br /&gt;
* [[Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
* [[Softvérové inžinierstvo]]&lt;br /&gt;
* [[Webovské technológie]]&lt;br /&gt;
* [[Základy informatiky - jazyk C]]&lt;br /&gt;
* [[Základy informatiky - jazyk Java]]&lt;br /&gt;
* [[Základy informatiky - jazyk Python]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Hlavn%C3%A1_str%C3%A1nka&amp;diff=1890</id>
		<title>Hlavná stránka</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Hlavn%C3%A1_str%C3%A1nka&amp;diff=1890"/>
		<updated>2010-02-09T10:59:49Z</updated>

		<summary type="html">&lt;p&gt;Zervan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;sideBox&amp;quot; style=&amp;quot;width:300px;border:solid 2px green;border-left-width:10px;background-color:#ccff99;padding:5px;margin-bottom:0px&amp;quot;&amp;gt;&lt;br /&gt;
[[Súbor:Ki_wiki.png|right|80px]]&lt;br /&gt;
'''Motivácia'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* [[Čo je to MediaWiki]]&lt;br /&gt;
* [[Vlastnosti]]&lt;br /&gt;
* [[Možnosti využitia v pedagogickom procese]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Najnovšie články:'''{{Special:Newestpages/-/5}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sideBox&amp;quot; style=&amp;quot;width:300px;border:solid 2px green;border-left-width:10px;background-color:#FFFFFF;padding:5px;margin-bottom:5px&amp;quot;&amp;gt;&lt;br /&gt;
[[Súbor:Ki_wiki.png|100px|link=http://fm.tnuni.sk/ki]]  [[Súbor:Fm_wiki.png|80px|link=http://fm.tnuni.sk]]  [[Súbor:itpk.png|100px|link=http://fm.tnuni.sk/ki/?q=sk/itpk]] &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=kiwiki=&lt;br /&gt;
Ahoj nadšenec open source zmýšľania. Kiwiki je skúšobný projekt [http://fm.tnuni.sk/ki KI] [http://fm.tnuni.sk FM] [http://www.tnuni.sk TnUAD] slúžiaci ako on-line knižnica študentských prác.&lt;br /&gt;
&lt;br /&gt;
Táto wiki má už &lt;br /&gt;
*{{NUMBEROFPAGES}} stránok, z toho je&lt;br /&gt;
**{{NUMBEROFARTICLES}} článkov&lt;br /&gt;
**{{NUMBEROFFILES}} nahratých súborov&lt;br /&gt;
*{{NUMBEROFUSERS}} redaktorov.&lt;br /&gt;
&lt;br /&gt;
==Knihy==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Súbor:OpenBook.png|left]]&lt;br /&gt;
|U nás si môžete vytvoriť z kiviki obsahu knihu. [[Pomoc:Knihy]]&lt;br /&gt;
{{Kategória:Knihy}} [[:{{ns:category}}:Knihy]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Študentské práce ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Súbor:bc.png]]&lt;br /&gt;
|style=&amp;quot;width:300px&amp;quot;|&lt;br /&gt;
* [[Diplomové práce]]&lt;br /&gt;
* [[Bakalárske práce]]&lt;br /&gt;
* [[Ročníkové práce]]&lt;br /&gt;
|style=&amp;quot;width:300px&amp;quot;|&lt;br /&gt;
*[[:{{ns:category}}:Zadanie DP|Zoznam zadaní DP]]&lt;br /&gt;
*[[:{{ns:category}}:Zadanie BP|Zoznam zadaní BP]]&lt;br /&gt;
*[[:{{ns:category}}:Zadanie RP|Zoznam zadaní RP]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autori tu publikovaných prác uzatvorili zmluvu &amp;quot;[[Licenčná zmluva o použití školského diela]]&amp;quot; a súhlasili so zverejnením pre študijné, vedecké, vzdelávacie a informačné účely.&lt;br /&gt;
&lt;br /&gt;
;[[Ponuka študentských prác]] : Zásobník nápadov na študentské práce (ročníkové, bakalárske, diplomové). Po vypracovaní práce bude táto práca zverejnená na našom kiwiki.&lt;br /&gt;
&lt;br /&gt;
== Študijné materiály a podklady ==&lt;br /&gt;
[[Súbor:Skripta.gif|left]]&lt;br /&gt;
* [[Podklady k prednáškam a cvičeniam]]&lt;br /&gt;
* [[Skriptá]] &lt;br /&gt;
* [[Návody a manuály]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategória:kiwiki]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=N%C3%A1vrh_a_implement%C3%A1cia_bezpe%C4%8Dnostnej_technol%C3%B3gie_pre_webov%C3%A9_slu%C5%BEby_(Zadanie)&amp;diff=1864</id>
		<title>Návrh a implementácia bezpečnostnej technológie pre webové služby (Zadanie)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=N%C3%A1vrh_a_implement%C3%A1cia_bezpe%C4%8Dnostnej_technol%C3%B3gie_pre_webov%C3%A9_slu%C5%BEby_(Zadanie)&amp;diff=1864"/>
		<updated>2010-02-04T13:05:06Z</updated>

		<summary type="html">&lt;p&gt;Zervan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Zadanie_DP|Bc. Ján Minárik|Mechatronika|Návrh a implementácia bezpečnostnej technológie pre webové služby&lt;br /&gt;
|Práca sa zaoberá návrhom a implementáciou zabezpečenia komunikácie ASP.NET&lt;br /&gt;
webových služieb prostredníctvom vlastného riešenia na báze autentifikácie klienta &lt;br /&gt;
a šifrovania vymieňaných správ. Riešenie má byť navrhnuté tak, aby sa dalo flexibilne &lt;br /&gt;
upraviť pre potreby praxe a môže byť realizované v ľubovoľnom programovacom jazyku. &lt;br /&gt;
#Vypracujte prehľad aktuálne používaných bezpečnostných technológií pre webové služby a zhodnoťte ich klady a zápory.&lt;br /&gt;
#Realizujte vlastné univerzálne bezpečnostné riešenie pre webové služby ASP.NET založené na autentifikácií klienta a šifrovaní vybraných prenášaných údajov v rámci SOAP.&lt;br /&gt;
#Porovnajte vlastné riešenie s vybranými existujúcimi technológiami z hľadiska bezpečnosti a zložitosti implementácie.&lt;br /&gt;
|#SHORT, S. Building XML Web Services for the Microsoft .NET Platform.  Redmond: Microsoft Press, 2002.&lt;br /&gt;
#CABRERA, L. F., KURT, CH.: Web Services Architecture and Its Specification. Microsoft Press, 2005.&lt;br /&gt;
#EIDE, A., et col. Professional ASP. NET Web Services. Wrox Press: Chicago. 2001.&lt;br /&gt;
|Katedra informatiky, Fakulta mechatroniky, TnUAD&lt;br /&gt;
|Ing. Tomáš Páleník&lt;br /&gt;
|Ing. Peter Jánošík&lt;br /&gt;
|7.10.2009&lt;br /&gt;
|Ing. Ján Žabka, CSc.|KI FM TnUAD|prof. Ing. Dušan Maga, PhD.&lt;br /&gt;
}}&lt;br /&gt;
[[Kategória:Zadanie DP]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Softv%C3%A9r_pre_bezpe%C4%8Dn%C3%BD_a_spo%C4%BEahliv%C3%BD_zber_obchodn%C3%BDch_d%C3%A1t_a_ich_%C5%A1tatistick%C3%A9_spracovanie_(Zadanie)&amp;diff=1863</id>
		<title>Softvér pre bezpečný a spoľahlivý zber obchodných dát a ich štatistické spracovanie (Zadanie)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Softv%C3%A9r_pre_bezpe%C4%8Dn%C3%BD_a_spo%C4%BEahliv%C3%BD_zber_obchodn%C3%BDch_d%C3%A1t_a_ich_%C5%A1tatistick%C3%A9_spracovanie_(Zadanie)&amp;diff=1863"/>
		<updated>2010-02-04T13:04:29Z</updated>

		<summary type="html">&lt;p&gt;Zervan: Vytvorená stránka „{{Zadanie_DP |Bc. Tomáš Fodor |Mechatronika |Softvér pre bezpečný a spoľahlivý zber obchodných dát a ich štatistické spracovanie |Študent vytvorí aplikáciu s …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Zadanie_DP&lt;br /&gt;
|Bc. Tomáš Fodor&lt;br /&gt;
|Mechatronika&lt;br /&gt;
|Softvér pre bezpečný a spoľahlivý zber obchodných dát a ich štatistické spracovanie&lt;br /&gt;
|Študent vytvorí aplikáciu s grafickým prostredím pre zber obchodných dát a ich štatistické spracovanie. Dáta od rôznych firiem budú zabezpečené šifrovaním a kontrolným súčtom CRC, centrálne zozbierané a následne bezpečne rozoslané do firiem. Program bude zabezpečený aj prihlasovacím heslom a práca v ňom by mala byť intuitívna a automatizovaná.&lt;br /&gt;
|#D. R. Stinson: Cryptography. ...&lt;br /&gt;
|Katedra informatiky, Fakulta mechatroniky, TnUAD&lt;br /&gt;
|Ing. Dušan Zervan&lt;br /&gt;
|Mgr. Jaromír Suchánek, PhD.&lt;br /&gt;
|7. 10. 2009&lt;br /&gt;
|Ing. Ján Žabka, CSc.&lt;br /&gt;
|KI FM TnUAD&lt;br /&gt;
|prof. Ing. Dušan Maga, PhD.&lt;br /&gt;
}}&lt;br /&gt;
[[Kategória:Zadanie DP]]&lt;/div&gt;</summary>
		<author><name>Zervan</name></author>
		
	</entry>
</feed>