<?xml version="1.0" encoding="windows-1250" ?>
<rss version="2.0">
<channel>
<docs>https://www.mycity.rs/Obavestenja/MyCity-RSS-feeds.html</docs>
<title>MyCity :: Visual Studio</title>
<link>https://www.mycity.rs/Visual-Studio/</link>
<description>RSS feed 'Visual Studio' foruma</description>
<language>sr</language>
<ttl>15</ttl>
<lastBuildDate>Sat, 11 Apr 2026 12:12:50 +0100</lastBuildDate>
<item>
	<title>Dropbox .NET API v2 C# Tutorijal</title>
	<link>https://www.mycity.rs/NET/Dropbox-NET-API-v2-C-Tutorijal.html</link>
	<guid>https://www.mycity.rs/?p=1834628</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>&lt;a href=&quot;http://www.mycity.rs/Zabava-humor-vicevi/MyCity-rs-Facts-Generator.html&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;MyCity Facts Generator&lt;/a&gt; koristi Dropbox kao server. Tamo se nalaze poslednje verzije i sve ostale neophone informacije.
&lt;br /&gt;

&lt;br /&gt;
Svaki put kad ažuriram aplikaciju, moram da odem na Dropbox, okačim novu verziju, prebacim staru u backup folder i ažuriram fajl sa informacijama o izmenema.
&lt;br /&gt;

&lt;br /&gt;
Želim taj proces da automatizujem preko jedne aplikacije, gde će mi na klik dugmeta biti dostupno preuzimanje starih verzija, uploadovanje novih verzija i izmena fajla sa informacijama o verziji.
&lt;br /&gt;

&lt;br /&gt;
Krajnji rezultat će izgledati slično ovom :
&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Koristićemo Dropbox Api v2 za ovo i Console/WindowsForms aplikaciju koja cilja .NET 4.5.
&lt;br /&gt;

&lt;br /&gt;
Dropbox API je prijatan za rad i dobro je dokumentovan, uz primere za Console App, WPF i čini mi se ASP.NET. Možete da nađete repo ovde  : &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;INDEKS ::&lt;/span&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt;  1. Pravljenje Dropbox Aplikacije  
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; 2. Pravljenje Visual Studio Projekta i povlačenje DropboxApi NuGeta
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; 3. Programiranje 
&lt;br /&gt;
-  3.1 DropboxClient
&lt;br /&gt;
 - 3.2 Izlistavanje svih foldera i fajlova na putanji
&lt;br /&gt;
 - 3.3 Download fajla
&lt;br /&gt;
 - 3.4 Upload fajla
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1. Kreiranje Dropbox Aplikacije&lt;/span&gt; &lt;span style=&quot;font-size: 11px; line-height: normal&quot;&gt;^ nazad na Indeks&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Da bi mogli da koristimo Dropbox API, moramo prvo da napravimo aplikaciju na Dropbox-u.
&lt;br /&gt;
Ulogujte se na Dropbox akaunt i otvorite sledeći link : &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
U desnom gornjem uglu treba da postoji dugme &amp;quot;Create app&amp;quot;. Kliknite na njega &lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Na novoj stranici prvo biramo tip APIa.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_66080484_ss5.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Nama treba Dropbox API.
&lt;br /&gt;

&lt;br /&gt;
Zatim biramo tip pristupa APIa.
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Ukoliko izaberete App Folder,
&lt;br /&gt;
- pristup aplikacije će vam biti ograničen na Dropbox Root/Apps/Ime Aplikacije
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Ukoliko izaberete Full Dropbox, 
&lt;br /&gt;
- aplikacija će imati potpuni pristup vašem Dropbox nalogu.
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Meni se generator nalazi na drugoj lokaciji pa bi izmena iste zahtevala ažuriranje Updater i osnovne Aplikacije, zbog toga ću izabrati Full Dropbox. 
&lt;br /&gt;

&lt;br /&gt;
Na kraju, dajte ime aplikaciji.
&lt;br /&gt;
Ovo je u potpunosti vaš izbor. Imajte u vidu da će u Dropbox root/Apps/ folderu biti napravljen novi folder za vašu aplikaciju sa tim nazivom.
&lt;br /&gt;

&lt;br /&gt;
Kliknite na dugme Create app.
&lt;br /&gt;

&lt;br /&gt;
Klikom na naziv aplikacije se otvara strana sa podešavanjima iste.
&lt;br /&gt;
Ostavite ovu otvorenu stranu tu gde jeste, dok podesimo Visual Studio projekat.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;2. Podešavanje Visual Studio projekta&lt;/span&gt; &lt;span style=&quot;font-size: 11px; line-height: normal&quot;&gt;^ nazad na Indeks&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Napravite novi projekat, dajte mu ime po izboru, ciljajte .NET Framework 4.5
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_48459027_ss0.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Kada se projekat otvori nakon kreiranja, 
&lt;br /&gt;

&lt;br /&gt;
Kliknite na Tools &amp;gt; NuGet Package Manager &amp;gt; Package Manager Console
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_48459029_ss1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
U donjem uglu, ukoliko niste menjali postavke, se otvorio novi prozor - Package Manager Console.
&lt;br /&gt;

&lt;br /&gt;
Upišite :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Install-Package Dropbox.Api -Pre&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
... pritisnite enter.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_161530116_ss2.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Pustite Visual Studio da preuzme sve potrebne pakete.
&lt;br /&gt;
U jednom trenutku će vas pitati da prihvatite uslove za par drugih paketa, kliknite na Da.
&lt;br /&gt;

&lt;br /&gt;
Ukoliko je sve prošlo kako treba, neće biti crvenih boja u konzoli i dobićete potvrdnu povratnu poruku :
&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_181721377_ss3.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Da je sve prošlo dobro možete proveriti tako što ćete pogledati reference vašeg projekta u Solution Explorer kartici :
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_55914278_ss7.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
ili Tools &amp;gt; NuGet Package manager &amp;gt; Manage NuGet Packages for solution
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_111828560_ss8.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Kako je moj Solution već sačinjen iz više projekata, ovaj sam dodao u isti.
&lt;br /&gt;

&lt;br /&gt;
Međutim, naišao sam na par problema kada sam pokušao da napravim projekat unutar Solutiona i onda dodam Dropbox. Čak i kad sam podesio .NET Target na 4.5 za ovaj projekat.
&lt;br /&gt;

&lt;br /&gt;
Zbog toga sam prvo napravio projekat van MCFG Solution-a i dodao ga kasnije na ovaj način.
&lt;br /&gt;

&lt;br /&gt;
Elem, to je to - dodali ste Dropbox API u trenutni projekat i sada nam preostaje da se bacimo na kod.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3. Programiranje&lt;/span&gt; &lt;span style=&quot;font-size: 11px; line-height: normal&quot;&gt;^ nazad na Indeks&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3.1 DropboxClient&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ukoliko pogledate zvanični tutorijal - pre nego što možete da uradite bilo šta, morate da napravite instancu DropboxClient objekta.
&lt;br /&gt;

&lt;br /&gt;
Nemojte zaboraviti 
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using Dropbox.Api;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;async Task Run&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using &amp;#40;var dbx = new DropboxClient&amp;#40;&amp;quot;YOUR ACCESS TOKEN&amp;quot;&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Po pravilu, svaki korisnik koji koristi ovu aplikaicju treba da prođe kroz OAuth proces.
&lt;br /&gt;
Međutim ja sam jedina osoba koja će da koristi ovu aplikaciju.
&lt;br /&gt;

&lt;br /&gt;
Dropbox nam pomaže ovde i nudi nam unique access token, za lako testiranje, koji možemo da prosledimo kao string parametar konstruktoru DropboxClient-a. Ovaj token će nam omogućiti pristup nalogu za koji je aplikacija vezana. 
&lt;br /&gt;

&lt;br /&gt;
Token služi isključivo za testiranje i niko osim vas ne bi trebao da ga ima ili koristi.
&lt;br /&gt;

&lt;br /&gt;
Da dobijete token otvorite ponovo Aplikaciju na Dropbox-u i kliknite na dugme &amp;quot;Generate&amp;quot; u sekciji Generate Access token :
&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada će se pojaviti dugačak niz karaktera koji potom treba da kopirate i nalepite umesto &amp;quot;YOUR ACCESS TOKEN&amp;quot; teksta u kodu iznad. 
&lt;br /&gt;

&lt;br /&gt;
Kod treba da izgleda ovako, gde je umesto 64 X-a vaš token :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;async Task Run&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using &amp;#40;var dbx = new DropboxClient&amp;#40;&amp;quot;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Ako sve prođe OK, sada ćete imati pristup vašem akauntu.
&lt;br /&gt;
Hajde da pozdravimo korisnika u konzoli i da ga obavestimo da je prošao Login bez problema. 
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using &amp;#40;var dbx = new DropboxClient&amp;#40;&amp;quot;token&amp;quot;&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var full = await dbx.Users.GetCurrentAccountAsync&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Successfully Logged In&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;$&amp;quot;Welcome, &amp;#123;full.Name.DisplayName&amp;#125;; &amp;#123;full.Email&amp;#125;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch &amp;#40;Exception x&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;$&amp;quot;ERROR &amp;#58; Exception &amp;#58; &amp;#123;x.Message&amp;#125;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;dbx.Users.GetCurrentAccountAsync&amp;#40;&amp;#41;;&lt;/code&gt; 
&lt;br /&gt;
Nam vraća FullAccount, koji sadrži sve informacije o nalogu korisnika. 
&lt;br /&gt;

&lt;br /&gt;
Druge dve linije su valjda jasne, samo što bih pojasnio : &amp;quot;$&amp;quot;.
&lt;br /&gt;
To je nešto što se zove String Interpolation i dodato je u C# 6.0 
&lt;br /&gt;
Dobiće ga i VB eventualno.
&lt;br /&gt;
U srži to je String.Format, samo sa lepšom sintaksom &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Inače, da pozovete ovaj task :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;var task = Task.Run&amp;#40;&amp;#40;Func&amp;lt;Task&amp;gt;&amp;#41;Run&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; task.Wait&amp;#40;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;
Bilo gde, recimo u Load eventu forme.
&lt;br /&gt;
Ja sam takođe omogućio i konzolu ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_60575683_ss11.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
OK,
&lt;br /&gt;

&lt;br /&gt;
uspeli smo da se ulogujemo uz pomoć Unique Tokena.
&lt;br /&gt;
Uspeli smo da prikažemo nekoliko informacija o vlasniku naloga.
&lt;br /&gt;

&lt;br /&gt;
Hajde da izlistamo sve fajlove i foldere.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3.2 Pristup fajlovima i folderima&lt;/span&gt; &lt;span style=&quot;font-size: 11px; line-height: normal&quot;&gt;^ nazad na Indeks&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Pravimo novi Task po uzoru na primer iz originalnog tutorijala :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;async Task ListRootFolder&amp;#40;DropboxClient dbx&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var list = await dbx.Files.ListFolderAsync&amp;#40;@&amp;quot;/Public/&amp;quot;&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // show folders then files
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach &amp;#40;var item in list.Entries.Where&amp;#40;i =&amp;gt; i.IsFolder&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;D&amp;nbsp; &amp;#123;0&amp;#125;/&amp;quot;, item.Name&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; await Task.Delay&amp;#40;20&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach &amp;#40;var item in list.Entries.Where&amp;#40;i =&amp;gt; i.IsFile&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;F&amp;#123;0,8&amp;#125; &amp;#123;1&amp;#125;&amp;quot;, item.AsFile.Size, item.Name&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; await Task.Delay&amp;#40;50&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
To je ceo kod ... 
&lt;br /&gt;
Ja sam ga, doduše, malo modifikovao jer koristim hardkodirane putanje.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;dbx.Files.ListFolderAsync&amp;#40;@&amp;quot;/Public&amp;quot;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Ova linija koda nam vraća ListFolderResult koji sadrži sve informacije o folderima i fajlovima na toj putanji.
&lt;br /&gt;

&lt;br /&gt;
Ono što je bitno a nije rečeno nigde :
&lt;br /&gt;

&lt;br /&gt;
Dropbox API v2 kao Path može da koristi String.Empty, pri čemu čita sve iz root foldera.
&lt;br /&gt;
Ukoliko ste u prvom koraku izabrali da aplikacija ima samo pristup njenom folderu, root folder će biti Apps/ImeAplikacije/. Ukoliko ste izabrali pun pristup, root je vaš dropbox root.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Ukoliko želite da pokupite informacije iz nekog drugog foldera, putanja mora da počne sa &amp;quot;/&amp;quot; ali ne sme da se završi sa kosom crtom.
&lt;br /&gt;

&lt;br /&gt;
Par primera :
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Pravilno :
&lt;br /&gt;
/Public
&lt;br /&gt;
/Public/Neki Folder
&lt;br /&gt;

&lt;br /&gt;
Nije pravilno :
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Public/
&lt;br /&gt;
/Public/
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Sledeće dve petlje samo prolaze kroz ListFolderResult i proveravaju lambda izrazom da li je tip unosa Fajl ili Folder, zatim u konzoli ispisuju naziv fajla ili foldera. 
&lt;br /&gt;
Task.Delay nije potreban uopšte, tu je samo zbog kozmetike &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
I to je sve što vam treba da pristupite listi fajlova i foldera na nekoj putanji u Dropbox-u.
&lt;br /&gt;

&lt;br /&gt;
Možete ovaj Task da pozovete ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using &amp;#40;var dbx = new DropboxClient&amp;#40;&amp;quot;token&amp;quot;&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var full = await dbx.Users.GetCurrentAccountAsync&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Successfully Logged In&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;$&amp;quot;Welcome, &amp;#123;full.Name.DisplayName&amp;#125;; &amp;#123;full.Email&amp;#125;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Files in Application folder &amp;#58;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; await ListRootFolder&amp;#40;dbx&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch &amp;#40;Exception x&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;$&amp;quot;ERROR &amp;#58; Exception &amp;#58; &amp;#123;x.Message&amp;#125;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Pokrenite kod i ukoliko u Public folderu imate fajlove, dobićete sličan efekat :
&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Konzola nam, naravno, nije potrebna uopšte. Meni je praktična u ovoj situaciji pa je koristim zbog toga.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3.3 Download fajla&lt;/span&gt; &lt;span style=&quot;font-size: 11px; line-height: normal&quot;&gt;^ nazad na Indeks&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada kada već imamo pristup fajlovima, hajde da neki preuzmemo i sačuvamo na HDD.
&lt;br /&gt;

&lt;br /&gt;
Novi task :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;async Task DownloadFile&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte&amp;#91;&amp;#93; file;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using &amp;#40;var response = await dbxC.Files.DownloadAsync&amp;#40;downloadFilePath&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file = await response.GetContentAsByteArrayAsync&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; File.WriteAllBytes&amp;#40;downloadSavePath, file&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch &amp;#40;Exception ex&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.ForegroundColor = ConsoleColor.Red;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.Beep&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;$&amp;quot;Error while downloading old version file &amp;#58; &amp;#123;ex.Message&amp;#125;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.ForegroundColor = ConsoleColor.White;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dakle, prvo iskoristimo DownloadAsync i prosledimo mu putanju do fajla.
&lt;br /&gt;
Zatim preko interfejsa povučemo fajl jednom od ovih metoda :
&lt;br /&gt;
GetContentAsByteArrayAsync
&lt;br /&gt;
GetContentAsStreamAsync
&lt;br /&gt;
GetContentAsStringAsync
&lt;br /&gt;

&lt;br /&gt;
Kako ja preuzimam zip fajlove sa servera, samo sam iskoristio ByteArray, koji sam kasnije sačuvao uz pomoć File.WriteAllBytes, iz System.IO.
&lt;br /&gt;

&lt;br /&gt;
Ako do sada nije očigledno, DropboxAPI je krajnje jednostavan za upotrebu &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Ja sam u mom slučaju nazive sa ekstenzijom svih fajlova iz određenog foldera sačuvao u ComboBox kontrolu. Kada izaberem iz nje neku stariju verziju MyCity generatora i kliknem na dugme Download, izvrši se ovaj kod :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;downloadFilePath = @&amp;quot;/Folder/&amp;quot; + cbOldVersionsOnServer.Text;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; downloadSavePath = $&amp;quot;&amp;#123;Application.StartupPath&amp;#125;\\Data\\OldVersions\\&amp;#123;cbOldVersionsOnServer.Text&amp;#125;&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var task = Task.Run&amp;#40;&amp;#40;Func&amp;lt;Task&amp;gt;&amp;#41;DownloadFile&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; task.Wait&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Process.Start&amp;#40;Application.StartupPath + @&amp;quot;\Data\OldVersions\&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Mislim da zvaničan tutorijal predlaže da se proslede dva stringa, folder i fajl. Međutim meni to i nije baš praktično i više volim da radim sa fiksnom putanjom iz jednog stringa. 
&lt;br /&gt;

&lt;br /&gt;
... to je to kad je download u pitanju.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3.4 Upload&lt;/span&gt; &lt;span style=&quot;font-size: 11px; line-height: normal&quot;&gt;^ nazad na Indeks&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;async Task Upload&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using &amp;#40;var mem = new MemoryStream&amp;#40;&amp;#40;fileToUpload&amp;#41;&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var updated = await dbxC.Files.UploadAsync&amp;#40;uploadFilePath,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WriteMode.Overwrite.Instance,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; body&amp;#58; mem&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;$&amp;quot;Saved &amp;#123;uploadFilePath&amp;#125; rev &amp;#123;updated.Rev&amp;#125;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Takođe kod baziran na primeru, samo što sam uklonio parametre i pojednostavnio ih.
&lt;br /&gt;
Još jedna izmena je ta što čitam sve bajtove fajla u promenljivu i odmah ih prosleđujem MemoryStreamu.
&lt;br /&gt;

&lt;br /&gt;
Kod dugmeta za upload izgleda ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;fileToUpload = File.ReadAllBytes&amp;#40;&amp;quot;D&amp;#58;\\kali.zip&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uploadFilePath = @&amp;quot;/Test/test.zip&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var task = Task.Run&amp;#40;&amp;#40;Func&amp;lt;Task&amp;gt;&amp;#41;Upload&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; task.Wait&amp;#40;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Bonus :
&lt;br /&gt;
Kontaktirao sam Dropbox API tim i zamolio ih da mi potvrde da je ovakav način upotrebe u redu.
&lt;br /&gt;
Odgovorili su da je u redu da ostavim aplikaciju na dropbox-u u &amp;quot;Development&amp;quot; statusu i da nemam nikakvih problema, dok god samo ja pristupam toj aplikaciji.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;~ Napisano 21. Januara 2016.&lt;/span&gt;</description>
	<pubDate>Wed, 31 Aug 2016 22:27:42 +0100</pubDate>
</item>
<item>
	<title>Dock App Launcher tutorijal [C#] [WPF]</title>
	<link>https://www.mycity.rs/NET/Dock-App-Launcher-tutorijal-C-WPF.html</link>
	<guid>https://www.mycity.rs/?p=1741200</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>&lt;span style=&quot;font-weight: bold&quot;&gt;Index ::&lt;/span&gt;
&lt;br /&gt;
0 - Plan
&lt;br /&gt;
1 - Kreiranje projekta
&lt;br /&gt;
1.1 - Uvlačenje resursa
&lt;br /&gt;
1.2 - Kreiranje Image kontrole
&lt;br /&gt;
1.3 - Podešavanje transparentnosti prozora
&lt;br /&gt;
2 - Programiranje
&lt;br /&gt;
2.1 - Pozicioniranje Launchera
&lt;br /&gt;
2.2 - Kreiranje Icon klase
&lt;br /&gt;
2.3 - Event Handleri
&lt;br /&gt;
2.4 - Pisanje Drop handlera
&lt;br /&gt;
2.5 - Context Meni
&lt;br /&gt;
2.6 - MouseEnter i MouseLeave
&lt;br /&gt;
2.7 - Brisanje ikonica 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#0 Plan :&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Napisati launcher koji će imati najosnovnije funkcije :
&lt;br /&gt;

&lt;br /&gt;
- Dinamično dodavanje novih kontrola na prozor prevlačenjem ikonice
&lt;br /&gt;
- Prikazivanje ikonice koja je prevučena iz samog fajla
&lt;br /&gt;
- Brisanje ikonice po izboru
&lt;br /&gt;
- Pokretanje aplikacije
&lt;br /&gt;
- Osnovne animacije kodom
&lt;br /&gt;

&lt;br /&gt;
Za sada, pa ćemo videti da li ćemo dalje nastaviti sa ozbiljnim animacijama i slično.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;WIP rezultat :&lt;/span&gt;
&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Ispod ovog posta se nalazi prva revizija u kojoj su napravljene prave animacije i repozicioniranje ikonica, izgleda ovako :
&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Potrebno :&lt;/span&gt;
&lt;br /&gt;
Visual Studio WPF projekat
&lt;br /&gt;
GFX pozadine launchera
&lt;br /&gt;
Što se znanja tiče - tutorijal će ići korak po korak kroz sve pa je potrebno samo pažljivo čitati
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Trenutni tech plan :&lt;/span&gt;
&lt;br /&gt;
- Načiniti prozor transparentnim
&lt;br /&gt;
- Povezati i prepoznati osnovne evente koji će nam biti potrebni
&lt;br /&gt;
- Napisati handlere koji će biti korišćeni od strane svake nove kontrole
&lt;br /&gt;

&lt;br /&gt;
- Prilikom drop eventa na launcher :
&lt;br /&gt;
-- Stvoriti novu Image kontrolu
&lt;br /&gt;
-- Izvući ikonicu iz prevučene staze
&lt;br /&gt;
-- Konvertovati ikonicu u upotrebljiv oblik
&lt;br /&gt;
-- Podesiti postavke privremene Image kontrole i pozicionirati je
&lt;br /&gt;
-- Dodati kontrolu u listu
&lt;br /&gt;

&lt;br /&gt;
- Prilikom  MouseUp eventa na ikonici :
&lt;br /&gt;
-- Proveriti da li je desni klik upotrebljen
&lt;br /&gt;
-- Keširati kliknutu kontrolu ako jeste
&lt;br /&gt;

&lt;br /&gt;
- Prilikom klika na Remove context menija :
&lt;br /&gt;
-- Obrisati keširanu kontrolu sa prozora
&lt;br /&gt;
-- Obrisati keširanu kontrolu iz liste kontrola
&lt;br /&gt;

&lt;br /&gt;
- Programerske animacije
&lt;br /&gt;
-- Prilikom mouse enter eventa samo povećati veličine
&lt;br /&gt;
-- Smanjiti prilikom mouse leave
&lt;br /&gt;

&lt;br /&gt;
- Kreiranje Context menija i povezivanje istog sa ikonicama
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#1 Kreiranje i osnovno podešavanje projekta&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#Kreiranje projekta&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1.&lt;/span&gt; Otvorite Visual Studio
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;2.&lt;/span&gt; File &amp;gt; New &amp;gt; Project
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3.&lt;/span&gt; C# &amp;gt; WPF Application &amp;gt; OK
&lt;br /&gt;

&lt;br /&gt;
Pripremite neku grafičku podlogu za launcher. Može biti bilo kog izgleda. Kada je oblik u pitanju, mi ćemo u ovom prvom tutorijalu stvarati ikonicu odmah pored poslednje stvorene ikonice uz mali offset,  pa preporučujem nešto pravougaonasto ...
&lt;br /&gt;

&lt;br /&gt;
U mom slučaju je to ova crna podloga sa GIF-a.
&lt;br /&gt;
Takođe, u ovom prvom tutorijalu ćemo koristiti hardkoriane vrednosti širine i visine pa imajte to u vidu.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#Uvlačenje resursa&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1.&lt;/span&gt; Project &amp;gt; *imeaplikacije_Properties
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;2.&lt;/span&gt; Resources &amp;gt; Add Existing Resource
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3.&lt;/span&gt; Izaberite pozadinu launchera koju ćete koristiti
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_56953947_ss1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;4.&lt;/span&gt; Solution Explorer &amp;gt; Klik na novi resurs fajl &amp;gt; Properties kartica &amp;gt; Build Action &amp;gt; Resource
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_177981102_ss2.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#Kreiranje Image kontrole&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1&lt;/span&gt; Kliknite na prozor &amp;gt; Toolbox &amp;gt; Dvoklik na Image
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;2.&lt;/span&gt; Dok je slika selektovana &amp;gt; Properties 
&lt;br /&gt;
&amp;gt; Common :
&lt;br /&gt;
- Source : Izaberite resurs koji ste uvukli, u mom slučaju GFX Launcher
&lt;br /&gt;
- Stretch : Fill
&lt;br /&gt;
- Stretch Direction : Both
&lt;br /&gt;
&amp;gt; Layout :
&lt;br /&gt;
- Width : upišite # piksela širine vaše slike
&lt;br /&gt;
- Height : upišite # piksela visine vaše slike
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_355962425_ss1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#Podešavanje transparentnosti prozora&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1&lt;/span&gt; Document Outline kartica &amp;gt; Klik na Window &amp;gt; Properties 
&lt;br /&gt;
&amp;gt; Brush :
&lt;br /&gt;
1. Kliknite na Background
&lt;br /&gt;
2. Podesite Alpha polje na 0 
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_101703572_ss1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; Appearance :
&lt;br /&gt;
Čekirajte AllowsTransparency
&lt;br /&gt;

&lt;br /&gt;
&amp;gt; Layout :
&lt;br /&gt;
Width - podesite da odgovara vašoj pozadini launchera
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_101703581_ss1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Pokrenite aplikaciju. Ukoliko ste sve dobro uradili, neće se videti ništa osim celokupnog grafičkog elementa koji smo uvukli ranije i koji će nam služiti kao pozadina.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2 Programiranje&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2.1 Pozicioniranje launchera&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Želim da mi launcher bude uvek centriran pri vrhu ekrana pa ćemo to prvo skloniti s puta.
&lt;br /&gt;

&lt;br /&gt;
Možemo lako centrirati bilo koji objekat na ekranu ukoliko imamo podatke o širini i visini ekrana.
&lt;br /&gt;

&lt;br /&gt;
Da bi centrirali launcher, moramo prvo podeliti širinu ekrana sa 2.
&lt;br /&gt;
To će nam dati centralnu tačku (liniju, kako god) tj. sredinu ekrana. 
&lt;br /&gt;
No, tu tačku ne možemo da upotrebimo kao početnu poziciju launchera jer bi se dogodilo ovo :
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_52735235_ss2.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Sredina ekrana bi postala početna tačka launchera koji poštuje isti sistem kao i ekran.
&lt;br /&gt;

&lt;br /&gt;
Međutim, ukoliko oduzmemo od tog broja polovinu širine launchera i to iskoristimo kao početnu tačku, dobićemo centriran element.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_158205782_ss1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1.&lt;/span&gt; Klik na Window &amp;gt; Properties &amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Event Handlers&lt;/span&gt; ikonica &amp;gt; Loaded - dvoklik
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_158205813_ss2.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;// Kreiranje eventa : neću ubuduće ponavljati ovaj prvi korak već ću reći &amp;quot;Kreirati event handler&amp;quot;...&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada se otvorio drugi deo prozora sa C# kodom i u njemu je kreiran novi event handler za Loaded event.
&lt;br /&gt;

&lt;br /&gt;
 Iskoristićemo napisano iznad da centriramo ceo prozor :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; &amp;nbsp;private void Window_Loaded&amp;#40;object sender, RoutedEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Left = &amp;#40;System.Windows.SystemParameters.PrimaryScreenWidth / 2&amp;#41; - this.Width / 2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Top = 0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: orange&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Uzeti u obzir&lt;/span&gt;&lt;/span&gt; : Koristim ključnu reč &lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;this&lt;/span&gt;&lt;/span&gt; i to se odnosi na sam prozor. Dakle uzimam širinu prozora jer je kod mene podešena pravilno. Ukoliko kod vas nije, umesto this koristite naziv Image kontrole koju ste okačili na formu ranije.
&lt;br /&gt;

&lt;br /&gt;
Pokrenite aplikaciju i videćete da je prozor centriran kao što smo predvideli iznad i stoji pri vrhu jer je &amp;quot;Top&amp;quot; podešen na 0.
&lt;br /&gt;

&lt;br /&gt;
Sve izmene koje napravimo u aplikaciji se mogu videti u XAML pregledu :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;lt;Window x&amp;#58;Class=&amp;quot;WpfApplication1.MainWindow&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns=&amp;quot;http&amp;#58;//schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns&amp;#58;x=&amp;quot;http&amp;#58;//schemas.microsoft.com/winfx/2006/xaml&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Title=&amp;quot;MainWindow&amp;quot; Height=&amp;quot;350&amp;quot; Width=&amp;quot;1484&amp;quot; Background=&amp;quot;Transparent&amp;quot; AllowsTransparency=&amp;quot;True&amp;quot; WindowStyle=&amp;quot;None&amp;quot; Loaded=&amp;quot;Window_Loaded&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;Grid&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Image HorizontalAlignment=&amp;quot;Left&amp;quot; Height=&amp;quot;50&amp;quot; VerticalAlignment=&amp;quot;Top&amp;quot; Width=&amp;quot;1479&amp;quot; Source=&amp;quot;Resources/GFXLauncher.png&amp;quot; Stretch=&amp;quot;Fill&amp;quot;/&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/Grid&amp;gt;
&lt;br /&gt;
&amp;lt;/Window&amp;gt;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Možete čak i njega da koristite kako bi povezali kontrole, stvorili nešto i slično.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2.2 Kreiranje Icon klase&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Da bi izbegli probleme sa sledećim delovima tutorijala, obrišite sve vaše namespace-ove i prekopirajte ove.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.Diagnostics;
&lt;br /&gt;
using System.Drawing;
&lt;br /&gt;
using System.Linq;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;
using System.Threading.Tasks;
&lt;br /&gt;
using System.Windows;
&lt;br /&gt;
using System.Windows.Controls;
&lt;br /&gt;
using System.Windows.Data;
&lt;br /&gt;
using System.Windows.Documents;
&lt;br /&gt;
using System.Windows.Input;
&lt;br /&gt;
using System.Windows.Interop;
&lt;br /&gt;
using System.Windows.Media;
&lt;br /&gt;
using System.Windows.Media.Imaging;
&lt;br /&gt;
using System.Windows.Navigation;
&lt;br /&gt;
using System.Windows.Shapes;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Kada prevučem ikonicu na launcher želim da sačuvam nekoliko informacija :
&lt;br /&gt;
Stazu - da bih mogao da pokrenem proces
&lt;br /&gt;
Naziv - u slučaju da želim da prikažem naziv nekada
&lt;br /&gt;
Ikonicu i
&lt;br /&gt;
Image kontrolu 
&lt;br /&gt;

&lt;br /&gt;
Napraviću klasu koja će sadržati sve promenljive odgovarajućih tipova.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; &amp;nbsp;public class IconObjectClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string iconPath,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconName;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Icon iconIcon;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public System.Windows.Controls.Image imgControl;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dakle svaki put kada dodam novi predmet na launcher, napraviću kopiju ove klase i sačuvati je. Ta kopija predstavlja taj predmet i moći ćemo da radimo sa njom šta nam je volja.
&lt;br /&gt;
Na prozoru nećemo ništa imati osim grafičkog elementa i sve ćemo dinamično stvarati.
&lt;br /&gt;

&lt;br /&gt;
Klasa je spremna, sada ćemo da napravimo listu koju ćemo ubuduće koristiti.
&lt;br /&gt;

&lt;br /&gt;
Unutar MainWindow klase upišite :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;List&amp;lt;IconObjectClass&amp;gt; iconObjects = new List&amp;lt;IconObjectClass&amp;gt;&amp;#40;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2.3 Event Handleri&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Koristićemo svega par handlera.
&lt;br /&gt;
Želimo da znamo kada korisnik &amp;quot;baci&amp;quot; nešto na launcher --&amp;gt; Drop event
&lt;br /&gt;
Želimo da znamo kada je korisnik mišem prešao preko ikonice --&amp;gt; Mouse Enter
&lt;br /&gt;
... kada je kursor nije više na ikonici --&amp;gt; Mouse Leave
&lt;br /&gt;
... kada klikne na ikonicu --&amp;gt; Mouse Up
&lt;br /&gt;
 
&lt;br /&gt;
Imaćemo svega par handlera koje ćemo dodeliti svakoj novoj ikonici kada je kreiramo.
&lt;br /&gt;
Hajde da ih napravimo.
&lt;br /&gt;

&lt;br /&gt;
Unutar MainWindow klase napravite novi void :
&lt;br /&gt;

&lt;br /&gt;
Korisnik je prevukao nešto na formu :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private void Image_Drop&amp;#40;object sender, DragEventArgs e&amp;#41; &amp;#123;&amp;#125; &lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Kliknuo nekim tasterom :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private void Image_MouseUp&amp;#40;object sender, MouseButtonEventArgs e&amp;#41; &amp;#123;&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Prešao kursorom preko ikonice :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private void Icon_MouseEnter&amp;#40;object sender, MouseEventArgs e&amp;#41;&amp;#123;&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Pomerio kursor sa ikonice :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private void Icon_MouseLeave&amp;#40;object sender, MouseEventArgs e&amp;#41;&amp;#123;&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada, dakle, kod izgleda ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.Drawing;
&lt;br /&gt;
using System.Linq;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;
using System.Threading.Tasks;
&lt;br /&gt;
using System.Windows;
&lt;br /&gt;
using System.Windows.Controls;
&lt;br /&gt;
using System.Windows.Data;
&lt;br /&gt;
using System.Windows.Documents;
&lt;br /&gt;
using System.Windows.Input;
&lt;br /&gt;
using System.Windows.Media;
&lt;br /&gt;
using System.Windows.Media.Imaging;
&lt;br /&gt;
using System.Windows.Navigation;
&lt;br /&gt;
using System.Windows.Shapes;
&lt;br /&gt;

&lt;br /&gt;
namespace WpfApplication1
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public class IconObjectClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string iconPath;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string iconName;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Icon iconIcon;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public System.Windows.Controls.Image imgControl;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public partial class MainWindow &amp;#58; Window
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List&amp;lt;IconObjectClass&amp;gt; iconObjects = new List&amp;lt;IconObjectClass&amp;gt;&amp;#40;&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public MainWindow&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Window_Loaded&amp;#40;object sender, RoutedEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Left = &amp;#40;System.Windows.SystemParameters.PrimaryScreenWidth / 2&amp;#41; - this.Width / 2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Top = 0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Image_Drop&amp;#40;object sender, DragEventArgs e&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Image_MouseUp&amp;#40;object sender, MouseButtonEventArgs e&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Icon_MouseEnter&amp;#40;object sender, MouseEventArgs e&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Icon_MouseLeave&amp;#40;object sender, MouseEventArgs e&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Do sada smo uradili :
&lt;br /&gt;
Podesili prozor
&lt;br /&gt;
Pozicionirali ga 
&lt;br /&gt;
Napravili klasu koja će držati informacije o ikonici
&lt;br /&gt;
Napisali handlere koje ćemo kasnije dodeliti 
&lt;br /&gt;

&lt;br /&gt;
Kako ćemo ikonice dinamično kreirati kasnije, ne možemo sada nigde da ih dodelimo dok ne dođe pravi trenutak za to, međutim imamo već pozadinu launchera na koju ćemo prevlačiti ikonice. 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1.&lt;/span&gt; Klik na pozadinu launchera &amp;gt; Properties &amp;gt; Event Handlers
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;2.&lt;/span&gt; Pronađite Drop polje &amp;gt; Upišite &amp;quot;Image_Drop&amp;quot; bez navodnika
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;3.&lt;/span&gt; Pritisnite enter
&lt;br /&gt;
Ukoliko niste pogrešno napisali naziv, otvoriće se prozor sa kodom i neće biti dodata nikakva linija.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_71193487_ss1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Time smo i povezali event handler za drop na sliku.
&lt;br /&gt;
Sada ostaje samo da ispišemo kod i obradimo sve.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2.4 Pisanje Drop eventa&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ovo je ujedno i najkompleksniji deo cele ove aplikacije.
&lt;br /&gt;
Hajmo redom !
&lt;br /&gt;

&lt;br /&gt;
Prvo ćemo proveriti da li je išta prebačeno na prozor.
&lt;br /&gt;
Zatim ćemo u nizu sačuvati staze do svakog prevučenog fajla.
&lt;br /&gt;
Kreiraćemo novu Image kontrolu i podesićemo kritične vrednosti
&lt;br /&gt;
Dodelićemo handlere novoj Image kontroli
&lt;br /&gt;
Sve to ćemo staviti u privremenu klasu 
&lt;br /&gt;
Klasu ćemo dodati u Listu.
&lt;br /&gt;
Na kraju, dodaćemo samu Image kontrolu na prozor.
&lt;br /&gt;

&lt;br /&gt;
Dakle, kod pišemo u &amp;quot;Image_Drop&amp;quot; handleru
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private void Image_Drop&amp;#40;object sender, DragEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;e.Data.GetDataPresent&amp;#40;DataFormats.FileDrop&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int cnt = 0; // &amp;lt;- brojač jer ćemo provući kroz petlju unose
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Niz koji će sadržati staze svih prevučenih fajlova
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string&amp;#91;&amp;#93; files = &amp;#40;string&amp;#91;&amp;#93;&amp;#41;e.Data.GetData&amp;#40;DataFormats.FileDrop&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Petlja koja će proći kroz taj isti niz
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach &amp;#40;string s in files&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Takođe želimo da &amp;quot;pokupimo&amp;quot; ikonicu svakog fajla 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Icon tmpIc = System.Drawing.Icon.ExtractAssociatedIcon&amp;#40;files&amp;#91;cnt&amp;#93;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Kreiramo novu Image kontrolu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image tmpObj = new System.Windows.Controls.Image&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // podešavamo parametre
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Width = 32,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Height = 32,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizontalAlignment = HorizontalAlignment.Left,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VerticalAlignment = VerticalAlignment.Top,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Source
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ContextMenu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Sledeći deo koda će pozicionirati našu ikonicu na pravo mesto.
&lt;br /&gt;
Pozicioniranje je takođe jednostavno.
&lt;br /&gt;
Svaku novu ikonicu želim da stavim odmah pored prethodne ikonice sa malim odstupanjem (offset).
&lt;br /&gt;

&lt;br /&gt;
Ovo je takođe jednostavno uraditi.
&lt;br /&gt;
Imamo dve ikonice :
&lt;br /&gt;
Ikonica A:
&lt;br /&gt;
Širina 10 px
&lt;br /&gt;
X pozicija 5 px
&lt;br /&gt;

&lt;br /&gt;
Želimo da pomerimo ikonicu B odmah do ikonice A.
&lt;br /&gt;
Ikonica B :
&lt;br /&gt;
Širina 10px
&lt;br /&gt;
X pozicija = IkonicaA.x (5px) + IkonicaA.širina(10px)  = 15px
&lt;br /&gt;

&lt;br /&gt;
Dakle kada na poziciju ikonice A dodamo širinu ikonice A, dobijemo &amp;quot;desnu ivicu&amp;quot; ikonice A i to je početak ikonice B.
&lt;br /&gt;

&lt;br /&gt;
Međutim da bi pozicionirali ikonicu na ovaj način moramo imati bar jednu u našoj listi.
&lt;br /&gt;
Zbog toga ćemo prvo proveriti da li naša Lista ima bar jedan unos, ukoliko ima, uzećemo poziciju i širinu te ikonice kako bi izračunali poziciju sledeće.
&lt;br /&gt;

&lt;br /&gt;
Ukoliko ipak nema nikakve ikonice, moraćemo sami da unesemo vrednosti prve ikonice.
&lt;br /&gt;

&lt;br /&gt;
Kako god okrenuli, moraćemo da koristimo tip Thickness kako bi dodelili nove vrednosti našoj ikonici.
&lt;br /&gt;
U nastavku koda pišemo :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;if &amp;#40;iconObjects.Count &amp;gt;= 1&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;// Dakle, naša lista ima bar jedan unos 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Računamo poziciju X naše ikonice B.x = A.x + A.width
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double tmpLeft = iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Margin.Left +
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Width;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thickness _margin = iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _margin.Left = tmpLeft + 5; // 5 je offset koji smo spomenuli
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _margin.Top = 0;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.Margin = _margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123; // U slučaju da nema nikakve ikonice na launcheru
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thickness _margin = new Thickness&amp;#40;&amp;#41; &amp;#123; Left = 60, Top = 0 &amp;#125;; // Hardkodiramo vrednosti prve ikonice
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.Margin = _margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada ćemo dodati handlere našoj Image kontroli :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; // Handleri
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseUp += Image_MouseUp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseEnter += Icon_MouseEnter;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseLeave += Icon_MouseLeave;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Konačno, pravimo privremenu promenljivu klase da spakujemo podatke za Listu :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;IconObjectClass tmpIconObjectClass = new IconObjectClass&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imgControl = tmpObj,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconPath = files&amp;#91;cnt&amp;#93;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconName = System.IO.Path.GetFileNameWithoutExtension&amp;#40;files&amp;#91;cnt&amp;#93;&amp;#41;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconIcon = tmpIc
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
I prosleđujemo je listi, dok prozoru prosleđujemo kontrolu :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;defaultGrid.Children.Add&amp;#40;tmpObj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects.Add&amp;#40;tmpIconObjectClass&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Međutim fali nam jedna stvarčica !
&lt;br /&gt;
Ikonicu kao ikonicu ne možemo koristiti na ovaj način, već moramo da je konvertujemo u ImageSource.
&lt;br /&gt;

&lt;br /&gt;
Napravite novu funkciju koja će odraditi ovu konverziju za nas :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;public static ImageSource ConvertToImageSource&amp;#40;Icon icon&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Imaging.CreateBitmapSourceFromHIcon&amp;#40;icon.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Vratite se nazad u handler za Drop i dopišite sledeću liniju koda :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Source = ConvertToImageSource&amp;#40;tmpIc&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Konačni kod handlera sada izgleda ovako :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;private void Image_Drop&amp;#40;object sender, DragEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;e.Data.GetDataPresent&amp;#40;DataFormats.FileDrop&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int cnt = 0; // &amp;lt;- brojač jer ćemo provući kroz petlju unose
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Niz koji će sadržati staze svih prevučenih fajlova
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string&amp;#91;&amp;#93; files = &amp;#40;string&amp;#91;&amp;#93;&amp;#41;e.Data.GetData&amp;#40;DataFormats.FileDrop&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Petlja koja će proći kroz taj isti niz
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach &amp;#40;string s in files&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Takođe želimo da &amp;quot;pokupimo&amp;quot; ikonicu svakog fajla 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Icon tmpIc = System.Drawing.Icon.ExtractAssociatedIcon&amp;#40;files&amp;#91;cnt&amp;#93;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Kreiramo novu Image kontrolu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image tmpObj = new System.Windows.Controls.Image&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // podešavamo parametre
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Width = 32,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Height = 32,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizontalAlignment = HorizontalAlignment.Left,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VerticalAlignment = VerticalAlignment.Top,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Source = ConvertToImageSource&amp;#40;tmpIc&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ContextMenu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;iconObjects.Count &amp;gt;= 1&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;// Dakle, naša lista ima bar jedan unos 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Računamo poziciju X naše ikonice B.x = A.x + A.width
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double tmpLeft = iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Margin.Left +
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Width;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thickness _margin = iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _margin.Left = tmpLeft + 5; // 5 je offset koji smo spomenuli
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _margin.Top = 0;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.Margin = _margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123; // U slučaju da nema nikakve ikonice na launcheru
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thickness _margin = new Thickness&amp;#40;&amp;#41; &amp;#123; Left = 60, Top = 0 &amp;#125;; // Hardkodiramo vrednosti prve ikonice
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.Margin = _margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Handleri
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseUp += Image_MouseUp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseEnter += Icon_MouseEnter;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseLeave += Icon_MouseLeave;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IconObjectClass tmpIconObjectClass = new IconObjectClass&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imgControl = tmpObj,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconPath = files&amp;#91;cnt&amp;#93;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconName = System.IO.Path.GetFileNameWithoutExtension&amp;#40;files&amp;#91;cnt&amp;#93;&amp;#41;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconIcon = tmpIc
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; defaultGrid.Children.Add&amp;#40;tmpObj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects.Add&amp;#40;tmpIconObjectClass&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dobićete jednu grešku ukoliko sada pokušate da pokrenete ovaj kod - defaultGrid nije definisan.
&lt;br /&gt;
Zaboravio sam da napišem ranije da moramo da imenujemo grid!
&lt;br /&gt;
Nazad na prozor ponovo i selektujte grid, te ga preimenujte u &amp;quot;defaultGrid&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_59328029_sscor.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Propustio sam još jednu stvar - dok ste na prozoru selektujte grafički element launchera i u properties kartici otvorite &amp;quot;Common&amp;quot; karticu, zatim kliknite na strelicu koja će proširiti karticu i čekirajte &amp;quot;AllowDrop&amp;quot; :
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_49099066_ssdrop.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Ukoliko već sada pokrenete aplikaciju i pokušate da prevučete par ikonica, videćete da se one pravilno pozicioniraju jedna pored druge !
&lt;br /&gt;

&lt;br /&gt;
Ostalo je još da pokrijemo par kontrola, dosta manje koda, da osposobimo ostatak aplikacije.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2.5 Context Meni&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Želim da obrišem ikonicu po želji i to želim da uradim tako što ću desnim klikom prikazati meni i izabrati &amp;quot;Remove&amp;quot;. 
&lt;br /&gt;

&lt;br /&gt;
Meni je malo čudan u odnosu na Windows Forms i moraćemo da ga napravimo u XAML-u kao resurs prozora te kasnije pozovemo kodom kad treba!
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1.&lt;/span&gt; Otvorite Dizajnerski deo IDE-a i kliknite na &amp;quot;XAML&amp;quot; dugme
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;2.&lt;/span&gt; Dodajte sledeći kod kao &amp;quot;Child&amp;quot; Window-a :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; &amp;lt;Window.Resources&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ContextMenu x&amp;#58;Key=&amp;quot;ItemContextMenu&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;MenuItem Header=&amp;quot;Remove&amp;quot; Click=&amp;quot;MenuItem_Click&amp;quot;&amp;gt;&amp;lt;/MenuItem&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ContextMenu&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/Window.Resources&amp;gt;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Ili ovako :
&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Svakako ne želite da propustite kreiranje novog event handlera za MenuItem.
&lt;br /&gt;

&lt;br /&gt;
OK, sada imamo context meni u resursima. Moramo da ga pozovemo kodom.
&lt;br /&gt;
Deklarišite ga odmah ispod liste :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;ContextMenu iconContextMenu;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Moramo da se vratimo nazad i izmenimo deo koda u Drop handleru takođe.
&lt;br /&gt;
Linija koda koju trebate izmeniti je iskomentarisana : &amp;quot;// ContextMenu&amp;quot;.
&lt;br /&gt;
Obrišite tu liniju i zamenite je :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;ContextMenu = iconContextMenu&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Zatim upišite sledeću liniju koda u Loaded eventu :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;iconContextMenu = &amp;#40;ContextMenu&amp;#41;this.Resources&amp;#91;&amp;quot;ItemContextMenu&amp;quot;&amp;#93;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Koji nakon dodatka izgleda ovako :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;private void Window_Loaded&amp;#40;object sender, RoutedEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Left = &amp;#40;System.Windows.SystemParameters.PrimaryScreenWidth / 2&amp;#41; - this.Width / 2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Top = 0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconContextMenu = &amp;#40;ContextMenu&amp;#41;this.Resources&amp;#91;&amp;quot;ItemContextMenu&amp;quot;&amp;#93;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2.6 Mouse Enter i Mouse Leave&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Za sada ćemo napraviti najjednostavniju &amp;quot;animaciju&amp;quot;. Kada kursor pipne bilo koju ikonicu, povećaćemo veličinu ikonice. Kada izađe, smanjićemo je.
&lt;br /&gt;
Kasnije ćemo možda u nekoj reviziji videti kako rade animacije u WPF-u.
&lt;br /&gt;

&lt;br /&gt;
Prvo ću napraviti jednu funkciju koja će da mi vrati Image kontrolu koja je ispod kursora. 
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;System.Windows.Controls.Image GetIcon&amp;#40;RoutedEventArgs s&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &amp;#40;System.Windows.Controls.Image&amp;#41;s.Source;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Zatim ću napisati sledeći kod u MouseEnter eventu :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;private void Icon_MouseEnter&amp;#40;object sender, MouseEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image thisObject = GetIcon&amp;#40;e&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Width += 20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Height += 20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetZIndex&amp;#40;thisObject, 99&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Prvo &amp;quot;kupimo&amp;quot; kontrolu ispod kursora, zatim je povećavamo za 20 piksela i na kraju pomeramo Z index te kontrole na 99.
&lt;br /&gt;
Z index možete zamisliti kao sortirajući lejer. Što je veći indeks to je objekt &amp;quot;bliži&amp;quot; ekranu, što su drugi objekti niži oni se renderuju ispod objekta sa višim brojem.
&lt;br /&gt;

&lt;br /&gt;
Zašto pomeramo indeks ? Zbog toga što želimo da ikonica koja bude već &amp;quot;ispliva&amp;quot; na površinu u odnosu na druge ikonice. U suprotnom bi bila povećana ali ispod drugih ikonica.
&lt;br /&gt;

&lt;br /&gt;
Slično ćemo uraditi sa MouseLeave eventom :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private void Icon_MouseLeave&amp;#40;object sender, MouseEventArgs e&amp;#41; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image thisObject = GetIcon&amp;#40;e&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Width -=20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Height -=20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetZIndex&amp;#40;thisObject,0&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Pokrenite aplikaciju, dodajte nekoliko ikonica i testirajte &amp;quot;efekat&amp;quot; :
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Ukoliko kliknete desnim klikom na ikonicu, otvoriće se meni !
&lt;br /&gt;

&lt;br /&gt;
OK, ostaje još samo da obrišemo određenu ikonicu iz launchera.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;#2.7 - Brisanje ikonica&lt;/span&gt;&lt;/span&gt; 
&lt;br /&gt;

&lt;br /&gt;
Prvo ću napraviti funkciju koja će brisati ikonicu iz Liste i sa prozora.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; &amp;nbsp;private void RemoveIcon&amp;#40;System.Windows.Controls.Image Control&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Prosleđujemo Image kontrolu ovoj funkciji 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; defaultGrid.Children.Remove&amp;#40;Control&amp;#41;; // uklanjamo je sa prozora
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Props to Daex;; pronalazimo unos u Listi koji ima istu kontrolu koju tražimo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IconObjectClass ikona = iconObjects.Find&amp;#40;x =&amp;gt; x.imgControl == Control&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects.Remove&amp;#40;ikona&amp;#41;; // brišemo taj unos iz liste
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Zatim ću deklarisati :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;ystem.Windows.Controls.Image lastClicked;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
U handleru za Mouse Up ćemo prvo proveriti da li je kliknuto desnim klikom, ukoliko jeste, keširaćemo kontrolu. Ukoliko nije, želimo da pokrenemo proces. 
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; private void Image_MouseUp&amp;#40;object sender, MouseButtonEventArgs e&amp;#41; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;e.ChangedButton == MouseButton.Right&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123; // Ukoliko je desnim klikom kliknuto
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lastClicked = &amp;#40;System.Windows.Controls.Image&amp;#41;e.Source; // čuvamo kontrolu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123; // ukoliko je pak prvi klik, pokrećemo proces
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Props to Daex;; pronalazimo odgovarajući unos iz liste koji odgovara ovoj kontroli
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IconObjectClass ikona = iconObjects.Find&amp;#40;x =&amp;gt; x.imgControl == e.Source&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Process.Start&amp;#40;ikona.iconPath&amp;#41;; // pokrećemo proces prema stazi iz liste
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Pokrenite ponovo aplikaciju i videćete da sve radi kao što treba.
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Source&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.Diagnostics;
&lt;br /&gt;
using System.Drawing;
&lt;br /&gt;
using System.Linq;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;
using System.Threading.Tasks;
&lt;br /&gt;
using System.Windows;
&lt;br /&gt;
using System.Windows.Controls;
&lt;br /&gt;
using System.Windows.Data;
&lt;br /&gt;
using System.Windows.Documents;
&lt;br /&gt;
using System.Windows.Input;
&lt;br /&gt;
using System.Windows.Interop;
&lt;br /&gt;
using System.Windows.Media;
&lt;br /&gt;
using System.Windows.Media.Imaging;
&lt;br /&gt;
using System.Windows.Navigation;
&lt;br /&gt;
using System.Windows.Shapes;
&lt;br /&gt;

&lt;br /&gt;
namespace WpfApplication1
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public class IconObjectClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string iconPath;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string iconName;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Icon iconIcon;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public System.Windows.Controls.Image imgControl;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public partial class MainWindow &amp;#58; Window
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List&amp;lt;IconObjectClass&amp;gt; iconObjects = new List&amp;lt;IconObjectClass&amp;gt;&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ContextMenu iconContextMenu;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image lastClicked;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public MainWindow&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Window_Loaded&amp;#40;object sender, RoutedEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Left = &amp;#40;System.Windows.SystemParameters.PrimaryScreenWidth / 2&amp;#41; - this.Width / 2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Top = 50;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconContextMenu = &amp;#40;ContextMenu&amp;#41;this.Resources&amp;#91;&amp;quot;ItemContextMenu&amp;quot;&amp;#93;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void RemoveIcon&amp;#40;System.Windows.Controls.Image Control&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Prosleđujemo Image kontrolu ovoj funkciji 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; defaultGrid.Children.Remove&amp;#40;Control&amp;#41;; // uklanjamo je sa prozora
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Props to Daex;; pronalazimo unos u Listi koji ima istu kontrolu koju tražimo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IconObjectClass ikona = iconObjects.Find&amp;#40;x =&amp;gt; x.imgControl == Control&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects.Remove&amp;#40;ikona&amp;#41;; // brišemo taj unos iz liste
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Image_Drop&amp;#40;object sender, DragEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;e.Data.GetDataPresent&amp;#40;DataFormats.FileDrop&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int cnt = 0; // &amp;lt;- brojač jer ćemo provući kroz petlju unose
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Niz koji će sadržati staze svih prevučenih fajlova
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string&amp;#91;&amp;#93; files = &amp;#40;string&amp;#91;&amp;#93;&amp;#41;e.Data.GetData&amp;#40;DataFormats.FileDrop&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Petlja koja će proći kroz taj isti niz
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach &amp;#40;string s in files&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Takođe želimo da &amp;quot;pokupimo&amp;quot; ikonicu svakog fajla 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Icon tmpIc = System.Drawing.Icon.ExtractAssociatedIcon&amp;#40;files&amp;#91;cnt&amp;#93;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Kreiramo novu Image kontrolu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image tmpObj = new System.Windows.Controls.Image&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // podešavamo parametre
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Width = 32,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Height = 32,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizontalAlignment = HorizontalAlignment.Left,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VerticalAlignment = VerticalAlignment.Top,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Source = ConvertToImageSource&amp;#40;tmpIc&amp;#41;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ContextMenu = iconContextMenu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;iconObjects.Count &amp;gt;= 1&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;// Dakle, naša lista ima bar jedan unos 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Računamo poziciju X naše ikonice B.x = A.x + A.width
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double tmpLeft = iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Margin.Left +
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Width;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thickness _margin = iconObjects&amp;#91;iconObjects.Count - 1&amp;#93;.imgControl.Margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _margin.Left = tmpLeft + 5; // 5 je offset koji smo spomenuli
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _margin.Top = 0;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.Margin = _margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123; // U slučaju da nema nikakve ikonice na launcheru
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thickness _margin = new Thickness&amp;#40;&amp;#41; &amp;#123; Left = 60, Top = 0 &amp;#125;; // Hardkodiramo vrednosti prve ikonice
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.Margin = _margin;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Handleri
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseUp += Image_MouseUp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseEnter += Icon_MouseEnter;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpObj.MouseLeave += Icon_MouseLeave;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IconObjectClass tmpIconObjectClass = new IconObjectClass&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imgControl = tmpObj,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconPath = files&amp;#91;cnt&amp;#93;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconName = System.IO.Path.GetFileNameWithoutExtension&amp;#40;files&amp;#91;cnt&amp;#93;&amp;#41;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconIcon = tmpIc
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; defaultGrid.Children.Add&amp;#40;tmpObj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iconObjects.Add&amp;#40;tmpIconObjectClass&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Image_MouseUp&amp;#40;object sender, MouseButtonEventArgs e&amp;#41; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;e.ChangedButton == MouseButton.Right&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123; // Ukoliko je desnim klikom kliknuto
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lastClicked = &amp;#40;System.Windows.Controls.Image&amp;#41;e.Source; // čuvamo kontrolu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123; // ukoliko je pak prvi klik, pokrećemo proces
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Props to Daex;; pronalazimo odgovarajući unos iz liste koji odgovara ovoj kontroli
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IconObjectClass ikona = iconObjects.Find&amp;#40;x =&amp;gt; x.imgControl == e.Source&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Process.Start&amp;#40;ikona.iconPath&amp;#41;; // pokrećemo proces prema stazi iz liste
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Icon_MouseEnter&amp;#40;object sender, MouseEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image thisObject = GetIcon&amp;#40;e&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Width += 20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Height += 20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetZIndex&amp;#40;thisObject, 99&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Icon_MouseLeave&amp;#40;object sender, MouseEventArgs e&amp;#41; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image thisObject = GetIcon&amp;#40;e&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Width -=20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisObject.Height -=20;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetZIndex&amp;#40;thisObject,0&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static ImageSource ConvertToImageSource&amp;#40;Icon icon&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Imaging.CreateBitmapSourceFromHIcon&amp;#40;icon.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void MenuItem_Click&amp;#40;object sender, RoutedEventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Windows.Controls.Image GetIcon&amp;#40;RoutedEventArgs s&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &amp;#40;System.Windows.Controls.Image&amp;#41;s.Source;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;lt;Window x&amp;#58;Class=&amp;quot;WpfApplication1.MainWindow&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns=&amp;quot;http&amp;#58;//schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns&amp;#58;x=&amp;quot;http&amp;#58;//schemas.microsoft.com/winfx/2006/xaml&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Title=&amp;quot;MainWindow&amp;quot; Height=&amp;quot;350&amp;quot; Width=&amp;quot;1484&amp;quot; Background=&amp;quot;Transparent&amp;quot; AllowsTransparency=&amp;quot;True&amp;quot; WindowStyle=&amp;quot;None&amp;quot; Loaded=&amp;quot;Window_Loaded&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;Window.Resources&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ContextMenu x&amp;#58;Key=&amp;quot;ItemContextMenu&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;MenuItem Header=&amp;quot;Remove&amp;quot; Click=&amp;quot;MenuItem_Click&amp;quot;&amp;gt;&amp;lt;/MenuItem&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ContextMenu&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/Window.Resources&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;Grid x&amp;#58;Name=&amp;quot;defaultGrid&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Image HorizontalAlignment=&amp;quot;Left&amp;quot; Height=&amp;quot;50&amp;quot; VerticalAlignment=&amp;quot;Top&amp;quot; Width=&amp;quot;1479&amp;quot; Source=&amp;quot;Resources/GFXLauncher.png&amp;quot; Stretch=&amp;quot;Fill&amp;quot; Drop=&amp;quot;Image_Drop&amp;quot; AllowDrop=&amp;quot;True&amp;quot;/&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/Grid&amp;gt;
&lt;br /&gt;
&amp;lt;/Window&amp;gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
I to je to za ovaj prvi tutorijal.
&lt;br /&gt;
Potrudiću se da odradim animacije i svašta nešto od fancy efekata za sledeću reviziju, ako stignem...
&lt;br /&gt;
WPF je poprilično zabavan ali isto tako nelogičan za mene jer dolazim iz WForms okruženja, dva dana sam proveo guglajući osnove koje su nelogične u odnosu na WForms.</description>
	<pubDate>Sun, 22 Feb 2015 14:52:10 +0100</pubDate>
</item>
<item>
	<title>[9] C# - Osnovni rad sa formom, listom i bazom podataka</title>
	<link>https://www.mycity.rs/NET/9-C-Osnovni-rad-sa-formom-listom-i-bazom-podataka.html</link>
	<guid>https://www.mycity.rs/?p=1503377</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[0] Uvod&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
* &lt;span style=&quot;font-style: italic&quot;&gt;Za&lt;/span&gt; &lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;9000.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;font-style: italic&quot;&gt;poruku, tradicionalno --&amp;gt; poklon čitaocima novi članak&lt;/span&gt; &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Do sada je u članku forsirano okruženje &lt;span style=&quot;font-weight: bold&quot;&gt;MonoDevelop&lt;/span&gt;, na operativnom sistemu &lt;span style=&quot;font-style: italic&quot;&gt;Linux&lt;/span&gt;. U ovome članku će biti obrađen rad sa razvojnim okruženjem &lt;span style=&quot;font-weight: bold&quot;&gt;Visual Studio&lt;/span&gt;, na operativnom sistemu &lt;span style=&quot;font-style: italic&quot;&gt;Windows&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Preuzmite&lt;/span&gt;: Visual Studio 2012 Express for Windows Desktop
&lt;br /&gt;
&lt;span style=&quot;font-size: 9px; line-height: normal&quot;&gt;* &lt;span style=&quot;font-style: italic&quot;&gt;express&lt;/span&gt; verzija je besplatna i radiće bez regsitracije 30 dana; registracijom, dobijamo &lt;span style=&quot;text-decoration: underline&quot;&gt;besplatan&lt;/span&gt; ključ (serijski broj) za softver&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Takođe, u članku će biti rađeno sa &lt;span style=&quot;font-style: italic&quot;&gt;Microsoft Access 2007&lt;/span&gt; bazom podataka (ekstenzija: &lt;span style=&quot;font-weight: bold&quot;&gt;accdb&lt;/span&gt;)
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ideja članka je da čitaoca motiviše da &lt;span style=&quot;font-style: italic&quot;&gt;istražuje&lt;/span&gt; i da, koristeći uputstva za ovaj članak i prethodne članke, unapredi kod, doradi ga i pokuša da napravi sopstvenu bazu podataka. 
&lt;br /&gt;
Ponegde u članku će biti napisan &amp;quot;nagoveštaj&amp;quot; (&lt;span style=&quot;font-style: italic&quot;&gt;hint&lt;/span&gt;), šta se može pokušati, a ako članak bude popularan, članak će biti proširen i sa drugim konceptima (npr. kreiranje &lt;span style=&quot;font-style: italic&quot;&gt;niti&lt;/span&gt; koje brišu unose iz baze, po nekom kriterijumu i drugo). 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;text-decoration: underline&quot;&gt;Zadatak je sledeći&lt;/span&gt;: treba napraviti &lt;span style=&quot;font-style: italic&quot;&gt;Windows aplikaciju&lt;/span&gt; koja će u bazu podataka unositi određene podatke, vezane za nekog forumaša na MyCity-ju. Ti podaci neka budu: broj forumaša, njegovo ime, prezime, nadimak (nick) i informacija da li je korisnik vidljiv ili sakriven na forumu.
&lt;br /&gt;
Za korisnike u bazi treba omogućiti tabelarni prikaz korisnika i preko liste implementirati navigaciju za unose u bazi: prikaz prvog i poslednjeg korisnika u bazi, kao i prethodnog i sledećeg korisnika u bazi.
&lt;br /&gt;

&lt;br /&gt;
* Napomena: postoje različiti pristupi komuniciranja sa bazom podataka, i lakši i teži od ovde opisanog (recimo kroz kontrole na formi, zatim upotrebe drugih klasa i sl.). Ovo je samo jedna od različitih mogućnosti.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[1] Kreiranje projekta i dizajn forme&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Pokrenimo alat Visual Studio i kreirajmo novi projekat: &lt;span style=&quot;font-weight: bold&quot;&gt;File&lt;/span&gt; --&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;New Project...&lt;/span&gt;.
&lt;br /&gt;
- Odaberite opcije sa sledeće slike i kliknite na dugme &lt;span style=&quot;font-weight: bold&quot;&gt;OK&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_681114573_Forumasi1.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 1: Kreiranje Windows Forms aplikacija&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Dočekaće vas prazna forma. Odabrao sam da najpre uradimo dizajn forme, jer dizajn nije mnogo bio u fokusu u prethodnim člancima, a i ja kada pročitam neki zahtev, pokušavam da zamislim u glavi kako bi mogla da izgleda forma te aplikacije. Dakle, od značaja nam je panel &lt;span style=&quot;font-weight: bold&quot;&gt;Toolbox&lt;/span&gt; (pregledajte listu panela u meniju &lt;span style=&quot;font-weight: bold&quot;&gt;View&lt;/span&gt;. Ako slučajno isključite neki toolbar ili panel, ovaj meni je mesto gde ga možete opet aktivirati). Proučite malo ovaj panel i vidite kakvih sve komponenti ima u njemu.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_681114573_Forumasi2.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 2: prikaz najčešćih kontrola u panelu Toolbox&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Kontrole (komponente) se dodaju na formu dvostrukim klikom ili prevlačenjem kontrole na formu. Takođe, ako je potrebno više identičnih kontrola na formi, one se mogu brzo kopirati (CTRL + C, CTRL + V).
&lt;br /&gt;

&lt;br /&gt;
Ja sam zamislio da forma izgleda ovako:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_454076735_Zamisao.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 3: prikaz jedne od mogućih solucija za dizajn forme&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Dakle, dodajmo kontrole na formu i podesimo njihove osobine (eng. &lt;span style=&quot;font-style: italic&quot;&gt;properties&lt;/span&gt;): 
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_681114573_Forumasi3.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 4: prikaz promene osobina labele na formi&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Kroz panel &lt;span style=&quot;font-style: italic&quot;&gt;Properties&lt;/span&gt; menjamo osobine kontrola, na primer: ime kontrola, tekst koji kontrola ispisuje, vidljivost kontrole i druge. Za stanje kao na slici 3, trebaće nam sledeće kontrole:
&lt;br /&gt;
- 5 labela (Label)
&lt;br /&gt;
- 4 polja za unos teksta (TextBox)
&lt;br /&gt;
- 1 padajuća lista (ComboBox)
&lt;br /&gt;
- 1 kontrola koja može imati tabelarni prikaz (DataGridView)
&lt;br /&gt;
- 6 dugmadi (Button)
&lt;br /&gt;

&lt;br /&gt;
Rasporedite kontrole i izmenite im osobine tako da odgovaraju stanju na slici 3; ja sam ovako podesio osobine kontrola na formi:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Labele:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;Labela Broj:
&lt;br /&gt;
- Name: lblBroj
&lt;br /&gt;
- Text: Broj
&lt;br /&gt;

&lt;br /&gt;
Labela Ime:
&lt;br /&gt;
- Name: lblIme
&lt;br /&gt;
- Text: Ime
&lt;br /&gt;

&lt;br /&gt;
Labela Prezime:
&lt;br /&gt;
- Name: lblPrezime
&lt;br /&gt;
- Text: Prezime
&lt;br /&gt;

&lt;br /&gt;
Labela Nick:
&lt;br /&gt;
- Name: lblNick
&lt;br /&gt;
- Text: Nick
&lt;br /&gt;

&lt;br /&gt;
Labela Vidljivost:
&lt;br /&gt;
- Name: lblVidljivost
&lt;br /&gt;
- Text: Vidljivost&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Polja za unos teksta:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;- Name: txtBroj
&lt;br /&gt;
- Name: txtIme
&lt;br /&gt;
- Name: txtPrezime
&lt;br /&gt;
- Name: txtNick&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Padajuća lista:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;- Name: cbxVidljivost
&lt;br /&gt;
- Items: [kliknuti na &amp;quot;...&amp;quot;] i uneti sledeće stavke, jednu ispod druge, kao na slici:
&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_681114573_Forumasi4.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Grid:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;- Name: dgvGrid
&lt;br /&gt;
- ColumnHeadersVisible: false
&lt;br /&gt;
- RowsHeadersVisible: false
&lt;br /&gt;
- ReadOnly: true
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt;  eksperimentišite sa ovim osobinama, naučite šta one znače &amp;quot;kroz igru&amp;quot;. Recimo, podesite Anchor, koji je podrazumevano: top, left, da bude: top, left, right. Kada pokrenete aplikaciju, menjajte desnu stranu forme i pogedajte šta se dešava sa gridom.)&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Dugmad&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;Name: btnUnesi
&lt;br /&gt;
Text: Unesi
&lt;br /&gt;

&lt;br /&gt;
Name: btnPrikazi
&lt;br /&gt;
Text: Prikaži
&lt;br /&gt;

&lt;br /&gt;
Name: btnPrvi
&lt;br /&gt;
Text: &amp;lt;&amp;lt;
&lt;br /&gt;

&lt;br /&gt;
Name: btnPrethodni
&lt;br /&gt;
Text: &amp;lt;
&lt;br /&gt;

&lt;br /&gt;
Name: btnSledeci
&lt;br /&gt;
Text: &amp;gt;
&lt;br /&gt;

&lt;br /&gt;
Name: btnZadnji
&lt;br /&gt;
Text: &amp;gt;&amp;gt;
&lt;br /&gt;
&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[2] Dodavanje novih klasa i definisanje klase Forumas&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Dodaćemo novu klasu u projekat: unutar panela Solution Explorer, kliknite desnim tasterom miša na ime projekta, birajte stavku &lt;span style=&quot;font-weight: bold&quot;&gt;Add&lt;/span&gt; i odaberite stavku &lt;span style=&quot;font-weight: bold&quot;&gt;Class...&lt;/span&gt;. Dajte joj ime &amp;quot;Forumas&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_681114573_Forumasi5.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 5: dodavanje nove klase u projekat&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_681114573_Forumasi6.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 6: odabir i imenovanje klase&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Kada &amp;quot;uđemo&amp;quot; u klasu, primetićemo da su već definisane neke &amp;quot;using&amp;quot; linije, namespace i definicija klase Forumas.
&lt;br /&gt;

&lt;br /&gt;
U ovoj klasi ćemo definisati privatna polja i odgovarajuće Property polja (&amp;quot;setere&amp;quot; i &amp;quot;getere&amp;quot;), preko kojih se može čitati i/ili pisati u neko polje (tj. promenljivu).
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.Linq;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;
using System.Threading.Tasks;
&lt;br /&gt;

&lt;br /&gt;
namespace Forumasi
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; class Forumas
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private int brojForumasa;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int BrojForumasa
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get &amp;#123; return brojForumasa; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &amp;#123; brojForumasa = value; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private string ime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string Ime
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get &amp;#123; return ime; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &amp;#123; ime = value; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private string prezime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string Prezime
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get &amp;#123; return prezime; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &amp;#123; prezime = value; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private string nick;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string Nick
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get &amp;#123; return nick; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &amp;#123; nick = value; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private string vidljivost;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string Vidljivost
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get &amp;#123; return vidljivost; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &amp;#123; vidljivost = value; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Forumas&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //parametherless konstruktor
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Forumas&amp;#40;int brFor, string ime, string prez, string nick, string vidljivost&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; brojForumasa = brFor;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.ime = ime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prezime = prez;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.nick = nick;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.vidljivost = vidljivost;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Lak način da kreirate polja i njegove &lt;span style=&quot;font-style: italic&quot;&gt;settere&lt;/span&gt; i &lt;span style=&quot;font-style: italic&quot;&gt;gettere&lt;/span&gt; je da ukucate &lt;span style=&quot;font-weight: bold&quot;&gt;propfull&lt;/span&gt; i dva puta pritisnete taster &lt;span style=&quot;font-weight: bold&quot;&gt;TAB&lt;/span&gt;. Rezultat ove akcije je sledeće parče koda koje se generiše automatski (&lt;span style=&quot;font-weight: bold&quot;&gt;code snippet&lt;/span&gt;):
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private int myVar;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public int MyProperty
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;get &amp;#123; return myVar;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;set &amp;#123; myVar = value;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Na ovaj način ćete brzo da &amp;quot;završite&amp;quot; klasu i njene konstruktore. 
&lt;br /&gt;
&lt;span style=&quot;text-decoration: underline&quot;&gt;Napomena&lt;/span&gt;: ukoliko se desi da se podudari ime polja klase sa imenom parametra u konstruktoru, mora se koristiti ključna reč &lt;span style=&quot;font-weight: bold&quot;&gt;this&lt;/span&gt;. Vidite kod. Ključna reč &lt;span style=&quot;font-style: italic&quot;&gt;this&lt;/span&gt; ukazuje na to da se radi o elementu klase, a ne konstruktora. Dakle: &lt;span style=&quot;color: blue&quot;&gt;this.ime=ime;&lt;/span&gt; označava da se &lt;span style=&quot;font-style: italic&quot;&gt;polju klase&lt;/span&gt; s nazivom ime, dodeljuje vrednost parametra ime iz konstruktora.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[3] Kreiranje baze podataka&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
OK, pošto je prošao šablonski deo, da se opet vratimo na zanimljive stvari.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/smajli.gif&quot; alt=&quot;smešak&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
- Pokrenite &lt;span style=&quot;font-style: italic&quot;&gt;Access&lt;/span&gt; i kreirajte &lt;span style=&quot;font-style: italic&quot;&gt;New Blank Database&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- Desnim tasterom miša kliknite na &amp;quot;Table1&amp;quot; i odaberite &lt;span style=&quot;font-weight: bold&quot;&gt;Design View&lt;/span&gt;. Kada se otvori polje za unos imena, unesite: &amp;quot;TForumas&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
- Unesite podatke kao na sledećoj slici:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_681114573_Forumasi7.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 7: kreiranje strukture tabele u Design View-u&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Polja su, dakle: &amp;quot;BrojForumasa&amp;quot;, &amp;quot;ImeForumasa&amp;quot;, &amp;quot;PrezimeForumasa&amp;quot;, &amp;quot;NickForumasa&amp;quot;, &amp;quot;VidljivostForumasa&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;BrojForumasa&lt;/span&gt; treba definisati kao &lt;span style=&quot;font-style: italic&quot;&gt;primarni ključ&lt;/span&gt; (videti opciju sa ribbona: Primary Key)
&lt;br /&gt;
Primarni ključ jednoznačno identifikuje zapis u bazi. Broj forumaša, dakle, jednoznačno identifikuje nekog forumaša i ne može se desiti da postoje dva člana foruma koji se vode pod istim brojem.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Ja sam sačuvao bazu unutar: C:\
&lt;br /&gt;

&lt;br /&gt;
Ovi unosi iz &lt;span style=&quot;font-style: italic&quot;&gt;Design View&lt;/span&gt;-a će se transponovati u kolone unutar &lt;span style=&quot;font-style: italic&quot;&gt;Datasheet View&lt;/span&gt;-a. 
&lt;br /&gt;
Inače, eksperimentište sa osobinama ovih unosa. Na primer, dozvoljena veličina stringa, ili kod primarnog ključa uočite da je definisano da nema duplikata. 
&lt;br /&gt;

&lt;br /&gt;
Izgled baze kada sam završio aplikaciju i preko nje uneo par forumaša:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_45407891_Baza.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 8: Pregled unosa tabele u Datasheet View-u&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[4] Kreiranje klase Broker&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Klasa Broker je usko vezana za bazu podataka; u njoj će se manipulisati konekcijama, transakcijama, zadavaće se SQL upiti i drugo.
&lt;br /&gt;

&lt;br /&gt;
Najpre, kreirajmo klasu Broker (videti sliku 5 i sliku 6).
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; U tekstu će biti objašnjeni delovi koda, a na kraju objašnjenja će, &lt;span style=&quot;font-weight: bold&quot;&gt;unutar spoilera&lt;/span&gt;, biti dodat &lt;span style=&quot;text-decoration: underline&quot;&gt;čitav kod&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- Najpre, neophodno je dodati par using direktiva, prvenstveno:
&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;&lt;span style=&quot;color: blue&quot;&gt;using&lt;/span&gt; System.Data;
&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;using&lt;/span&gt; System.Data.OleDb;&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Dalje, deklarisaće se sledeće promenljive: &lt;span style=&quot;font-style: italic&quot;&gt;komanda&lt;/span&gt;, &lt;span style=&quot;font-style: italic&quot;&gt;konekcija&lt;/span&gt; i &lt;span style=&quot;font-style: italic&quot;&gt;transakcija&lt;/span&gt; i definisati &lt;span style=&quot;font-style: italic&quot;&gt;konekcioni string&lt;/span&gt;:
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;OleDbCommand command;
&lt;br /&gt;
OleDbConnection connection;
&lt;br /&gt;
OleDbTransaction transaction;
&lt;br /&gt;
private string connectionString = @&amp;quot;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C&amp;#58;\Forumasi.accdb; Persist Security Info=False;&amp;quot;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Uočimo specifičnu sintaksu konekcionog stringa. Izgled konekcionog stringa zavisi od više faktora, na primer tip baze (Access, SQL Server, MySQL...) i drugih parametara (zaštita i drugo).
&lt;br /&gt;

&lt;br /&gt;
Primer konekcionog stringa koji sam koristio u Visual Studio 2005 za staru Access-ovu bazu (format 2000, ekstenzija mdb):
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private string connectionString = @&amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C&amp;#58;\NekaBaza.mdb;&amp;quot;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Koristan link za konekcione stringove: ConnectionStrings
&lt;br /&gt;
* odaberite sa kojom bazom radite i vidite primere konekcionih stringova
&lt;br /&gt;
* Još jedan primer, sa foruma MyCity: &lt;a href=&quot;http://www.mycity.rs/NET/Update-query-u-C.html#p1527468&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;LINK&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
- Unutar konstruktora klase broker izvršimo inicijalizaciju konekcije, na osnovu konekcionog stringa:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public Broker&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; connection = new OleDbConnection&amp;#40;connectionString&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;Transakcija&lt;/span&gt; se može shvatiti kao logičko izvršenje jedne jedinice posla. Transakciju započinjemo kada treba da uradimo neke aktivnosti nad bazom i to kada je &lt;span style=&quot;font-style: italic&quot;&gt;otvorena&lt;/span&gt; konekcija na bazu:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public void PocniTransakciju&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;connection.State != ConnectionState.Open&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; connection.Open&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transaction = connection.BeginTransaction&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch &amp;#40;Exception ex&amp;#41; &amp;#123; MessageBox.Show&amp;#40;&amp;quot;Doslo je do greske prilikom pocinjanja transakcije&amp;quot; + ex&amp;#41;; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Transakcije se odvijaju po principu &amp;quot;sve ili ništa&amp;quot;, i postoje izvesne osobine transakcije (ACID). Saznajte više o transakcijama: LINK.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Sledeći kod će ubaciti objekat klase Forumas u bazu:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public void InsertForumas&amp;#40;Forumas fr&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PocniTransakciju&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command = new OleDbCommand&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string upit = &amp;quot;INSERT INTO TForumas VALUES&amp;#40;'&amp;quot; + fr.BrojForumasa + &amp;quot;','&amp;quot; + fr.Ime + &amp;quot;','&amp;quot; + fr.Prezime + &amp;quot;','&amp;quot; + fr.Nick + &amp;quot;','&amp;quot; + fr.Vidljivost + &amp;quot;'&amp;#41;&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command.CommandText = upit;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command.Connection = connection;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command.Transaction = transaction;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command.ExecuteNonQuery&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transaction.Commit&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch &amp;#40;Exception ex&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transaction.Rollback&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new Exception&amp;#40;&amp;quot;Broker.InsertForumas&amp;quot;, ex&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finally &amp;#123; connection.Close&amp;#40;&amp;#41;; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dakle, nakon što započnemo transakciju, zadaje se SQL komanda koju treba izvršiti nad bazom. Za potrebe ovog primera, neophodno je znati osnove SQL jezika (vidi LINK). Određenoj komandi, dakle, dodeljujemo konkretan upit, konekciju i transakciju, nakon čega je izvršavamo. 
&lt;br /&gt;

&lt;br /&gt;
Dobra praksa je koristiti &lt;span style=&quot;font-weight: bold&quot;&gt;try-catch-finally&lt;/span&gt; blokove baš po ovoj šemi:
&lt;br /&gt;
- unutar &lt;span style=&quot;font-weight: bold&quot;&gt;try&lt;/span&gt; bloka definišemo gde ima &amp;quot;prostora za grešku&amp;quot;, uključujući i &lt;span style=&quot;font-style: italic&quot;&gt;Commit&lt;/span&gt; transakcije. Ako dođe do greške, unutar &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; bloka poništavamo transakciju sa &lt;span style=&quot;font-weight: bold&quot;&gt;rollback&lt;/span&gt;, dok u &lt;span style=&quot;font-weight: bold&quot;&gt;finally&lt;/span&gt; bloku (koji se svakako izvršava) zatvaramo konekciju. Izuzeci su objašnjeni u jednom od prethodni članaka, pa ako ovaj deo nije jasan, preporučujem da se taj članak pročita.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Select SQL upit koji vadi sve zapise iz baze je obrađen u sledećem kodu:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public DataTable SelectForumas&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PocniTransakciju&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command = new OleDbCommand&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command.CommandText = &amp;quot;SELECT * FROM TForumas&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command.Connection = connection;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command.Transaction = transaction;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DataTable forumasi = new DataTable&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OleDbDataAdapter adapter = new OleDbDataAdapter&amp;#40;command&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.Fill&amp;#40;forumasi&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transaction.Commit&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return forumasi;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch &amp;#40;Exception ex&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transaction.Rollback&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new Exception&amp;#40;&amp;quot;Broker.SelectForumas&amp;quot;, ex&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finally &amp;#123; connection.Close&amp;#40;&amp;#41;; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;
Kao što se vidi, i ovaj upit je jednostavan. Inače, ovi upiti su osnovni i jednostavni.
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Za domaći, probajte da napišete &lt;span style=&quot;font-weight: bold&quot;&gt;DELETE&lt;/span&gt; upit. U kasnijem proširenju članka će i on biti objašnjen.
&lt;br /&gt;

&lt;br /&gt;
Elem, ovde umnogome olakšava posao objekat klase &lt;span style=&quot;font-weight: bold&quot;&gt;DataAdapter&lt;/span&gt;, koji je sposoban da na osnovu prosleđenog &lt;span style=&quot;font-style: italic&quot;&gt;upita&lt;/span&gt; popuni &lt;span style=&quot;font-weight: bold&quot;&gt;DataTable&lt;/span&gt; (koji je i izlaz iz funkcije).
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Vidi kompletan kod&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;
using System.Data;
&lt;br /&gt;
using System.Data.OleDb;
&lt;br /&gt;
using System.Windows.Forms;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
namespace Forumasi
&lt;br /&gt;
{
&lt;br /&gt;
    class Broker
&lt;br /&gt;
    {
&lt;br /&gt;
        OleDbCommand command;
&lt;br /&gt;
        OleDbConnection connection;
&lt;br /&gt;
        OleDbTransaction transaction;
&lt;br /&gt;
        private string connectionString = @&amp;quot;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Forumasi.accdb; Persist Security Info=False;&amp;quot;;
&lt;br /&gt;
        
&lt;br /&gt;
        public Broker()
&lt;br /&gt;
        {
&lt;br /&gt;
            connection = new OleDbConnection(connectionString);
&lt;br /&gt;
        }
&lt;br /&gt;
        
&lt;br /&gt;
        public void PocniTransakciju()
&lt;br /&gt;
        {
&lt;br /&gt;
            try
&lt;br /&gt;
            {
&lt;br /&gt;
                if (connection.State != ConnectionState.Open)
&lt;br /&gt;
                    connection.Open();
&lt;br /&gt;
                transaction = connection.BeginTransaction();
&lt;br /&gt;
            }
&lt;br /&gt;
            catch (Exception ex) { MessageBox.Show(&amp;quot;Doslo je do greske prilikom pocinjanja transakcije&amp;quot; + ex); }
&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        public void InsertForumas(Forumas fr)
&lt;br /&gt;
        {
&lt;br /&gt;
            PocniTransakciju();
&lt;br /&gt;
            command = new OleDbCommand();
&lt;br /&gt;
            string upit = &amp;quot;INSERT INTO TForumas VALUES('&amp;quot; + fr.BrojForumasa + &amp;quot;','&amp;quot; + fr.Ime + &amp;quot;','&amp;quot; + fr.Prezime + &amp;quot;','&amp;quot; + fr.Nick + &amp;quot;','&amp;quot; + fr.Vidljivost + &amp;quot;')&amp;quot;;
&lt;br /&gt;
            try
&lt;br /&gt;
            {
&lt;br /&gt;
                command.CommandText = upit;
&lt;br /&gt;
                command.Connection = connection;
&lt;br /&gt;
                command.Transaction = transaction;
&lt;br /&gt;
                command.ExecuteNonQuery();
&lt;br /&gt;
                transaction.Commit();
&lt;br /&gt;
            }
&lt;br /&gt;
            catch (Exception ex)
&lt;br /&gt;
            {
&lt;br /&gt;
                transaction.Rollback();
&lt;br /&gt;
                throw new Exception(&amp;quot;Broker.InsertForumas&amp;quot;, ex);
&lt;br /&gt;
            }
&lt;br /&gt;
            finally { connection.Close(); }
&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        public DataTable SelectForumas()
&lt;br /&gt;
        {
&lt;br /&gt;
            PocniTransakciju();
&lt;br /&gt;
            command = new OleDbCommand();
&lt;br /&gt;
            try
&lt;br /&gt;
            {
&lt;br /&gt;
                command.CommandText = &amp;quot;SELECT * FROM TForumas&amp;quot;;
&lt;br /&gt;
                command.Connection = connection;
&lt;br /&gt;
                command.Transaction = transaction;
&lt;br /&gt;
                DataTable forumasi = new DataTable();
&lt;br /&gt;
                OleDbDataAdapter adapter = new OleDbDataAdapter(command);
&lt;br /&gt;
                adapter.Fill(forumasi);
&lt;br /&gt;
                transaction.Commit();
&lt;br /&gt;
                return forumasi;
&lt;br /&gt;
            }
&lt;br /&gt;
            catch (Exception ex)
&lt;br /&gt;
            {
&lt;br /&gt;
                transaction.Rollback();
&lt;br /&gt;
                throw new Exception(&amp;quot;Broker.SelectForumas&amp;quot;, ex);
&lt;br /&gt;
            }
&lt;br /&gt;
            finally { connection.Close(); }
&lt;br /&gt;
        }
&lt;br /&gt;
    }
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[5] Upotreba generičkih listi i obrada događaja dugmadi&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Za početak, otvorite formu koju ste dizajnirali i dvostrukim klikom overite svu dugmad na formi. Dvostrukim klikom na neko dugme ćemo automatski formirati deo koda koji obrađuje događaj &amp;quot;On Click&amp;quot;. 
&lt;br /&gt;

&lt;br /&gt;
Na primer, dvostrukim klikom na dugme &amp;quot;Prikazi&amp;quot;, kreiraće se ovaj deo koda:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private void btnPrikazi_Click&amp;#40;object sender, EventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // neki_blok_koda
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dakle, svaki put kada kliknemo na dugme &amp;quot;Prikazi&amp;quot;, izvršiće se neki_blok_koda (deo koda koji definišemo).
&lt;br /&gt;

&lt;br /&gt;
Vratimo se na početak klase naše forme (ja joj promenih ime u MyCity) i unesimo ispod definicije klase sledeće:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Broker broker = null;
&lt;br /&gt;
List&amp;lt;Forumas&amp;gt; lista = null;
&lt;br /&gt;
int tekuciIndex = 0;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;List&amp;lt;Forumas&amp;gt;&lt;/span&gt; je generička lista, dakle, lista koja se sastoji od specifičnih objekata (forumasa). Za upotrebu generičkih listi, neophodna je using direktiva: &lt;span style=&quot;color: blue&quot;&gt;using System.Collections.Generic&lt;/span&gt;;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;tekuciIndex&lt;/span&gt; će nam služiti kao pokazivač na neki element u generičkoj listi.
&lt;br /&gt;

&lt;br /&gt;
Unutar konstruktora forme se dodeljuju vrednosti &lt;a href=&quot;http://www.mycity.rs/Korisnik/brok/&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;brokeru&lt;/a&gt;, listi i vrši se inicijalizacija komponenti forme.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Zbog preglednosti koda, mogu se koristiti tzv. &lt;span style=&quot;font-weight: bold&quot;&gt;regioni&lt;/span&gt;. U kodu se može videti da sam definisao dva regiona:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_136224304_Region.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika 9: Upotreba regiona radi preglednosti koda&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Klikom na plusić, &amp;quot;razvija se&amp;quot; deo koda vezan za definisani region. Region se formira na sledeći način:
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;&lt;span style=&quot;color: blue&quot;&gt;#region&lt;/span&gt; Ime regiona
&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;#endregion&lt;/span&gt;&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
Prvi region je vezan za listu: &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;VIDI KOD&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;#region Manipulacija s listom
&lt;br /&gt;
        public void TransformisiUListu(DataTable datatable)
&lt;br /&gt;
        {
&lt;br /&gt;
            lista.Clear();
&lt;br /&gt;
            foreach (DataRow red in datatable.Rows)
&lt;br /&gt;
            {
&lt;br /&gt;
                Forumas fr = new Forumas((int)red[0], (string)red[1], (string)red[2], (string)red[3], (string)red[4]);
&lt;br /&gt;
                lista.Add(fr);
&lt;br /&gt;
            }
&lt;br /&gt;
        }
&lt;br /&gt;
        
&lt;br /&gt;
        public void PrikaziForumasaNaPoziciji(int index)
&lt;br /&gt;
        {
&lt;br /&gt;
            txtBroj.Text = Convert.ToString(lista[index].BrojForumasa);
&lt;br /&gt;
            txtIme.Text = lista[index].Ime;
&lt;br /&gt;
            txtPrezime.Text = lista[index].Prezime;
&lt;br /&gt;
            txtNick.Text = lista[index].Nick;
&lt;br /&gt;
            cbxVidljivost.SelectedItem = lista[index].Vidljivost;
&lt;br /&gt;
        }
&lt;br /&gt;
        
&lt;br /&gt;
        public bool PostojiForumasUListi(int brFor)
&lt;br /&gt;
        {
&lt;br /&gt;
            foreach (Forumas fr in lista)
&lt;br /&gt;
            {
&lt;br /&gt;
                if (fr.BrojForumasa == brFor)
&lt;br /&gt;
                    return true;
&lt;br /&gt;
            }
&lt;br /&gt;
            return false;
&lt;br /&gt;
        }
&lt;br /&gt;
        #endregion&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Metoda &lt;span style=&quot;font-weight: bold&quot;&gt;TransformisiUListu&lt;/span&gt; uzima objekat tipa &lt;span style=&quot;font-style: italic&quot;&gt;DataTable&lt;/span&gt; i transformiše u listu forumaša. Ovde nema mnogo mudrosti: treba izvrtiti petlju tako da se na osnovu svakog reda izvuku podaci i napravi forumaš - koga ćemo ubaciti u listu u svakoj iteraciji.
&lt;br /&gt;

&lt;br /&gt;
Metoda &lt;span style=&quot;font-weight: bold&quot;&gt;PrikaziForumasaNaPoziciji&lt;/span&gt; je zadužena da na osnovu zadatog indeksa, zaviri na tu poziciju u generičkoj listi i da, na osnovu konkretnog forumaša u listi - popuni Text Boxove i Combo Box na formi.
&lt;br /&gt;

&lt;br /&gt;
Metoda &lt;span style=&quot;font-weight: bold&quot;&gt;PostojiForumasUListi&lt;/span&gt; je zamišljena da se koristi u svrhu zaštitnog mehanizma, dakle, da nije moguće uneti dva forumaša koji bi imali isti &lt;span style=&quot;font-style: italic&quot;&gt;brojForumasa&lt;/span&gt;. 
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Ovaj mehanizam se zasniva na proveri &lt;span style=&quot;text-decoration: underline&quot;&gt;iz liste&lt;/span&gt;! Petlja izvrti da li je broj nađen u listi --&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;za domaći&lt;/span&gt;: osmisliti metodu koja će čitati vrednosti &lt;span style=&quot;text-decoration: underline&quot;&gt;iz baze&lt;/span&gt; kako bi videla da li ima te vrednosti u bazi (može biti objašnjeno u ekstenziji članka).
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Drugi region je vezan za dugmad.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;btnUnesi_Click&lt;/span&gt; - treba da proveri (na neki način, a ovde čitamo iz liste) da li već ima forumaša sa konkretnim brojem i ako nema, napravi objekat forumaša na osnovu podataka iz forme, i najzad, da &amp;quot;kaže&amp;quot; brokeru da ga ubaci u bazu.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;btnPrikazi_Click&lt;/span&gt; - služi za punjenje grida, njegovo osvežavanje (da se prikažu ažurni podaci), i transformaciju ovih podataka u listu.
&lt;br /&gt;

&lt;br /&gt;
Ostali dugmići su navigacioni i barataju sa indeksom i prikazuju određenog forumaša u zavisnosti od pozicije u listi (određene na osnovu tog indeksa).
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt;  &lt;span class=&quot;skriven_spoiler_znak&quot;&gt;+ &lt;/span&gt;&lt;span class=&quot;skriven_spoiler_link&quot; onclick=&quot;sakrij_prikazi_spoiler(this);&quot; style=&quot;text-decoration:underline; color:#004A8B; cursor: pointer;&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Vidi kompletan kod klase&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;display: none;&quot; class=&quot;skriven_spoiler&quot;&gt;&lt;cite2&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.ComponentModel;
&lt;br /&gt;
using System.Data;
&lt;br /&gt;
using System.Drawing;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;
using System.Windows.Forms;
&lt;br /&gt;

&lt;br /&gt;
namespace Forumasi
&lt;br /&gt;
{
&lt;br /&gt;
    public partial class MyCity : Form
&lt;br /&gt;
    {
&lt;br /&gt;
        //inicijalizacija na nivou klase
&lt;br /&gt;
        Broker broker = null;
&lt;br /&gt;
        List&amp;lt;Forumas&amp;gt; lista = null;
&lt;br /&gt;
        int tekuciIndex = 0;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
        public MyCity()
&lt;br /&gt;
        {
&lt;br /&gt;
            InitializeComponent();
&lt;br /&gt;

&lt;br /&gt;
            //dodela vrednosti unutar konstruktora
&lt;br /&gt;
            broker = new Broker();
&lt;br /&gt;
            lista = new List&amp;lt;Forumas&amp;gt;();
&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        #region Manipulacija s listom
&lt;br /&gt;
        public void TransformisiUListu(DataTable datatable)
&lt;br /&gt;
        {
&lt;br /&gt;
            lista.Clear();
&lt;br /&gt;
            foreach (DataRow red in datatable.Rows)
&lt;br /&gt;
            {
&lt;br /&gt;
                Forumas fr = new Forumas((int)red[0], (string)red[1], (string)red[2], (string)red[3], (string)red[4]);
&lt;br /&gt;
                lista.Add(fr);
&lt;br /&gt;
            }
&lt;br /&gt;
        }
&lt;br /&gt;
        
&lt;br /&gt;
        public void PrikaziForumasaNaPoziciji(int index)
&lt;br /&gt;
        {
&lt;br /&gt;
            txtBroj.Text = Convert.ToString(lista[index].BrojForumasa);
&lt;br /&gt;
            txtIme.Text = lista[index].Ime;
&lt;br /&gt;
            txtPrezime.Text = lista[index].Prezime;
&lt;br /&gt;
            txtNick.Text = lista[index].Nick;
&lt;br /&gt;
            cbxVidljivost.SelectedItem = lista[index].Vidljivost;
&lt;br /&gt;
        }
&lt;br /&gt;
        
&lt;br /&gt;
        public bool PostojiForumasUListi(int brFor)
&lt;br /&gt;
        {
&lt;br /&gt;
            foreach (Forumas fr in lista)
&lt;br /&gt;
            {
&lt;br /&gt;
                if (fr.BrojForumasa == brFor)
&lt;br /&gt;
                    return true;
&lt;br /&gt;
            }
&lt;br /&gt;
            return false;
&lt;br /&gt;
        }
&lt;br /&gt;
        #endregion
&lt;br /&gt;

&lt;br /&gt;
        #region Obrada dogadjaja dugmadi
&lt;br /&gt;
        private void btnUnesi_Click(object sender, EventArgs e)
&lt;br /&gt;
        {
&lt;br /&gt;
            if (!PostojiForumasUListi(Convert.ToInt32(txtBroj.Text)) &amp;amp; txtBroj.TextLength &amp;gt; 0)
&lt;br /&gt;
            {
&lt;br /&gt;
                Forumas forumas = new Forumas(Convert.ToInt32(txtBroj.Text), txtIme.Text, txtPrezime.Text, txtNick.Text, cbxVidljivost.SelectedItem.ToString());
&lt;br /&gt;
                broker.InsertForumas(forumas);
&lt;br /&gt;
            }
&lt;br /&gt;
            else MessageBox.Show(&amp;quot;U bazi vec postoji forumas sa zadatim brojem!!!&amp;quot;);
&lt;br /&gt;

&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        private void btnPrikazi_Click(object sender, EventArgs e)
&lt;br /&gt;
        {
&lt;br /&gt;
            dgvGrid.DataSource = broker.SelectForumas();
&lt;br /&gt;
            dgvGrid.Refresh();
&lt;br /&gt;
            TransformisiUListu(dgvGrid.DataSource as DataTable);
&lt;br /&gt;

&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        private void btnPrvi_Click(object sender, EventArgs e)
&lt;br /&gt;
        {
&lt;br /&gt;
            tekuciIndex = 0;
&lt;br /&gt;
            PrikaziForumasaNaPoziciji(tekuciIndex);
&lt;br /&gt;

&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        private void btnPrethodni_Click(object sender, EventArgs e)
&lt;br /&gt;
        {
&lt;br /&gt;
            if (tekuciIndex &amp;gt; 0)
&lt;br /&gt;
            {
&lt;br /&gt;
                tekuciIndex--;
&lt;br /&gt;
                PrikaziForumasaNaPoziciji(tekuciIndex);
&lt;br /&gt;
            }
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        private void btnSledeci_Click(object sender, EventArgs e)
&lt;br /&gt;
        {
&lt;br /&gt;
            if (tekuciIndex &amp;lt; lista.Count - 1)
&lt;br /&gt;
            {
&lt;br /&gt;
                tekuciIndex++;
&lt;br /&gt;
                PrikaziForumasaNaPoziciji(tekuciIndex);
&lt;br /&gt;
            }
&lt;br /&gt;

&lt;br /&gt;
        }
&lt;br /&gt;

&lt;br /&gt;
        private void btnZadnji_Click(object sender, EventArgs e)
&lt;br /&gt;
        {
&lt;br /&gt;
            tekuciIndex = lista.Count - 1;
&lt;br /&gt;
            PrikaziForumasaNaPoziciji(tekuciIndex);
&lt;br /&gt;

&lt;br /&gt;
        }
&lt;br /&gt;
        #endregion
&lt;br /&gt;
    }
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite2&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Do sledećeg članka  &lt;img src=&quot;https://www.mycity.rs/images/smiles/beer.gif&quot; alt=&quot;Ziveli&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
E, da &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt; I kome zatreba ( &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt; ) , evo ga gotov solution sa bazom &lt;img src=&quot;https://www.mycity.rs/images/smiles/smajli.gif&quot; alt=&quot;smešak&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
[url=https://www.mycity.rs/must-login.png</description>
	<pubDate>Sat, 02 Mar 2013 20:42:26 +0100</pubDate>
</item>
<item>
	<title>[8] C# - Delegati, događaji i programske niti</title>
	<link>https://www.mycity.rs/NET/8-C-Delegati-dogadjaji-i-programske-niti.html</link>
	<guid>https://www.mycity.rs/?p=1286044</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>==================================================
&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;Za 3000 poruku - poklon novi članak&lt;/span&gt; 
&lt;br /&gt;
==================================================
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Deleg&amp;#1072;ti&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Deleg&amp;#1072;ti su &lt;span style=&quot;font-weight: bold&quot;&gt;kl&amp;#1072;se&lt;/span&gt; koje n&amp;#1072;m služe z&amp;#1072; &lt;span style=&quot;text-decoration: underline&quot;&gt;prenošenje metode k&amp;#1072;o p&amp;#1072;r&amp;#1072;metr&amp;#1072;&lt;/span&gt;. 
&lt;br /&gt;
--&amp;gt; implementir&amp;#1072;ju se k&amp;#1072;o kl&amp;#1072;se, izvedene iz &lt;span style=&quot;font-style: italic&quot;&gt;System.Delegate&lt;/span&gt;, (ova implementacija je &amp;quot;sakrivena&amp;quot; od korisnika, ali na osnovu sint&amp;#1072;kse komp&amp;#1072;jler &amp;quot;zna&amp;quot; dodatne sakrivene d&amp;#1072;talje). 
&lt;br /&gt;

&lt;br /&gt;
Deleg&amp;#1072;t se definiše isto kao i bilo koja druga kl&amp;#1072;s&amp;#1072;, dakle ili u okviru neke kl&amp;#1072;se ili u okviru &lt;span style=&quot;font-style: italic&quot;&gt;namespace&lt;/span&gt;-&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
Delegati se koriste z&amp;#1072;: 
&lt;br /&gt;
- kreiranje dog&amp;#1072;đ&amp;#1072;ja,
&lt;br /&gt;
- pokret&amp;#1072;nje novih programskih niti,
&lt;br /&gt;
- kreiranje opštih kl&amp;#1072;sa gde se metode menj&amp;#1072;ju din&amp;#1072;mički
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-decoration: underline&quot;&gt;Akcenat&lt;/span&gt; u članku će biti na događajima i programskim nitima.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
K&amp;#1072;d&amp;#1072; se definiše deleg&amp;#1072;t, koristi se:
&lt;br /&gt;
- ključn&amp;#1072; reč &lt;span style=&quot;font-style: italic&quot;&gt;delegate&lt;/span&gt;
&lt;br /&gt;
- povr&amp;#1072;tni tip 
&lt;br /&gt;
- i p&amp;#1072;r&amp;#1072;metri (u sledećem primeru ih nem&amp;#1072;),
&lt;br /&gt;

&lt;br /&gt;
... a sve to definiše potpis metode n&amp;#1072; koju deleg&amp;#1072;t može pok&amp;#1072;ziv&amp;#1072;ti. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer definicije deleg&amp;#1072;t&amp;#1072;:
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;public delegate void KlasaDelegat();&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Delegat može pozivati više metoda i tada se naziva &lt;span style=&quot;font-weight: bold&quot;&gt;višezn&amp;#1072;čni deleg&amp;#1072;t&lt;/span&gt;. Višeznačni delegat ima povr&amp;#1072;tnu vrednost &lt;span style=&quot;font-weight: bold&quot;&gt;void&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
using System;
&lt;br /&gt;

&lt;br /&gt;
namespace delegati
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public delegate void KlasaDelegat&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class GlavniProgram
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void Metoda1&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Ispis poruke metode 1&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void Metoda2&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Ispis poruke metode 2&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KlasaDelegat delegat = new KlasaDelegat&amp;#40;Metoda1&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GlavniProgram gp = new GlavniProgram&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delegat += new KlasaDelegat&amp;#40;gp.Metoda2&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delegat&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_664694844_delegdeleg.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Posmatrajmo sliku:
&lt;br /&gt;

&lt;br /&gt;
U liniji 5 vidimo definiciju delegata. Zanimljivo je da nema parametara, a kasnije u primeru dodajemo parametre (tj. metode) &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;
U liniji 20 kreiramo instancu delegata i presleđujemo mu &lt;span style=&quot;font-weight: bold&quot;&gt;statičku&lt;/span&gt; metodu Metoda1
&lt;br /&gt;
U liniji 22 možemo videti kako se delegatu dodaje &lt;span style=&quot;font-weight: bold&quot;&gt;nestatička&lt;/span&gt; metoda (metoda instance).
&lt;br /&gt;
U liniji 23 može se poziva delegat, a on poziva &lt;span style=&quot;font-weight: bold&quot;&gt;sve metode na koje pokazuje&lt;/span&gt;. &lt;span style=&quot;font-style: italic&quot;&gt;Vrlo je zanimljiv način&lt;/span&gt; na koji se pokreće &lt;span style=&quot;font-weight: bold&quot;&gt;objekat&lt;/span&gt; delegata
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Događaji&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Dog&amp;#1072;đ&amp;#1072;ji predst&amp;#1072;vlj&amp;#1072;ju posebnu vrstu višezn&amp;#1072;čnih deleg&amp;#1072;t&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
Kod dog&amp;#1072;đ&amp;#1072;ja uvek im&amp;#1072;mo:
&lt;br /&gt;
a) kl&amp;#1072;su koj&amp;#1072; generiše dog&amp;#1072;đ&amp;#1072;j (tzv. &lt;span style=&quot;font-weight: bold&quot;&gt;gener&amp;#1072;tor dog&amp;#1072;đ&amp;#1072;j&amp;#1072;&lt;/span&gt;)
&lt;br /&gt;
b) kl&amp;#1072;su koj&amp;#1072; želi d&amp;#1072; bude ob&amp;#1072;vešten&amp;#1072; o nekom dog&amp;#1072;đ&amp;#1072;ju (&lt;span style=&quot;font-weight: bold&quot;&gt;potroš&amp;#1072;č&amp;#1072;&lt;/span&gt;). 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
using System;
&lt;br /&gt;

&lt;br /&gt;
namespace delegati
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public delegate void BrojLajkovaHandler&amp;#40;int stanje&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public class Lajk
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int stanje;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public event BrojLajkovaHandler BrojLajkova;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void Lajkuj&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;BrojLajkova != null&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;stanje += 1;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BrojLajkova&amp;#40;stanje&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class Program
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; public static void Prikaz&amp;#40;int stanje&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;I korisniku mcrule se svidja ova poruka; ukupno lajkova&amp;#58; &amp;#123;0&amp;#125;\n&amp;quot;,stanje&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void MrCule&amp;#40;int stanje&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Komentar&amp;#58; mcrule je sveprisutan - idem da predložim promenu imena foruma!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;static void Main&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Lajk lajk1 = new Lajk&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lajk1.stanje=5;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Ukupno lajkova&amp;#58; &amp;#123;0&amp;#125;\n&amp;quot;,lajk1.stanje&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;mcrule je upravo video poruku i klikce misem &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lajk1.BrojLajkova += new BrojLajkovaHandler&amp;#40;Prikaz&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; lajk1.Lajkuj&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lajk1.BrojLajkova -= new BrojLajkovaHandler&amp;#40;Prikaz&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Meanwhile, korisnik knežević je takodje video poruku i analizira lajkove&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lajk1.BrojLajkova += new BrojLajkovaHandler&amp;#40;MrCule&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;lajk1.Lajkuj&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_664694844_delegdog.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Analiza koda
&lt;br /&gt;

&lt;br /&gt;
- Prvo smo definisali delegat: &lt;span style=&quot;font-weight: bold&quot;&gt;BrojLajkovaHandler&lt;/span&gt; u okviru namspace-a
&lt;br /&gt;
- U ovom šaljivom primeru klasa Lajk predst&amp;#1072;vlj&amp;#1072; gener&amp;#1072;tor dog&amp;#1072;đ&amp;#1072;j&amp;#1072;
&lt;br /&gt;
--&amp;gt; događaj se definiše u klasi Lajk: &amp;quot;public event &lt;span style=&quot;font-weight: bold&quot;&gt;BrojLajkovaHandler&lt;/span&gt; BrojLajkova&amp;quot;; uočimo vezu između događaja i delegata &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;
// K&amp;#1072;d&amp;#1072; se definiše dog&amp;#1072;đ&amp;#1072;j, on se poziva k&amp;#1072;o bilo koja druga metoda! Takođe obratiti pažnju na specifičnosti sintakse (metoda + klasa).
&lt;br /&gt;
// dakle, pošto ima i &amp;quot;gena&amp;quot; klase (budući da je tipa delegat), moguće je d&amp;#1072; im&amp;#1072; vrednost null p&amp;#1072; z&amp;#1072;to to prover&amp;#1072;v&amp;#1072;mo d&amp;#1072; ne bi bio izb&amp;#1072;čen izuzet&amp;#1072;k. 
&lt;br /&gt;

&lt;br /&gt;
- U ovom primeru svud&amp;#1072; gde se menj&amp;#1072; st&amp;#1072;nje, overićemo ga dodatnim mcrule-tovim lajkom (videti metodu &amp;quot;Lajkuj&amp;quot;). 
&lt;br /&gt;
--&amp;gt; znači, događaju prosleđujemo stanje uvećano za 1.
&lt;br /&gt;

&lt;br /&gt;
- &amp;quot;klasa potrošač&amp;quot; je klasa Program;
&lt;br /&gt;
- sadrži metodu prikaz koja ima isti potpis kao delegat: &lt;span style=&quot;font-weight: bold&quot;&gt;BrojLajkovaHandler&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
- Specificna linija: &amp;quot;lajk1.BrojLajkova += new BrojLajkovaHandler(Prikaz);&amp;quot;
&lt;br /&gt;
--&amp;gt; vidi se veza objekta (lajk1) klase generatora događaja (Lajk) , događaja (BrojLajkova) i delegata (BrojLajkovaHandler)
&lt;br /&gt;
// takođe, vidi se specifičnost sintakse &amp;quot;u punom jeku&amp;quot;. Uočimo, na primer, da BrojLajkovaHandler, koji prima parametar &amp;quot;int&amp;quot; - ovde prima metodu &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; Ovde smo događaju dodelili deleg&amp;#1072;t koji pok&amp;#1072;zuje n&amp;#1072; metodu Prikaz što n&amp;#1072;m omoguć&amp;#1072;v&amp;#1072; d&amp;#1072; k&amp;#1072;d se god promeni st&amp;#1072;nje - pozove metoda Prikaz. 
&lt;br /&gt;
// &amp;quot;potrošača&amp;quot; (mcrule-ta), u opštem slučaju &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt; , ne zanima stanje lajkova &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt; , već je bitno da overi poruku. U ovom primeru bi se za svaku promenu stanja lajkova, javio i mcrule.
&lt;br /&gt;

&lt;br /&gt;
&lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Metod&amp;#1072; koj&amp;#1072; se poziv&amp;#1072; k&amp;#1072;d&amp;#1072; se desi neki dog&amp;#1072;đ&amp;#1072;j obično se zove &lt;span style=&quot;font-weight: bold&quot;&gt;upr&amp;#1072;vlj&amp;#1072;čki modul dog&amp;#1072;đ&amp;#1072;j&amp;#1072;&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;
// Jedn&amp;#1072; metod&amp;#1072; može se pozv&amp;#1072;ti k&amp;#1072;d&amp;#1072; se dese r&amp;#1072;zličiti dog&amp;#1072;đ&amp;#1072;ji, i više metod&amp;#1072; se mogu pozv&amp;#1072;ti k&amp;#1072;d&amp;#1072; se desi jed&amp;#1072;n dog&amp;#1072;đ&amp;#1072;j.
&lt;br /&gt;
  
&lt;br /&gt;

&lt;br /&gt;
&lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Kad se doda jos jedan delegat bez obzira sto je ista metoda - dva puta se poziva ta metoda
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Progr&amp;#1072;mersk&amp;#1072; pr&amp;#1072;ks&amp;#1072; je d&amp;#1072; se deleg&amp;#1072;t koji se koristi z&amp;#1072; neki dog&amp;#1072;đ&amp;#1072;j definiše ov&amp;#1072;ko
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;public delegate void Stanje(object sender, EventArgs e);&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;sender&lt;/span&gt; predst&amp;#1072;vlj&amp;#1072; objek&amp;#1072;t koji generis&amp;#1072;o dog&amp;#1072;đ&amp;#1072;j, 
&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;e&lt;/span&gt; je objek&amp;#1072;t koji d&amp;#1072;je neke dod&amp;#1072;tne inform&amp;#1072;cije o s&amp;#1072;mom dog&amp;#1072;đ&amp;#1072;ju. 
&lt;br /&gt;
// klasa &lt;span style=&quot;font-style: italic&quot;&gt;EventArgs&lt;/span&gt; ne d&amp;#1072;je bilo k&amp;#1072;kve inform&amp;#1072;cije, ukoliko se ne nasledi.
&lt;br /&gt;
--&amp;gt; ukoliko su potrebne inform&amp;#1072;cije o s&amp;#1072;mom dog&amp;#1072;đ&amp;#1072;ju treba n&amp;#1072;slediti kl&amp;#1072;su &lt;span style=&quot;font-style: italic&quot;&gt;EventArgs&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Iako ova sirova teorija možda izgleda teško, u prošlom članku se videlo i u narednom će se videti laka implementacija događaja, jer dosta toga IDE odradi automatski&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 20px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Programske niti&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Do sada su u člancima prikazivane aplikacije, u kojima se naredbe izvršavaju sekvencijalno (jedna za drugom). Apilikacije se mogu dizajnirati i da obuhvate određeni vid paralelizma u obradi, kako bi se što bolje iskoristilo procesorsko vreme i/ili bolje bili rešeni kompleksni zadaci. 
&lt;br /&gt;

&lt;br /&gt;
U ovom kontekstu, kada se kaže paralelizam, ne misli se na paralelizam koji postoji između procesa unutar operativnog sistema, već se misli na paralelizam u izvršavanju tzv. programskih niti. Znači, sa nitima se omogućava istovremeno pokretanje više programskih celina, pri čemu one mogu, uz izvesne uslove, koristiti zajedničke resurse (tj. konkrentne objekte).
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Osnovna klasa u &lt;span style=&quot;font-style: italic&quot;&gt;.NET&lt;/span&gt;-u za rad sa nitima je klasa &lt;span style=&quot;font-weight: bold&quot;&gt;Thread&lt;/span&gt; (nalazi se u imenskom prostoru &lt;span style=&quot;font-style: italic&quot;&gt;System.Threading&lt;/span&gt;) . Između ostalog klasa obezbeđuje:
&lt;br /&gt;
- kreiranje niti,
&lt;br /&gt;
- kontrolisanje stanja niti,
&lt;br /&gt;
- određivanje prioriteta niti,
&lt;br /&gt;
- pribavljanje informacija o statusu niti.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Neki statički članovi klase (pozivaju se iz klase):
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;CurrentContext&lt;/span&gt;	
&lt;br /&gt;
--&amp;gt; vraća kontekst u kojem se nit trenutno izvršava
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;CurrentThread&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; vraća referencu na nit koja se trenutno izvršava
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;GetDomain&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; vraća referencu na &lt;span style=&quot;font-style: italic&quot;&gt;AppDomain&lt;/span&gt; u kojem se nit izvršava
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;GetDomainID&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; vraća referencu na &lt;span style=&quot;font-style: italic&quot;&gt;ID AppDomain&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Sleep&lt;/span&gt;
&lt;br /&gt;
--&amp;gt;zaustavlja izvršavanje niti na specificirano vreme
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Neki nestatički članovi klase Thread su (pozivaju se iz objekta):
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Abort&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Poziva CLR da uništi nit što pre je moguće
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Interrupt&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Budi nit iz stanja čekanja
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;IsAlive&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Vraća &lt;span style=&quot;font-style: italic&quot;&gt;bool&lt;/span&gt; koji nam govori da li je nit pokrenuta
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;IsBackground&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Vraća &lt;span style=&quot;font-style: italic&quot;&gt;bool&lt;/span&gt; koji nam govori da li se nit izvršava u pozadini
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Join&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Blokira pozivajuću nit, dok nit iz koje je pozvana metoda postoji
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Name&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Svojstvo koje označava ime niti
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Priority&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Svojstvo prioritet niti koji se moze postaviti iz enumeracije &lt;span style=&quot;font-style: italic&quot;&gt;ThreadPriority&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Resume&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Nastavlja izvšavanje niti koja je prethodno bila suspendovana
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Start&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Poziva CLR da izvrši nit što pre je moguće
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Suspend&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Zaustavlja izvršavanje niti
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;ThreadState&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; Vraća stanje niti. Vrednost koja se vraća je iz emumeracije &lt;span style=&quot;font-style: italic&quot;&gt;ThreadState&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Prilikom instanciranja klase &lt;span style=&quot;font-style: italic&quot;&gt;Thread&lt;/span&gt;, konstruktoru se prosleđuje delegat tipa 
&lt;br /&gt;

&lt;br /&gt;
A) &lt;span style=&quot;font-weight: bold&quot;&gt;ThreadStart&lt;/span&gt; - može pokazivati samo na metode koje imaju povratnu vrednost &lt;span style=&quot;font-weight: bold&quot;&gt;void&lt;/span&gt; i &lt;span style=&quot;text-decoration: underline&quot;&gt;ne primaju nikakve parametre&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;ParametrizedThreadStart&lt;/span&gt; - može pokazivati na metode &lt;span style=&quot;text-decoration: underline&quot;&gt;koje imaju parametre&lt;/span&gt; .
&lt;br /&gt;

&lt;br /&gt;
Ova dva delegaata pokazuju na metodu koja će predstavljati ulaznu tačku u nit. 
&lt;br /&gt;

&lt;br /&gt;
Izvršavanje niti počinje pozivom metode &lt;span style=&quot;font-weight: bold&quot;&gt;Start()&lt;/span&gt; klase &lt;span style=&quot;font-style: italic&quot;&gt;Thread&lt;/span&gt;, a nasilno se može prekinuti metodom &lt;span style=&quot;font-style: italic&quot;&gt;Abort()&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Threading;
&lt;br /&gt;

&lt;br /&gt;
namespace delegati
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public class Niti
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;static void NovaNit&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;NOVA-NIT&amp;#58; Upravo sam rodjena&amp;quot;&amp;#41;;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;while &amp;#40;true&amp;#41;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; pocela sam sa izvrsavanjem&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ThreadStart ts = NovaNit; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thread nit = new Thread&amp;#40;ts&amp;#41;; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; spremam se da pokrenem NOVA-NIT&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;nit.Start&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; NOVA-NIT je upravo pokrenuta&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DateTime pocetak = DateTime.Now;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TimeSpan trajanjeNoveNiti=new TimeSpan&amp;#40;0,0,7&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while &amp;#40;&amp;#40;DateTime.Now - pocetak&amp;#41; &amp;lt;= trajanjeNoveNiti&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nit.Abort&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; NOVA-NIT je prekinuta&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; zavrsavam sa radom&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_664694844_delegnit.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Objašnjenje:
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;ThreadStart&lt;/span&gt; je delegat koji pokazuje na metodu kojom počinje nova nit.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Thread&lt;/span&gt; je klasa koja omogućava manipulaciju novom niti i kao parametar konstruktora prim delegat tipa &lt;span style=&quot;font-style: italic&quot;&gt;ThreadStart&lt;/span&gt; ili &lt;span style=&quot;font-style: italic&quot;&gt;ParametrizedThreadStart&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
Metodom &lt;span style=&quot;font-style: italic&quot;&gt;Start()&lt;/span&gt; pokreće se nit.
&lt;br /&gt;

&lt;br /&gt;
Klase &lt;span style=&quot;font-style: italic&quot;&gt;DateTime&lt;/span&gt; i &lt;span style=&quot;font-style: italic&quot;&gt;TimeSpan&lt;/span&gt; omogućavaju brojanje vremena; &lt;span style=&quot;font-style: italic&quot;&gt;while&lt;/span&gt; petlja će se završiti za 7 sekundi.
&lt;br /&gt;

&lt;br /&gt;
Metodom &lt;span style=&quot;font-style: italic&quot;&gt;Abort()&lt;/span&gt; se nasilno prekida nit.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Nit se može &lt;span style=&quot;font-weight: bold&quot;&gt;uspavati&lt;/span&gt; 
&lt;br /&gt;
--&amp;gt; postoje situacije u kojima je potrebno privremeno obustaviti izvršavanje niti (dakle, uspavati je), i prepustiti kontrolu izvršavanja drugoj nti (ili obavestiti ostale niti da se nešto dogodilo). 
&lt;br /&gt;

&lt;br /&gt;
Metodom &lt;span style=&quot;font-style: italic&quot;&gt;Thread.Sleep()&lt;/span&gt; nit se uspavljujena tačno određeno vreme.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Threading;
&lt;br /&gt;

&lt;br /&gt;
namespace delegati
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public class Niti
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;static void NovaNit&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;NOVA-NIT&amp;#58; Upravo sam rodjena&amp;quot;&amp;#41;;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int i = 0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;while &amp;#40;true&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;i++;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;&amp;#123;0&amp;#125;.Prolaz kroz petlju&amp;quot;, i.ToString&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Thread.Sleep&amp;#40;new TimeSpan&amp;#40;0, 0, 1&amp;#41;&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; pocela sam sa izvrsavanjem&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ThreadStart ts = NovaNit; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thread nit = new Thread&amp;#40;ts&amp;#41;; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; spremam se da pokrenem NOVA-NIT&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;nit.Start&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; NOVA-NIT je upravo pokrenuta&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DateTime pocetak = DateTime.Now;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TimeSpan trajanjeNoveNiti=new TimeSpan&amp;#40;0,0,7&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while &amp;#40;&amp;#40;DateTime.Now - pocetak&amp;#41; &amp;lt;= trajanjeNoveNiti&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nit.Abort&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; NOVA-NIT je prekinuta&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nit MAIN&amp;#58; zavrsavam sa radom&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_664694844_delegnitspava.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Objašnjenje:
&lt;br /&gt;

&lt;br /&gt;
- Metodom &lt;span style=&quot;font-style: italic&quot;&gt;Sleep()&lt;/span&gt;, klase &lt;span style=&quot;font-style: italic&quot;&gt;Thread&lt;/span&gt;, tekuća nit se uspavljuje za zadato vreme, &lt;span style=&quot;text-decoration: underline&quot;&gt;koje je prosleđeno kao parametar&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
A šta bi se desilo da nit ne spava svake sekunde?
&lt;br /&gt;
--&amp;gt; stavimo liniju pod komentar i vidimo broj prolaza kroz petlju.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_664694844_delegnitspamuje.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Ukoliko niti koriste zajedničke objekte, bitno je pomenuti &lt;span style=&quot;font-weight: bold&quot;&gt;sinhronizaciju niti&lt;/span&gt;. 
&lt;br /&gt;
--&amp;gt; pošto više niti može da koristi neke zajedničke resurse (objekte), može se desiti da dve niti istovremeno pokušavaju da pristupe istom resursu. U tom slučaju može doći do konflikta, na osnovu koga će aplikacija davati nepredviđene rezultate. 
&lt;br /&gt;

&lt;br /&gt;
Na primer, ukoliko jedna nit pokuša da prikaže sve brojeve neke liste, a u međuvremenu druga nit obriše neki broj te liste, prva nit će prikazati nepreciznu informaciju o brojevima unutar liste. 
&lt;br /&gt;

&lt;br /&gt;
Zbog toga se uvodi koncept zaključavanja resursa od strane niti!
&lt;br /&gt;
--&amp;gt; ukoliko nit pristupa deljenom resursu, ona postavlja --&amp;gt; na izvestan period, dok vrši operacije sa tim resursom. 
&lt;br /&gt;
--&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;LOCK&lt;/span&gt; onemogućava ostalim nitima da pristupe resursu &lt;span style=&quot;text-decoration: underline&quot;&gt;sve dok ta nit ne skine &lt;span style=&quot;font-style: italic&quot;&gt;lock&lt;/span&gt;&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;
Po skidanju &lt;span style=&quot;font-style: italic&quot;&gt;lock&lt;/span&gt;-a, resurs se predaje na korišćenje nekoj drugoj niti koja ga je zatražila. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Postavljanje &lt;span style=&quot;font-style: italic&quot;&gt;lock&lt;/span&gt;-ova se vrši
&lt;br /&gt;

&lt;br /&gt;
A) korišćenjem ključne reči &lt;span style=&quot;font-weight: bold&quot;&gt;lock{ }&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;lock &amp;#40;resurs&amp;#41;
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; resurs.Operacija&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
B) korišćenjem klase &lt;span style=&quot;font-weight: bold&quot;&gt;Monitor&lt;/span&gt; i metoda &lt;span style=&quot;font-style: italic&quot;&gt;Enter&lt;/span&gt; i &lt;span style=&quot;font-style: italic&quot;&gt;Exit&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Monitor.Enter&amp;#40;resurs&amp;#41;;
&lt;br /&gt;
resurs.Operacija&amp;#40;&amp;#41;;
&lt;br /&gt;
Monitor.Exit&amp;#40;resurs&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
C) upotreba klase &lt;span style=&quot;font-weight: bold&quot;&gt;Interlocked&lt;/span&gt; - omogućava da zakljčavanje ove operacija kako ne bi došlo do grešaka kada više niti pokuša da uradi neku od ovih operacija nad istim resursom. Klasa Interlocked sadrži sledeće statičke metode: 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;CompareExcange&lt;/span&gt; 
&lt;br /&gt;
--&amp;gt; bezbedno proverava da li su dve vrednosti jednake, a potom ukoliko jesu menja jednu od njih sa trećom; 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Increment&lt;/span&gt; 
&lt;br /&gt;
--&amp;gt; bezbedno povećava vrednost promenljive za jedan,
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Decrement&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; besbedno smanjuje vrednosti promenljive za jedan,
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Excange&lt;/span&gt; 
&lt;br /&gt;
-–&amp;gt; bezbedno zamenjuje vrednosti dvema promenljivama.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ukoliko dve niti zaključaju deljeni resurs (postave &lt;span style=&quot;font-style: italic&quot;&gt;lock&lt;/span&gt;-ove na resurs) pri čemu NIT1 čeka oslobađanje resursa kojeg je zaključala NIT2 druga nit da bi nastavila izvršavanje, 
&lt;br /&gt;
... a NIT2 čeka oslobadjanje resursa kojeg je zaključala NIT1. 
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; tada ni jedna ni druga nikada neće moći da nastave izvršavanje i nastaje tzv. &lt;span style=&quot;font-weight: bold&quot;&gt;mrtvi čvor&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Dobar način da se izbegne mrtav čvor je izbegavanje da se postavlja &lt;span style=&quot;font-style: italic&quot;&gt;lock&lt;/span&gt; na više od jedog polja. 
&lt;br /&gt;

&lt;br /&gt;
Mrtve čvorove je veoma teško otkriti i zato je potreban oprez kod zaključavanja resursa.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Niti mogu da &amp;quot;&lt;span style=&quot;font-weight: bold&quot;&gt;komuniciraju&lt;/span&gt;&amp;quot;, a to se realizuje sa klasom &lt;span style=&quot;font-style: italic&quot;&gt;Monitor&lt;/span&gt; i sledećim metodama: 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Pulse(resurs)&lt;/span&gt; 
&lt;br /&gt;
--&amp;gt; skida lock sa objekta i blokira tekuću nit dok ponovo ne dobije lock na dati objekat.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;PulseAll(resurs)&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; obaveštava niti koje čekaju u redu za objekat (resurs) da je tekuća nit promenila objekat i završila  sa radom na njemu.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;
Kreirati program u kom dve niti naizmenično dodaju po jedan nasumičan broj (između 1 i 10) u listu; kada zbir brojeva u listi pređe 101, nit koja je poslednja dodala broj je izgubila.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_664694844_delegnitigrac.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Ovde možete preuzeti čitav kod: [url=https://www.mycity.rs/must-login.png</description>
	<pubDate>Thu, 16 Feb 2012 12:47:10 +0100</pubDate>
</item>
<item>
	<title>[7] C# - Izuzeci</title>
	<link>https://www.mycity.rs/NET/7-C-Izuzeci.html</link>
	<guid>https://www.mycity.rs/?p=1281927</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Exceptions&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[0] Uvod&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ko je pažljivo pratio prethodni članak, video je i upotrebu &lt;span style=&quot;font-weight: bold&quot;&gt;try-catch&lt;/span&gt; blokova. One se koriste kod obrade grešaka. Naime, razne greške se često mogu desiti prilikom rada u nekom programu. One mogu n&amp;#1072;st&amp;#1072;ti u bilo kom trenutku izvrš&amp;#1072;v&amp;#1072;nj&amp;#1072; progr&amp;#1072;m&amp;#1072;. Dob&amp;#1072;r konstruisan progr&amp;#1072;m je on&amp;#1072;j koji n&amp;#1072; vreme može d&amp;#1072; identifikuje i obr&amp;#1072;di n&amp;#1072;st&amp;#1072;lu grešku.
&lt;br /&gt;

&lt;br /&gt;
Mehanizmom za obradu grešaka:
&lt;br /&gt;
- programski obr&amp;#1072;đujemo grešku
&lt;br /&gt;
- treba da omogućimo dovoljno inform&amp;#1072;cij&amp;#1072; o n&amp;#1072;st&amp;#1072;loj grešci
&lt;br /&gt;
- omoguć&amp;#1072;v&amp;#1072; se odv&amp;#1072;j&amp;#1072;nje logike progr&amp;#1072;m&amp;#1072; od kod&amp;#1072; kojim se obr&amp;#1072;đuju greške
&lt;br /&gt;

&lt;br /&gt;
U .NET-u se mehanizam bazira n&amp;#1072; predst&amp;#1072;vlj&amp;#1072;nju izuzet&amp;#1072;k&amp;#1072; pomoću objek&amp;#1072;t&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izuzeci mogu nastati (tj. biti &amp;quot;podignuti&amp;quot;) &lt;span style=&quot;font-weight: bold&quot;&gt;implicitno&lt;/span&gt; ili &lt;span style=&quot;font-weight: bold&quot;&gt;eksplicitno&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[1] Implicitni izuzeci&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izuzeci nastaju &lt;span style=&quot;font-weight: bold&quot;&gt;implicitno&lt;/span&gt;, k&amp;#1072;d&amp;#1072; obr&amp;#1072;d&amp;#1072; n&amp;#1072;redbe ili izr&amp;#1072;z&amp;#1072; ne može da se završi na normalan način. Tada izvršno okruženje implicitno izvrš&amp;#1072;v&amp;#1072; n&amp;#1072;redbu &lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt; i podiže sistemski definis&amp;#1072;n izuzet&amp;#1072;k. Na taj način se inst&amp;#1072;ncir&amp;#1072; objek&amp;#1072;t odgov&amp;#1072;r&amp;#1072;juće kl&amp;#1072;se izuzetk&amp;#1072; (implicitno se poziva: &lt;span style=&quot;font-style: italic&quot;&gt;throw new klasaIzuzetka();&lt;/span&gt; )
&lt;br /&gt;
      
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer: kod &lt;span style=&quot;text-decoration: underline&quot;&gt;bez meh&amp;#1072;nizm&amp;#1072;&lt;/span&gt; z&amp;#1072; obr&amp;#1072;du greš&amp;#1072;k&amp;#1072;: 
&lt;br /&gt;
--&amp;gt; n&amp;#1072;pr&amp;#1072;viti progr&amp;#1072;m kojim se učit&amp;#1072;v&amp;#1072;ju dv&amp;#1072; cel&amp;#1072; broja, &amp;#1072; k&amp;#1072;o rezult&amp;#1072;t se prikazuje količnik ta dva broja. Prvi ceo broj neka bude broj poruka na forumu, a drugi broj neka bude broj godina proveden na forumu,
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Izuzeci
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj poruka&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int prviBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj godina&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int drugiBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int rezultat = prviBroj / drugiBroj;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Koeficijent je = &amp;#123;0&amp;#125;&amp;quot;, rezultat&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_166116420_izuz1.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
	
&lt;br /&gt;
// I - 2934 ; II - 3 ; III - 978
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
E sad, ako bismo za drugi broj stavili nulu, dobili bismo nešto kao: &lt;span style=&quot;font-style: italic&quot;&gt;&amp;quot;An unhandled exception of type 'System.DivideByZeroException' &amp;quot;&lt;/span&gt; , jer nije dozvljeno deljenje nulom &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Izuzet&amp;#1072;k je, dakle, objek&amp;#1072;t koji se kreir&amp;#1072;, ili podiže (&lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt;), k&amp;#1072;d&amp;#1072; dođe do određene greške i s&amp;#1072;drži inform&amp;#1072;cije koje bi treb&amp;#1072;le da omoguće identifik&amp;#1072;ciju greške.
&lt;br /&gt;

&lt;br /&gt;
Prednosti objektno-orijentisanog pristupa izuzecima su sledeći:
&lt;br /&gt;

&lt;br /&gt;
- sv&amp;#1072;k&amp;#1072; kl&amp;#1072;s&amp;#1072; može d&amp;#1072; s&amp;#1072;drži i usko specifične pod&amp;#1072;tke (npr. kl&amp;#1072;s&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;FileNotFoundException&lt;/span&gt;  može da s&amp;#1072;drži ime d&amp;#1072;toteke koj&amp;#1072; nije pron&amp;#1072;đen&amp;#1072;. Dalje, generišu se deskriptivne poruke o grešk&amp;#1072;m&amp;#1072;. Sv&amp;#1072;k&amp;#1072; kl&amp;#1072;s&amp;#1072; se odnosi n&amp;#1072; određenu grešku i d&amp;#1072;je dovoljno j&amp;#1072;s&amp;#1072;n opis.
&lt;br /&gt;

&lt;br /&gt;
- Poruke o grešk&amp;#1072;m&amp;#1072; se ne predst&amp;#1072;vlj&amp;#1072;ju brojevim&amp;#1072; (tradicionlani pristup), već se koriste klase (npr. kl&amp;#1072;s&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;OutOfMemoryException&lt;/span&gt; umesto -3)
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer mehanizma sa implicitnom obradom izuzetaka: 
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Izuzeci
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;try &amp;#123;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj poruka&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int prviBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj godina&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int drugiBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int rezultat = prviBroj / drugiBroj;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Koeficijent je = &amp;#123;0&amp;#125;&amp;quot;, rezultat&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// jed&amp;#1072;n catch blok kojim se obr&amp;#1072;đuju svi mogući izuzeci.
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; catch &amp;#40;Exception izuzetak&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nastala je greska.&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;izuzetak.Message&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; finally
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Kraj rada&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_166116420_izuz2.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Možemo uočiti tri r&amp;#1072;zličit&amp;#1072; blok&amp;#1072;:
&lt;br /&gt;

&lt;br /&gt;
[1] &lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;try&lt;/span&gt;&lt;/span&gt; blok s&amp;#1072;drži kod koji u kome se &lt;span style=&quot;text-decoration: underline&quot;&gt;mogu j&amp;#1072;viti&lt;/span&gt; greške. 
&lt;br /&gt;

&lt;br /&gt;
[2] &lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt;&lt;/span&gt; blok s&amp;#1072;drži kod koji &lt;span style=&quot;text-decoration: underline&quot;&gt;obr&amp;#1072;đuje&lt;/span&gt; r&amp;#1072;zličite tipove greš&amp;#1072;k&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
[3] &lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;finally&lt;/span&gt;&lt;/span&gt; blok s&amp;#1072;drži &amp;#1072;kcije koje bi treb&amp;#1072;lo d&amp;#1072; budu izvršene n&amp;#1072; kr&amp;#1072;ju &lt;span style=&quot;font-style: italic&quot;&gt;try&lt;/span&gt; ili &lt;span style=&quot;font-style: italic&quot;&gt;catch&lt;/span&gt; blokov&amp;#1072;. 
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  Ovaj blok se izvrš&amp;#1072;v&amp;#1072; u sv&amp;#1072;kom sluč&amp;#1072;ju (bez obzir&amp;#1072; n&amp;#1072; to d&amp;#1072; li se desio izuzet&amp;#1072;k)
&lt;br /&gt;
	
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Logika mehanizma:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
1. Tok izvrš&amp;#1072;v&amp;#1072;nj&amp;#1072; prel&amp;#1072;zi n&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;try&lt;/span&gt; blok.
&lt;br /&gt;

&lt;br /&gt;
2.0 Ukoliko unutar &lt;span style=&quot;font-weight: bold&quot;&gt;try&lt;/span&gt; bloka &lt;span style=&quot;text-decoration: underline&quot;&gt;ne dođe&lt;/span&gt; do greške izvrš&amp;#1072;v&amp;#1072;nje se n&amp;#1072;st&amp;#1072;vlj&amp;#1072; do kr&amp;#1072;j&amp;#1072; ovog blok&amp;#1072;, a nakon toga se izvrš&amp;#1072;v&amp;#1072;nje prenosi n&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;finally&lt;/span&gt; blok (tj. stavku 4).
&lt;br /&gt;

&lt;br /&gt;
2.1.  Ukoliko &lt;span style=&quot;text-decoration: underline&quot;&gt;dođe&lt;/span&gt; do greške unut&amp;#1072;r &lt;span style=&quot;font-weight: bold&quot;&gt;try&lt;/span&gt; blok&amp;#1072;, izvrš&amp;#1072;v&amp;#1072;nje se prenosi na &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok (tj. stavka 3).
&lt;br /&gt;

&lt;br /&gt;
3.  U &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; bloku se vrši obr&amp;#1072;d&amp;#1072; greške. N&amp;#1072; kr&amp;#1072;ju &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok&amp;#1072; izvrš&amp;#1072;v&amp;#1072;nje se &amp;#1072;utom&amp;#1072;tski prenosi n&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;finally&lt;/span&gt; blok.
&lt;br /&gt;

&lt;br /&gt;
4. &lt;span style=&quot;font-weight: bold&quot;&gt;Finally&lt;/span&gt; blok se izvrš&amp;#1072;v&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer obrade specifičnih izuzetaka (&lt;span style=&quot;font-style: italic&quot;&gt;FormatException&lt;/span&gt; i &lt;span style=&quot;font-style: italic&quot;&gt;DivideByZeroException&lt;/span&gt;)
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Izuzeci
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;try &amp;#123;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj poruka&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int prviBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj godina&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int drugiBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int rezultat = prviBroj / drugiBroj;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Koeficijent je = &amp;#123;0&amp;#125;&amp;quot;, rezultat&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; catch &amp;#40;FormatException&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Greska&amp;#58; Format unetog broja nije ispravan!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;catch &amp;#40;DivideByZeroException&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Greska&amp;#58; Deljenje nulom nije dozvoljeno!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;catch &amp;#40;Exception izuzetak&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nastala je greska!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;izuzetak.Message&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;finally
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Kraj rada&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Pošto postoji dosta r&amp;#1072;zličitih tipov&amp;#1072; izuzet&amp;#1072;k&amp;#1072;, moguće je n&amp;#1072;vesti i više &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blokov&amp;#1072; (što se vidi u ovom primeru), pri čemu sv&amp;#1072;ki &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok obr&amp;#1072;đuje određeni tip izuzetka. 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Izvršno okruženje &amp;#1072;utom&amp;#1072;tski hv&amp;#1072;t&amp;#1072; &lt;span style=&quot;text-decoration: underline&quot;&gt;inst&amp;#1072;ncu izuzetk&amp;#1072;&lt;/span&gt; i prosleđuje je isključivo n&amp;#1072; osnovu njenog tip&amp;#1072; - odgov&amp;#1072;r&amp;#1072;jućem &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; bloku.
&lt;br /&gt;

&lt;br /&gt;
Prilikom pisanja &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blokova, mora se obratiti pažnja na &lt;span style=&quot;font-weight: bold&quot;&gt;redosled n&amp;#1072;vođenj&amp;#1072;&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; izvrš&amp;#1072;v&amp;#1072; se jed&amp;#1072;n &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok i to &lt;span style=&quot;text-decoration: underline&quot;&gt;prvi koji je kompatibilan&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;
--&amp;gt; stoga se n&amp;#1072;vođenje vrši &lt;span style=&quot;font-weight: bold&quot;&gt;od n&amp;#1072;jspecifičnijeg&lt;/span&gt; izuzetk&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;k&amp;#1072; n&amp;#1072;jopštijem&lt;/span&gt; izuzetku. Elem, ukoliko se n&amp;#1072;vede prvo opštiji, &amp;#1072; z&amp;#1072;tim specifičniji tip izuzetk&amp;#1072; prij&amp;#1072;viće se grešk&amp;#1072;!
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Catch&lt;/span&gt; blok čiji je tip izuzetk&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;System.Exception&lt;/span&gt; se n&amp;#1072;ziv&amp;#1072; opšti &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok. Koristi se d&amp;#1072; bi se uhv&amp;#1072;tili izuzeci koji nisu obr&amp;#1072;đeni posebnim catch blokovim&amp;#1072;. On može d&amp;#1072; obr&amp;#1072;di bilo koji izuzet&amp;#1072;k bez obzir&amp;#1072; n&amp;#1072; njegov tip, obzirom d&amp;#1072; su svi izuzeci izvedeni iz kl&amp;#1072;se &lt;span style=&quot;font-style: italic&quot;&gt;System.Exception&lt;/span&gt;. Nedost&amp;#1072;t&amp;#1072;k mu je što ne pruž&amp;#1072; inform&amp;#1072;cije o prirodi greške. Može se n&amp;#1072;vesti s&amp;#1072;mo jed&amp;#1072;n opšti &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok i, ukoliko je naveden, mor&amp;#1072; biti i poslednji u nizu.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Ne smeju se n&amp;#1072;vesti dv&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok&amp;#1072; koja im&amp;#1072;ju isti tip izuzetk&amp;#1072;!
&lt;br /&gt;

&lt;br /&gt;
 
&lt;br /&gt;
Primer:  
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Izuzeci
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// deljenje je premešteno u metodu &amp;quot;podeli&amp;quot; u kojoj se ne vrši obr&amp;#1072;d&amp;#1072; izuzet&amp;#1072;k&amp;#1072;. 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// izuzet&amp;#1072;k se dešava u &amp;quot;podeli&amp;quot;, ali obr&amp;#1072;đuje u &amp;quot;Main&amp;quot;-u.
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;static int podeli&amp;#40;int brA, int brB&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int rezultat = brA / brB;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;return rezultat;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;try &amp;#123;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj poruka&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int prviBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj godina&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int drugiBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int rezultat = prviBroj / drugiBroj;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Koeficijent je = &amp;#123;0&amp;#125;&amp;quot;, rezultat&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; catch &amp;#40;FormatException&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Greska&amp;#58; Format unetog broja nije ispravan!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;catch &amp;#40;DivideByZeroException&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Greska&amp;#58; Deljenje nulom nije dozvoljeno!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;catch &amp;#40;Exception izuzetak&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nastala je greska!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;izuzetak.Message&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;finally
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Kraj rada&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_166116420_izuz3.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izuzet&amp;#1072;k može nastati u bilo kom delu kod&amp;#1072;. Iz primera se vidi da se obrada izuzetk&amp;#1072;  može izvršiti i u &lt;span style=&quot;font-weight: bold&quot;&gt;metodi koj&amp;#1072; poziv&amp;#1072; metodu koj&amp;#1072; s&amp;#1072;drži grešku&lt;/span&gt;.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[2] Eksplicitni izuzeci&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izuzeci mogu nastati i &lt;span style=&quot;font-weight: bold&quot;&gt;eksplicitno&lt;/span&gt;, n&amp;#1072;vođenjem n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt;, usled čega istog trenutka i bezuslovno nastaje izuzet&amp;#1072;k. 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Bitno je iz&amp;#1072;br&amp;#1072;ti onu kl&amp;#1072;su izuzetk&amp;#1072; koj&amp;#1072; u n&amp;#1072;jboljoj meri opisuje n&amp;#1072;st&amp;#1072;lu grešku.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; N&amp;#1072;kon podiz&amp;#1072;nj&amp;#1072; izuzetk&amp;#1072; koji je n&amp;#1072;veden posle &lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt; n&amp;#1072;redbe, n&amp;#1072;redb&amp;#1072; koj&amp;#1072; sledi n&amp;#1072;redbu &lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;text-decoration: underline&quot;&gt;nik&amp;#1072;d neće biti izvršen&amp;#1072;&lt;/span&gt; !
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer: Upotreba ključne reči &lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt;  
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Izuzeci
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// deljenje je premešteno u metodu &amp;quot;podeli&amp;quot; u kojoj se ne vrši obr&amp;#1072;d&amp;#1072; izuzet&amp;#1072;k&amp;#1072;. 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// izuzet&amp;#1072;k se dešava u &amp;quot;podeli&amp;quot;, ali obr&amp;#1072;đuje u &amp;quot;Main&amp;quot;-u.
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;static int podeli&amp;#40;int brA, int brB&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int rezultat = brA / brB;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;return rezultat;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;try &amp;#123;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj poruka&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int prviBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;quot;Unesite broj godina&amp;#58; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int drugiBroj = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// eksplicitno bacanje izuzetka DivideByZeroException eksplicitno, pomoću ključne reči throw&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;#40;drugiBroj == 0&amp;#41; throw new DivideByZeroException&amp;#40;&amp;quot;Deljenje nulom nema smisla!&amp;quot;&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int rezultat = prviBroj / drugiBroj;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Koeficijent je = &amp;#123;0&amp;#125;&amp;quot;, rezultat&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;catch &amp;#40;DivideByZeroException&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Greska&amp;#58; Deljenje nulom nije dozvoljeno!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;catch &amp;#40;Exception izuzetak&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Nastala je greska!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;izuzetak.Message&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;finally
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Kraj rada&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.ReadLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_166116420_izuz4.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[3] Ostalo&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt;  Dozvoljeno je podiz&amp;#1072;nje izuzet&amp;#1072;k&amp;#1072; u &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;finally&lt;/span&gt; bloku:
&lt;br /&gt;
--&amp;gt; n&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt; se može koristiti unut&amp;#1072;r &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok&amp;#1072; z&amp;#1072; ponovno podiz&amp;#1072;nje tekućeg izuzetk&amp;#1072; (&lt;span style=&quot;font-style: italic&quot;&gt;rethrow&lt;/span&gt;). Unut&amp;#1072;r &lt;span style=&quot;font-weight: bold&quot;&gt;catch&lt;/span&gt; blok&amp;#1072;, naredba &lt;span style=&quot;font-weight: bold&quot;&gt;throw&lt;/span&gt; se može n&amp;#1072;vesti i bez ik&amp;#1072;kvog izr&amp;#1072;z&amp;#1072;. 
&lt;br /&gt;

&lt;br /&gt;
Sledeći blokovi im&amp;#1072;ju isti efek&amp;#1072;t:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;catch &amp;#40;OutOfMemoryException izuzetak&amp;#41; &amp;#123; throw izuzetak; &amp;#125;
&lt;br /&gt;
catch &amp;#40;OutOfMemoryException&amp;#41; &amp;#123; throw; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Takođe može se iskoristiti za podiz&amp;#1072;nje novog izuzetk&amp;#1072; drug&amp;#1072;čijeg tip&amp;#1072;:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;catch &amp;#40;IOException izuzetak&amp;#41; &amp;#123; throw new FileNotFoundException&amp;#40;ImeDatoteke&amp;#41;; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Ovde se gubi instanca &lt;span style=&quot;font-style: italic&quot;&gt;IOException&lt;/span&gt;. Ukoliko su neophodne inform&amp;#1072;cije koje on&amp;#1072; s&amp;#1072;drži izuzet&amp;#1072;k se prosleđuje kroz &lt;span style=&quot;font-style: italic&quot;&gt;InnerException&lt;/span&gt; svojstvo novog izuzetk&amp;#1072;:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;catch &amp;#40;IOException izuzetak&amp;#41; &amp;#123;throw new FileNotFoundException&amp;#40;ImeDatoteke,izuzetak&amp;#41;;&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
- skup svojst&amp;#1072;v&amp;#1072; kl&amp;#1072;se &lt;span style=&quot;font-style: italic&quot;&gt;System.Exception&lt;/span&gt; (koja je izveden&amp;#1072; iz kl&amp;#1072;se &lt;span style=&quot;font-style: italic&quot;&gt;System.Object&lt;/span&gt;), koj&amp;#1072; se n&amp;#1072;jčešće koriste su:
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;HelpLink&lt;/span&gt;*
&lt;br /&gt;
--&amp;gt; S&amp;#1072;drži link k&amp;#1072; d&amp;#1072;toteci u kojoj su smeštene dod&amp;#1072;tne inform&amp;#1072;cije o n&amp;#1072;st&amp;#1072;lom izuzetku.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;InnerException&lt;/span&gt;*
&lt;br /&gt;
--&amp;gt; S&amp;#1072;drži tekst koji opisuje uzrok n&amp;#1072;st&amp;#1072;nk&amp;#1072; izuzetk&amp;#1072;. Treb&amp;#1072; d&amp;#1072; potpuno opiše grešku i eventu&amp;#1072;lno n&amp;#1072;čin njenog ispr&amp;#1072;vlj&amp;#1072;nj&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Message&lt;/span&gt;*
&lt;br /&gt;
--&amp;gt; s&amp;#1072;drži referencu n&amp;#1072; inst&amp;#1072;ncu izuzetk&amp;#1072; koji je iz&amp;#1072;zv&amp;#1072;o tekući izuzet&amp;#1072;k.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Source&lt;/span&gt;**
&lt;br /&gt;
--&amp;gt; S&amp;#1072;drži n&amp;#1072;ziv &amp;#1072;plik&amp;#1072;cije ili objekt&amp;#1072; koji je iz&amp;#1072;zv&amp;#1072;o izuzet&amp;#1072;k.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;StackTrace&lt;/span&gt;** 
&lt;br /&gt;
--&amp;gt; S&amp;#1072;drži det&amp;#1072;lje o pozv&amp;#1072;nim metod&amp;#1072;m&amp;#1072; (n&amp;#1072; steku), k&amp;#1072;ko bi se l&amp;#1072;kše pron&amp;#1072;šl&amp;#1072; metod&amp;#1072; u kojoj je podignut izuzet&amp;#1072;k.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;TargetSite&lt;/span&gt;**
&lt;br /&gt;
--&amp;gt; S&amp;#1072;drži referencu n&amp;#1072; objek&amp;#1072;t kojim se opisuje metod&amp;#1072; u kojoj je podignut izuzet&amp;#1072;k.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 9px; line-height: normal&quot;&gt;Objašnjenje:
&lt;br /&gt;
* Nisu obezbeđeni &amp;#1072;utom&amp;#1072;tski, već se n&amp;#1072;vode pre s&amp;#1072;mog podiz&amp;#1072;nj&amp;#1072; izuzetk&amp;#1072;
&lt;br /&gt;
** Autom&amp;#1072;tski obezbeđeni od str&amp;#1072;ne izvršnog okruženj&amp;#1072;&lt;/span&gt;</description>
	<pubDate>Sat, 11 Feb 2012 04:42:12 +0100</pubDate>
</item>
<item>
	<title>[6] C# - Mogućnosti dizajniranja formi u okruženju MonoDevelop</title>
	<link>https://www.mycity.rs/NET/6-C-Mogucnosti-dizajniranja-formi-u-okruzenju-MonoDevelop.html</link>
	<guid>https://www.mycity.rs/?p=1280091</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[0] Uvod&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
U ovom tekstu pažnja će biti usmerena na &lt;span style=&quot;font-weight: bold&quot;&gt;Mono&lt;/span&gt;, i biće podvučene sličnosti i analogije sa &lt;span style=&quot;font-style: italic&quot;&gt;Visual Studio.NET&lt;/span&gt; dizajnerom formi, komponentama i klasama.
&lt;br /&gt;

&lt;br /&gt;
Iako se kod, generisan sa VS.NET-om može kompajlirati na &lt;span style=&quot;font-style: italic&quot;&gt;Linuksu&lt;/span&gt; u &lt;span style=&quot;font-style: italic&quot;&gt;MonoDevelop&lt;/span&gt; razvojnom okruženju, zanimljivo je da se po &lt;span style=&quot;font-style: italic&quot;&gt;default&lt;/span&gt;u ne može koristiti &lt;span style=&quot;font-style: italic&quot;&gt;Mono&lt;/span&gt;-v dizajner formi kako bi se promenio izgled forme (generisane sa &lt;span style=&quot;font-style: italic&quot;&gt;VS&lt;/span&gt;-om), dodale nove komponente i drugo. 
&lt;br /&gt;

&lt;br /&gt;
Znači, možemo se dodatno cimati, sa &lt;span style=&quot;font-style: italic&quot;&gt;tweak&lt;/span&gt;ovanjem &lt;span style=&quot;font-style: italic&quot;&gt;MonoDevelop&lt;/span&gt;-a i instaliramo dodatke, kao sto je MWF-Designer (posetite link za &lt;span style=&quot;font-style: italic&quot;&gt;screenshot&lt;/span&gt;ove i sl.) a možemo uraditi i sledeće - &lt;span style=&quot;font-style: italic&quot;&gt;uposliti Mono-v &lt;span style=&quot;font-weight: bold&quot;&gt;GTK#&lt;/span&gt; dizajner formi&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
U tekstu je prikazan drugi pristup, pa se mogu videti i &lt;span style=&quot;font-style: italic&quot;&gt;GTK#&lt;/span&gt; klase i &lt;span style=&quot;font-style: italic&quot;&gt;WinForms&lt;/span&gt; klase. Ideja je sledeća: za sve stvari koje su vizuelnog karaktera, koristićemo &lt;span style=&quot;font-style: italic&quot;&gt;GTK#&lt;/span&gt; dizajner. U njemu možemo dodavati &lt;span style=&quot;font-style: italic&quot;&gt;GTK#&lt;/span&gt; komponente, menjati njihov položaj na formi i drugo, a gde god možemo upotrebiti &lt;span style=&quot;font-style: italic&quot;&gt;VS&lt;/span&gt;-ove &lt;span style=&quot;font-style: italic&quot;&gt;WinForms&lt;/span&gt; klase (za koje nije neophodno određivati vizualne osobine) --&amp;gt; upotrebićemo ih. Tako da će u tekstu biti predstavljena &amp;quot;simbioza&amp;quot; &lt;span style=&quot;font-style: italic&quot;&gt;GTK#&lt;/span&gt; i &lt;span style=&quot;font-style: italic&quot;&gt;WinForms&lt;/span&gt; elemenata.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-decoration: underline&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Napomena&lt;/span&gt;&lt;/span&gt;: korisnici &lt;span style=&quot;font-style: italic&quot;&gt;Visual Studio.NET&lt;/span&gt;-a će se lako snaći sa kodom, potrebno je malo menjanja, ali samo kod vizuelnog dela - dakle, treba da se iskoriste &lt;span style=&quot;font-style: italic&quot;&gt;default&lt;/span&gt; komponente &lt;span style=&quot;font-style: italic&quot;&gt;VS&lt;/span&gt;-a. Kako će se ubuduće više pažnje obraćati na &lt;span style=&quot;font-style: italic&quot;&gt;VS.NET&lt;/span&gt;, a ne na &lt;span style=&quot;font-style: italic&quot;&gt;MonoDevelop&lt;/span&gt;, ova materija će biti lako usvojiva nakon sledećih članaka.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Zahtev ovoga zadatka/primera je sledeći: 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Napraviti program, sa &lt;span style=&quot;text-decoration: underline&quot;&gt;korisničkim interfejsom&lt;/span&gt;, koji će podatke o imenu i prezimenu čuvati unutar &lt;span style=&quot;text-decoration: underline&quot;&gt;liste&lt;/span&gt;. Omogućiti &lt;span style=&quot;text-decoration: underline&quot;&gt;navigaciju&lt;/span&gt;, da se mogu listati unosi u listi. Napraviti meni, preko koga je moguće &lt;span style=&quot;font-weight: bold&quot;&gt;sačuvati&lt;/span&gt; unesene podatke u XML datoteku i preko koje se mogu &lt;span style=&quot;font-weight: bold&quot;&gt;učitati&lt;/span&gt; ti podaci u listu i prikazati na ekranu&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[1] Dizajn&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Pokrenite &lt;span style=&quot;font-style: italic&quot;&gt;MonoDevelop&lt;/span&gt;; Kliknite na &lt;span style=&quot;font-weight: bold&quot;&gt;File&lt;/span&gt; --&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;New&lt;/span&gt; --&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Solution&lt;/span&gt; --&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;C#&lt;/span&gt; --&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;GTK# 2.0 Project&lt;/span&gt;. Unesite ime &lt;span style=&quot;font-style: italic&quot;&gt;Solution&lt;/span&gt;a i kliknite na dugme &lt;span style=&quot;font-style: italic&quot;&gt;Forward&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
Pogledajmo sledeću sliku:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_442901029_MonoDevelop.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;1.&lt;/span&gt;&lt;/span&gt; Ubacite reference sa slike. Reference se odnose na programske pakete koje ćemo koristiti u kodu. Na primer, koristićemo &lt;span style=&quot;font-weight: bold&quot;&gt;Soap&lt;/span&gt; formater za XML. Kako bismo mogli koristiti njegove metode, moramo ga dodati u reference. Desni klik na &lt;span style=&quot;font-weight: bold&quot;&gt;References&lt;/span&gt; i birajte &lt;span style=&quot;font-weight: bold&quot;&gt;Edit References&lt;/span&gt;. Iz odgovarajućih sekcija (&lt;span style=&quot;font-style: italic&quot;&gt;Assembly&lt;/span&gt;), dodajte odgovarajuće &lt;span style=&quot;font-weight: bold&quot;&gt;Packages&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.&lt;/span&gt;&lt;/span&gt; Otvorite &lt;span style=&quot;font-style: italic&quot;&gt;MainWindow.cs&lt;/span&gt; i kliknite na tab &lt;span style=&quot;font-weight: bold&quot;&gt;Design&lt;/span&gt;. Prikazaće se dizajner. Na osnovu dodatih komponenti na osnovnu formu, automatski će se u kodu dodavati deklaracije tih komponenti. Sve to, što se radi u pozadini, može se videti kada se klikne na tab &lt;span style=&quot;font-style: italic&quot;&gt;Source&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;3.&lt;/span&gt;&lt;/span&gt; Raspoložive komponente koje se mogu dodati na formu dizajnera se nalaze u panelu &lt;span style=&quot;font-weight: bold&quot;&gt;Toolbox&lt;/span&gt;. Dve su osnovne vrste komponenti - &lt;span style=&quot;font-weight: bold&quot;&gt;Container&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;Widgets&lt;/span&gt;. &lt;span style=&quot;font-style: italic&quot;&gt;Container&lt;/span&gt; je komponenta koja sadrži druge zavisne komponente - &lt;span style=&quot;font-style: italic&quot;&gt;widget&lt;/span&gt;e. 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Ovaj pristup se razlikuje od &lt;span style=&quot;font-style: italic&quot;&gt;VS.NET&lt;/span&gt;-a. U njemu ne morate da imate kontajner za komponente, već ih možete slobodno dodavati na formu.
&lt;br /&gt;

&lt;br /&gt;
- Prevucite na formu &lt;span style=&quot;font-weight: bold&quot;&gt;Fixed&lt;/span&gt; &lt;span style=&quot;font-style: italic&quot;&gt;container&lt;/span&gt; (eksperimentišite i sa ostalima &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; border=&quot;0&quot; /&gt; ).
&lt;br /&gt;

&lt;br /&gt;
- U taj &lt;span style=&quot;font-style: italic&quot;&gt;container&lt;/span&gt; prevucite i sledeće komponente (&lt;span style=&quot;font-style: italic&quot;&gt;widget&lt;/span&gt;e): 
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Menu Bar&lt;/span&gt;  (to nam je &lt;span style=&quot;font-style: italic&quot;&gt;widget&lt;/span&gt; za menije i podmenije: &lt;span style=&quot;font-style: italic&quot;&gt;File&lt;/span&gt;, &lt;span style=&quot;font-style: italic&quot;&gt;Edit&lt;/span&gt; i tako dalje, pa stavke &lt;span style=&quot;font-style: italic&quot;&gt;File/Ucitaj&lt;/span&gt;, &lt;span style=&quot;font-style: italic&quot;&gt;File/Sacuvaj&lt;/span&gt;, i tako dalje)
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Label&lt;/span&gt; &amp;lt;dva puta&amp;gt; (predstavlja &amp;quot;oznake&amp;quot; na kojima će pisati &amp;quot;Ime&amp;quot;, i &amp;quot;Prezime&amp;quot; ) 
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Entry&lt;/span&gt; &amp;lt;dva puta&amp;gt; (predstavlja polja za unos teksta. U njih ćemo unositi imena i prezimena)
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Button&lt;/span&gt; &amp;lt;3 puta&amp;gt; (to su nam dugmad: &amp;quot;&amp;lt;&amp;lt;&amp;quot; , &amp;quot;Dodaj&amp;quot; i &amp;quot;&amp;gt;&amp;gt;&amp;quot; )
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;4.&lt;/span&gt;&lt;/span&gt; Svaka od komponenti, kada se prevuče na formu, ima generičke, predefisane nazive i skup predefinisanih osobina. Te osobine (&lt;span style=&quot;font-style: italic&quot;&gt;Properties&lt;/span&gt;) se mogu menjati. Na slici se vidi &lt;span style=&quot;font-style: italic&quot;&gt;widget&lt;/span&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Menu Bar&lt;/span&gt;, kod koga se meniji kreiraju klikom na &amp;quot;&lt;span style=&quot;font-style: italic&quot;&gt;Click to create menu&lt;/span&gt;&amp;quot;, a stavke menija (&lt;span style=&quot;font-style: italic&quot;&gt;akcije&lt;/span&gt;) se kreiraju klikom na &amp;quot;&lt;span style=&quot;font-style: italic&quot;&gt;Click to create action&lt;/span&gt;&amp;quot;. Stavke kreirane na ovaj način takođe, po &lt;span style=&quot;font-style: italic&quot;&gt;default&lt;/span&gt;u, dobijaju neka imena i osobine koje se mogu menjati. Obratite pažnju na &lt;span style=&quot;font-style: italic&quot;&gt;toolbar&lt;/span&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Properties&lt;/span&gt; sa desne strane.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;5.&lt;/span&gt;&lt;/span&gt; Ako ne možete da ga uočite pogledajte ovu strelicu  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;
Znači, ovde se mogu menjati sve sobine vezane za neku označenu komponentu. Igrajte se malo sa ovim osobinama. Recimo, možete podesiti vidljivost komponente, ime komponente, tekst koji nosi komponenta (ovo treba razlikovati od imena), poziciju komponente na formi, širinu i visinu komponente i drugo.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Nakon malo eksperimentisanja, bićete u stanju da uredite sve komponente tako da odgovaraju slici &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[2] Programiranje&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ceo &lt;span style=&quot;font-weight: bold&quot;&gt;source code&lt;/span&gt; klase &lt;span style=&quot;font-style: italic&quot;&gt;MainWindow.cs&lt;/span&gt; možete prezeti ovde: [url=https://www.mycity.rs/must-login.png
&lt;br /&gt;

&lt;br /&gt;
Biće objašnjeni pojedini delovi koda.
&lt;br /&gt;

&lt;br /&gt;
Obratimo pažnju na sledeće: &lt;span style=&quot;color: blue&quot;&gt;public &lt;span style=&quot;font-weight: bold&quot;&gt;partial&lt;/span&gt; class MainWindow: Gtk.Window&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Kod dizajniranja formi se koriste tzv. &lt;span style=&quot;font-weight: bold&quot;&gt;parcijalne klase&lt;/span&gt; (i kod VS.NET). U drugoj, parcijalnoj klasi, nalaze se deklaracije svih komponenti i setovanja svih osobina koje smo podesili ubačenim komponentama. Označite &lt;span style=&quot;font-style: italic&quot;&gt;MainWindow&lt;/span&gt;, desni klik i birajte &amp;quot;&lt;span style=&quot;font-style: italic&quot;&gt;Go to Declaration&lt;/span&gt;&amp;quot;. Pogledajmo deo parcijalne klase:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_49211392_GUI.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Dakle, i u kodu je prikazano upozorenje da se ne menja ovaj deo koda, već sve što želimo promeniti menjamo preko &lt;span style=&quot;font-style: italic&quot;&gt;toolbar&lt;/span&gt;a &lt;span style=&quot;font-weight: bold&quot;&gt;Properties&lt;/span&gt;, i shodno podešavanjima, ovaj kod se automatski menja &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt; .
&lt;br /&gt;

&lt;br /&gt;
Dakle, od interesa nam je &amp;quot;prva&amp;quot; parcijalna klasa, čiji kod je dostupan za preuzimanje.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Napravimo klasu osoba:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;#91;Serializable&amp;#93;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public class Osoba
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string ime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string prezime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Osoba&amp;#40;string ime, string prezime&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.ime = ime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.prezime = prezime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Bitno je da iznad klase stoji &amp;quot;&lt;span style=&quot;font-style: italic&quot;&gt;[Serializable]&lt;/span&gt;&amp;quot; da XML formater &amp;quot;zna&amp;quot; koja polja će da serijalizuje (sačuva). Definisana su dva polja i konstruktor koji prima dva parametra.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt;  Definišimo Listu (&lt;span style=&quot;font-style: italic&quot;&gt;ArrayList&lt;/span&gt;) i pokazivac (&lt;span style=&quot;font-style: italic&quot;&gt;pointer&lt;/span&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;TekuciIndex&lt;/span&gt;), koji će nam služiti za navigaciju unutar elemenata liste. U ovoj listi ćemo čuvati instance (objekte) klase &lt;span style=&quot;font-style: italic&quot;&gt;Osoba&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;ArrayList lista = new ArrayList&amp;#40;&amp;#41;;
&lt;br /&gt;
int tekuciIndex;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Metoda za prikazivanje informacija o konkretnoj osobi je - &lt;span style=&quot;font-style: italic&quot;&gt;OsveziPrikaz()&lt;/span&gt; .
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;private void OsveziPrikaz&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; entry3.Text = &amp;#40;lista&amp;#91;tekuciIndex&amp;#93; as Osoba&amp;#41;.ime;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; entry4.Text = &amp;#40;lista&amp;#91;tekuciIndex&amp;#93; as Osoba&amp;#41;.prezime;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ovaj deo koda služi da se dvema &lt;span style=&quot;font-weight: bold&quot;&gt;Entry&lt;/span&gt; komponentama pridruže stringovi (tekst) imena i prezimena konkretne osobe u listi. Konkretna osoba u listi je, kao što smo već rekli, određena sa &lt;span style=&quot;font-style: italic&quot;&gt;tekucimIndeksom&lt;/span&gt;. Ako nije jasan taj deo koda. prelistajte prošle članke, vezano za kastovanje i pristup članovima niza.
&lt;br /&gt;

&lt;br /&gt;
	
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Metoda za učitavanje (&amp;quot;Ucitaj&amp;quot;)
&lt;br /&gt;

&lt;br /&gt;
Ovde se može videti da koristimo &amp;quot;standardne&amp;quot; &lt;span style=&quot;font-style: italic&quot;&gt;WinForms&lt;/span&gt; klase
&lt;br /&gt;
--&amp;gt; kreiraćemo dijalog za izbor datoteke, podesiti početne putanju za izbor datoteke, i definisati skup akcija koje će se desiti kada korisnik klikne na dugme &lt;span style=&quot;font-weight: bold&quot;&gt;OK&lt;/span&gt;.
&lt;br /&gt;
Za rad sa datotekama (&lt;span style=&quot;font-style: italic&quot;&gt;input/output&lt;/span&gt;) koristićemo klasu &lt;span style=&quot;font-style: italic&quot;&gt;FileStream&lt;/span&gt;, kojoj ćemo proslediti ime odabrane &lt;span style=&quot;font-style: italic&quot;&gt;XML&lt;/span&gt; datoteke. Nakon toga, potrebno je instancirati &lt;span style=&quot;font-style: italic&quot;&gt;Soap&lt;/span&gt; formater koji će da &amp;quot;parsira&amp;quot; (obradi) informacije iz XML datoteke i na osnovu toga napuni naću &lt;span style=&quot;font-style: italic&quot;&gt;ArrayList&lt;/span&gt;u.
&lt;br /&gt;

&lt;br /&gt;
Nije loše napraviti &lt;span style=&quot;font-style: italic&quot;&gt;Message Box&lt;/span&gt; koji će korisnika obavestiti da je sve prošlo &lt;span style=&quot;font-weight: bold&quot;&gt;OK&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
Metodu za snimanje (&amp;quot;Snimi&amp;quot;) prati paralelni set klasa, gde će formater na osnovu liste generisati XML datoteku.
&lt;br /&gt;

&lt;br /&gt;
Uočimo, još jednom da nismo koristili &lt;span style=&quot;font-style: italic&quot;&gt;GTK#&lt;/span&gt; klase.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[3]Programiranje događaja&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Dok u &lt;span style=&quot;font-style: italic&quot;&gt;VS.NET&lt;/span&gt; &lt;span style=&quot;font-style: italic&quot;&gt;default handler&lt;/span&gt;e za pojedine događaje možete automatski kreirati dvostrukim klikom, ovde to nije slučaj... &lt;span style=&quot;font-style: italic&quot;&gt;Handler&lt;/span&gt; možemo opisati kao programski kod koji se izvršava kada se desi neki događaj. Događaj, u našem primeru, je kada korisnik klikne na dugme. Obratimo pažnju na toolbar &lt;span style=&quot;font-weight: bold&quot;&gt;Properties&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_147634564_signali.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
U kontekstu &lt;span style=&quot;font-weight: bold&quot;&gt;Mono&lt;/span&gt;a, radi se o &lt;span style=&quot;font-weight: bold&quot;&gt;Signalima&lt;/span&gt; --&amp;gt; kada korisnik načini neku akciju, generiše se odgovarajući signal. &lt;span style=&quot;font-weight: bold&quot;&gt;Handler&lt;/span&gt; je deo koda koji se stara o obradi signala. 
&lt;br /&gt;

&lt;br /&gt;
Na slici sam kliknuo na dugme sa natpisom &amp;quot;Dodaj&amp;quot;, i u &lt;span style=&quot;font-style: italic&quot;&gt;handler&lt;/span&gt; sekciji ukucao &amp;quot;klik&amp;quot; , te dva puta kliknuo na &lt;span style=&quot;font-weight: bold&quot;&gt;signal dugmeta&lt;/span&gt; - &amp;quot;&lt;span style=&quot;font-style: italic&quot;&gt;Clicked&lt;/span&gt;&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
Automatski će se generisati sledeći kod, gde treba dodati deo koda obojen zelenom bojom (znači dodati unutar zagrada) :
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;protected void klik (object sender, System.EventArgs e)
&lt;br /&gt;
{
&lt;br /&gt;
	&lt;span style=&quot;color: green&quot;&gt;Osoba o = new Osoba(entry3.Text, entry4.Text);
&lt;br /&gt;
	lista.Add(o);&lt;/span&gt;
&lt;br /&gt;
}&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
Ovo je jasno: postigli smo da se klikom na dugme u listu doda osoba, koja ima ime i prezime definisano u odgovarajućim &lt;span style=&quot;font-style: italic&quot;&gt;Entry&lt;/span&gt; komponentama.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Na identičan način se podešavaju signali na dugmićima koji nose tekst &amp;quot;&lt;span style=&quot;font-weight: bold&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&amp;quot; i &amp;quot;&lt;span style=&quot;font-weight: bold&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;protected void prethodni &amp;#40;object sender, System.EventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if&amp;#40;tekuciIndex!=0&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tekuciIndex--;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OsveziPrikaz&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;protected void sledeci &amp;#40;object sender, System.EventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;#40;tekuciIndex &amp;lt; lista.Count-1&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tekuciIndex++;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OsveziPrikaz&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Pored dugmadi, treba obraditi signale i za klik na stavke menija (&lt;span style=&quot;font-style: italic&quot;&gt;ucitaj&lt;/span&gt; i &lt;span style=&quot;font-style: italic&quot;&gt;sacuvaj&lt;/span&gt;)
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;protected void ucitaj &amp;#40;object sender, System.EventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Ucitaj&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;protected void sacuvaj &amp;#40;object sender, System.EventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Snimi&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Metode &amp;quot;Ucitaj()&amp;quot; i &amp;quot;Snimi()&amp;quot; su već objašnjene u tekstu.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Rezultat:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_60396015_rezultat.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Struktura XML datoteke:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;lt;SOAP-ENV&amp;#58;Envelope xmlns&amp;#58;xsi=&amp;quot;http&amp;#58;//www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns&amp;#58;xsd=&amp;quot;http&amp;#58;//www.w3.org/2001/XMLSchema&amp;quot; xmlns&amp;#58;SOAP-ENC=&amp;quot;http&amp;#58;//schemas.xmlsoap.org/soap/encoding/&amp;quot; xmlns&amp;#58;SOAP-ENV=&amp;quot;http&amp;#58;//schemas.xmlsoap.org/soap/envelope/&amp;quot; xmlns&amp;#58;clr=&amp;quot;http&amp;#58;//schemas.microsoft.com/clr/&amp;quot; SOAP-ENV&amp;#58;encodingStyle=&amp;quot;http&amp;#58;//schemas.xmlsoap.org/soap/encoding/&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;lt;SOAP-ENV&amp;#58;Body&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;a1&amp;#58;ArrayList id=&amp;quot;ref-1&amp;quot; xmlns&amp;#58;a1=&amp;quot;http&amp;#58;//schemas.microsoft.com/clr/ns/System.Collections&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;_size&amp;gt;2&amp;lt;/_size&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;_items href=&amp;quot;#ref-2&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;_version&amp;gt;2&amp;lt;/_version&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/a1&amp;#58;ArrayList&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;SOAP-ENC&amp;#58;Array id=&amp;quot;ref-2&amp;quot; SOAP-ENC&amp;#58;arrayType=&amp;quot;xsd&amp;#58;anyType&amp;#91;4&amp;#93;&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;item href=&amp;quot;#ref-3&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;item href=&amp;quot;#ref-4&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/SOAP-ENC&amp;#58;Array&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;a2&amp;#58;MainWindow_x002B_Osoba id=&amp;quot;ref-3&amp;quot; xmlns&amp;#58;a2=&amp;quot;http&amp;#58;//schemas.microsoft.com/clr/assem/GtkForma%2C%20Version%3D1.0.4415.30485%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ime id=&amp;quot;ref-5&amp;quot;&amp;gt;Ricard&amp;lt;/ime&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;prezime id=&amp;quot;ref-6&amp;quot;&amp;gt;Djordjevic&amp;lt;/prezime&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/a2&amp;#58;MainWindow_x002B_Osoba&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;a2&amp;#58;MainWindow_x002B_Osoba id=&amp;quot;ref-4&amp;quot; xmlns&amp;#58;a2=&amp;quot;http&amp;#58;//schemas.microsoft.com/clr/assem/GtkForma%2C%20Version%3D1.0.4415.30485%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ime id=&amp;quot;ref-7&amp;quot;&amp;gt;Bogdan&amp;lt;/ime&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;prezime id=&amp;quot;ref-8&amp;quot;&amp;gt;Tepavac&amp;lt;/prezime&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/a2&amp;#58;MainWindow_x002B_Osoba&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;lt;/SOAP-ENV&amp;#58;Body&amp;gt;
&lt;br /&gt;
&amp;lt;/SOAP-ENV&amp;#58;Envelope&amp;gt;&lt;/code&gt;</description>
	<pubDate>Wed, 08 Feb 2012 16:30:28 +0100</pubDate>
</item>
<item>
	<title>[5] C# - Klase, nasledjivanje, interfejsi</title>
	<link>https://www.mycity.rs/NET/5-C-Klase-nasledjivanje-interfejsi.html</link>
	<guid>https://www.mycity.rs/?p=1241040</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Klase&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Klasa&lt;/span&gt;&lt;/span&gt; je &lt;span style=&quot;font-weight: bold&quot;&gt;skup objekata&lt;/span&gt; koji imaju &lt;span style=&quot;font-style: italic&quot;&gt;zajedničku strukturu i ponašanje&lt;/span&gt;. Predstavlja strukturu podataka koju treba posmatrati kao &lt;span style=&quot;font-weight: bold&quot;&gt;novi tip&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Objekat&lt;/span&gt;&lt;/span&gt; je &lt;span style=&quot;color: red&quot;&gt;instanca klase&lt;/span&gt; i definiše se kao entitet koji je sposoban da &lt;span style=&quot;text-decoration: underline&quot;&gt;čuva svoja stanja&lt;/span&gt; i koji okolini stavlja na raspolagaje &lt;span style=&quot;text-decoration: underline&quot;&gt;skup operacija&lt;/span&gt; preko kojih se tim stanjima pristupa.
&lt;br /&gt;

&lt;br /&gt;
Objekat karakteriše njegov:
&lt;br /&gt;
--&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;IDENTITET&lt;/span&gt; - razlikovanje objekata među sobom,
&lt;br /&gt;
--&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;PONAŠANJE&lt;/span&gt; - dato preko &lt;span style=&quot;font-weight: bold&quot;&gt;skupa metoda&lt;/span&gt; koje sadrži objekat
&lt;br /&gt;
--&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;STANJE&lt;/span&gt; - varijable (promenljive) vezane za objekat
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;//podvucimo još jednom da se &lt;span style=&quot;font-weight: bold&quot;&gt;stanja&lt;/span&gt; odnose na &lt;span style=&quot;font-weight: bold&quot;&gt;varijable&lt;/span&gt;, a &lt;span style=&quot;text-decoration: underline&quot;&gt;ponašanje&lt;/span&gt; na &lt;span style=&quot;text-decoration: underline&quot;&gt;metode&lt;/span&gt;&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Direktan pristup podacima je nepotreban i nepoželjan  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;
--&amp;gt;podatke treba &amp;quot;začauriti&amp;quot; (enkapsulirati)! 
&lt;br /&gt;

&lt;br /&gt;
Postoje dva bitna aspekta &lt;span style=&quot;font-weight: bold&quot;&gt;enkapsulacije&lt;/span&gt;: 
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;1.&lt;/span&gt; objedinjavanje podataka i funkcija u jedinstven entitet (&lt;span style=&quot;font-weight: bold&quot;&gt;preko klasa&lt;/span&gt;) ,
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;2.&lt;/span&gt; kontrola mogućnosti pristupa članovima entiteta (&lt;span style=&quot;font-weight: bold&quot;&gt;preko modifikatora pristupa&lt;/span&gt;).
&lt;br /&gt;
//o modifikatorima pristupa je bilo reči u prethodnom članku
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Enkapsulacija omogućava kontrolu korišćenja objekta (objekat se može koristiti isključivo preko javnih metoda/svojstava).
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Instanciranje klasa&lt;/span&gt; 
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; vrši se pomoću opreatora &lt;span style=&quot;font-weight: bold&quot;&gt;NEW&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Amf argus = new Amf&amp;#40;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Konstruktor&lt;/span&gt; je specijalna metoda koja:
&lt;br /&gt;
- ima isti naziv kao i naziv klase,
&lt;br /&gt;
- nema nikakvu povratnu vrednost. 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Operator &lt;span style=&quot;font-weight: bold&quot;&gt;new&lt;/span&gt; vrši &lt;span style=&quot;text-decoration: underline&quot;&gt;alokaciju memorije&lt;/span&gt; za objekat klase Amf, a metoda (konstruktor) Amf() &lt;span style=&quot;text-decoration: underline&quot;&gt;kreira objekat&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Metode
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class Amf
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public string imeAmf;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public int brojResenihSlucajeva;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public void DodajSlucajeve&amp;#40;int broj&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;brojResenihSlucajeva+=broj;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public void PrikaziStanje&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Broj resenih slucajeva AMF-a &amp;#123;0&amp;#125; je&amp;#58; &amp;#123;1&amp;#125; &amp;quot;, this.imeAmf,this.brojResenihSlucajeva&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Amf amf = new Amf&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amf.imeAmf=&amp;quot;Goran9888&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amf.DodajSlucajeve&amp;#40;70&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; amf.PrikaziStanje&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_101620418_goran.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Šta je ključna reč &lt;span style=&quot;font-weight: bold&quot;&gt;this&lt;/span&gt;?
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; upotrebom ključne reči &lt;span style=&quot;font-weight: bold&quot;&gt;this&lt;/span&gt;, implicitno se pokazuje na tekući objekat/parametar
&lt;br /&gt;

&lt;br /&gt;
(kod statičkih metoda se ne prosleđuje ovaj dodatni parametar, jer se ne pozivaju pomoću objekata)
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Nasleđivanje&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Nasleđivanje predstavlja jedan od koncepata Objekto Orijentisanog Programiranja (OOP).
&lt;br /&gt;
 --&amp;gt;omogućava da se na osnovu postojeće klase izvede nova klasa.
&lt;br /&gt;

&lt;br /&gt;
Izvedena klasa nasleđuje sve članove bazne klase. 
&lt;br /&gt;
// bazna klasa je super klasa ili nadređena klasa.
&lt;br /&gt;
// izvedena klasa je podklasa ili podređena klasa (klasa koja nasleđuje baznu klasu).
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Treba razlikovati nasleđivanje klasa od nasleđivanja interfejsa. Klasa koja nasleđuje interfejs treba da implementira sve navedene metode interfejsa.
&lt;br /&gt;

&lt;br /&gt;
- Nasleđivanje klasa može biti &lt;span style=&quot;font-weight: bold&quot;&gt;DIREKTNO&lt;/span&gt; I &lt;span style=&quot;font-weight: bold&quot;&gt;INDEREKTNO&lt;/span&gt;.
&lt;br /&gt;
Indirektno, svaka klasa nasleđuje klasu &lt;span style=&quot;font-weight: bold&quot;&gt;Object&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- Jednu baznu klasu može da nasledi više izvedenih klasa (broj izvedenih klasa je neograničen).
&lt;br /&gt;

&lt;br /&gt;
- U programskim jezicima, nasleđivanje može biti i &lt;span style=&quot;font-weight: bold&quot;&gt;jednostruko&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;višestruko&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;--&amp;gt; C# podržava samo jednostruko nasleđivanje&lt;/span&gt; !
&lt;br /&gt;

&lt;br /&gt;
Grupa klasa koje su povezane nasleđivanjem formiraju strukturu koja se naziva &lt;span style=&quot;font-weight: bold&quot;&gt;hijerarhija klasa&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_60052030_klase.gif&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;Slika: hijerarhija klasa&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
––&amp;gt; klase na višim nivoima su opštije (&lt;span style=&quot;font-style: italic&quot;&gt;koncept generalizacije&lt;/span&gt;), dok su one na nižim nivoima u hijerarhiji specifičnije (&lt;span style=&quot;font-style: italic&quot;&gt;koncept specijalizacije&lt;/span&gt;). 
&lt;br /&gt;

&lt;br /&gt;
––&amp;gt; Dubina hijerarhije predstavlja broj nivoa nasleđivanja
&lt;br /&gt;
//preporučuje se da dubina nasleđivanja bude do 7 nivoa.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Sintaksa nasledjivanja&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;class IzvedenaKlasa&amp;#58;BaznaKlasa
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
...
&lt;br /&gt;
&amp;#125; 
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Izvedena klasa nasleđuje &lt;span style=&quot;text-decoration: underline&quot;&gt;sve&lt;/span&gt; &lt;span style=&quot;text-decoration: underline&quot;&gt;osim&lt;/span&gt; konstruktora i destruktora bazne klase.&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-style: italic&quot;&gt;Ukoliko nije eksplicitno navedena bazna klasa podrazumeva se klasa &lt;span style=&quot;font-weight: bold&quot;&gt;System.Object&lt;/span&gt;&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
––&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;javni članovi&lt;/span&gt; bazne klase su implicitno i javni članovi izvedene klase.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer je dat u pseudokodu:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public class Forumas
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; public void PosaljiPoruku&amp;#40;string tekst&amp;#41;&amp;#123;...&amp;#125;
&lt;br /&gt;
&amp;nbsp; ...............
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
public class Moderator&amp;#58; Forumas
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
...
&lt;br /&gt;
Moderator simke = new Moderator&amp;#40;&amp;#41;;
&lt;br /&gt;
simke.PosaljiPoruku&amp;#40;&amp;quot;I da, za nijansu manje pijemo&amp;quot;&amp;#41;; //pristup nasleđenoj metodi&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Izvedenoj klasi se, naravno, mogu dodati novi članovi.
&lt;br /&gt;

&lt;br /&gt;
- Nasleđivanje &lt;span style=&quot;text-decoration: underline&quot;&gt;ne podrazumeva&lt;/span&gt; da će izvedena klasa imati pristup svim članovima bazne klase.
&lt;br /&gt;
––&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;privatni članovi bazne klase, iako nasleđeni, su dostupni isključivo članovima bazne klase&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
––&amp;gt; članovi bazne klase sa modifikatorom &lt;span style=&quot;font-weight: bold&quot;&gt;protected&lt;/span&gt; su jedino dostupni unutar bazne klase i direktno i indirektno izvedenim klasama.
&lt;br /&gt;

&lt;br /&gt;
PODSETIMO SE: &lt;span style=&quot;font-style: italic&quot;&gt;ukoliko modifikator pristupa nije naveden podrazumeva se da su članovi klase označeni sa &amp;quot;private&amp;quot;&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Preporuka&lt;/span&gt;:
&lt;br /&gt;
––&amp;gt; sva &lt;span style=&quot;font-weight: bold&quot;&gt;polja&lt;/span&gt; klase treba da imaju modifikator pristupa &lt;span style=&quot;font-weight: bold&quot;&gt;private&lt;/span&gt;, a za svako polje treba navesti &lt;span style=&quot;font-weight: bold&quot;&gt;svojstvo&lt;/span&gt; sa modifikatorom pristupa &lt;span style=&quot;font-weight: bold&quot;&gt;protected&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Dostupnost izvedene klase je &lt;span style=&quot;text-decoration: underline&quot;&gt;uslovljena&lt;/span&gt; dostupnošću bazne klase  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;
––&amp;gt; ukoliko je bazna klasa privatna, izvedena klasa ne može biti javna!
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;text-decoration: underline&quot;&gt;Za poziv &lt;span style=&quot;font-weight: bold&quot;&gt;konstuktora&lt;/span&gt; bazne klase iz konstruktora izvedene klase&lt;/span&gt; se koristi ključna reč &lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;color: blue&quot;&gt;base&lt;/span&gt;&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public class BaznaKlasa
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; public BaznaKlasa&amp;#40;&amp;#41; &amp;#123;...&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
public class IzvedenaKlasa&amp;#58; BaznaKlasa
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; public IzvedenaKlasa&amp;#40;&amp;#41;&amp;#58; base&amp;#40;&amp;#41; &amp;#123; ... &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
// prvo se izvršava konstruktor bazne klase.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Pošto pričamo o nasleđivanju, treba predstaviti i koncept &lt;span style=&quot;font-weight: bold&quot;&gt;polimorfizma&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
––&amp;gt; polimorfizam predstavlja sposobnost promenljive da referencira objekte različitih tipova i da automatski poziva odgovarajuću metodu objekta koji referencira.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;// Polimorfizam se zasniva na ideji da metoda koja je deklarisana u osnovnoj klasi može da se implementira na više različitih načina u različitim izvedenim klasama.&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Polimorfizam se realizuje preko &lt;span style=&quot;font-weight: bold&quot;&gt;virtualnih metoda&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
- za deklaraciju virtuelnih metoda se koristi ključna reč virtual.
&lt;br /&gt;
- virtualne metode se mogu reimplementirati u izvedenim klasama (kod njih se koristi ključna reč &lt;span style=&quot;font-weight: bold&quot;&gt;override&lt;/span&gt;).
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public class Forumas
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; public virtual void PrikaziForume&amp;#40;&amp;#41; &amp;#123;...&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
public class Moderator &amp;#58; Forumas
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; public override void PrikaziForume&amp;#40;&amp;#41; &amp;#123;...&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;
--
&lt;br /&gt;
&lt;span style=&quot;font-size: 10px; line-height: normal&quot;&gt;// jer moderator vidi dodatne (skrivene potforume) koje ne vidi običan forumaš.&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Virtuelna i reimplementirana (overrajdovana &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt;) metoda &lt;span style=&quot;text-decoration: underline&quot;&gt;moraju biti identične&lt;/span&gt;, tj. moraju imati:
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  isti naziv,
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  isti modifikator pristupa,
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  isti tip rezultata,
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  iste tipove parametara.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Mogu se &lt;span style=&quot;font-weight: bold&quot;&gt;sakriti&lt;/span&gt; i virtuelne i nevirtuelne metode.
&lt;br /&gt;
&amp;#61548;// sakrivanje metoda utiče na polimorfizam.
&lt;br /&gt;

&lt;br /&gt;
Primer polimorfizma (pseuokod):
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public class Forumas 
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public virtual void PrikaziForume&amp;#40;&amp;#41; &amp;#123;...&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
public class Moderator &amp;#58; Forumas
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public override void PrikaziForume&amp;#40;&amp;#41; &amp;#123;...&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
Forumas bobby = new Moderator&amp;#40;&amp;#41;;
&lt;br /&gt;
bobby.PrikaziForume&amp;#40;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
REZULTAT --&amp;gt; poziva se reimplementirana metoda  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;
(pozvaće se metoda klase čijeg je tipa promenljiva)
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ukoliko ne želimo da drugi programeri, nasleđjuju neku od klasa, koje smo napravili
&lt;br /&gt;
--&amp;gt; to možemo učiniti pomoću ključne reči &lt;span style=&quot;font-weight: bold&quot;&gt;sealed&lt;/span&gt; , a takve klase se nazivaju &lt;span style=&quot;font-weight: bold&quot;&gt;zapečaćene klase&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
Zapečaćena (sealed) klasa &lt;span style=&quot;text-decoration: underline&quot;&gt;ne može&lt;/span&gt; da se koristi kao bazna klasa bilo koje druge klase.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Sintaksa:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public sealed class ZapecacenaKlasa
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //...
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Interfejsi&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Interfejs predstavlja &amp;quot;ugovor&amp;quot; kojim se garantuje da će se klasa, koja je nasledila taj interfejs, ponašati na određeni način.
&lt;br /&gt;

&lt;br /&gt;
// Dakle, klasa garantuje da prodržava metode, svojstva (properties), događaje (events) i indeksere nekog interfejsa!
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Sintaksno&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;--&amp;gt; interfejs je &lt;span style=&quot;text-decoration: underline&quot;&gt;klasa&lt;/span&gt; koja sadrži samo &lt;span style=&quot;text-decoration: underline&quot;&gt;apstraktne metode&lt;/span&gt;.&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Kada klasa implementira interfejs ona &lt;span style=&quot;font-weight: bold&quot;&gt;mora&lt;/span&gt; da implementira &lt;span style=&quot;font-weight: bold&quot;&gt;sve njene metode&lt;/span&gt; !
&lt;br /&gt;

&lt;br /&gt;
Moguće je da jedna klasa implementira više interfejsa.
&lt;br /&gt;
 (podsetimo se, višestruko nasleđivanje klasa nije dozvoljeno u C#, ali jeste višestruko nasleđivanje interfejsa).
&lt;br /&gt;

&lt;br /&gt;
Ukoliko želimo da proverimo da li objekat implementira interfejs učinićemo to na jedan od sledeća dva načina:
&lt;br /&gt;

&lt;br /&gt;
A) preko &lt;span style=&quot;font-weight: bold&quot;&gt;IS&lt;/span&gt; operatora:
&lt;br /&gt;

&lt;br /&gt;
npr.  (kocka is ITelo)
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; vraća &lt;span style=&quot;font-weight: bold&quot;&gt;true&lt;/span&gt; ako se &lt;span style=&quot;font-style: italic&quot;&gt;kocka&lt;/span&gt; može kastovati u &lt;span style=&quot;font-style: italic&quot;&gt;ITelo&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
B) preko  &lt;span style=&quot;font-weight: bold&quot;&gt;AS&lt;/span&gt; operatora: 
&lt;br /&gt;

&lt;br /&gt;
npr. (ITelo telo = kocka as ITelo)
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; ovaj način kombinuje &lt;span style=&quot;font-weight: bold&quot;&gt;IS&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;operacije kastovanja&lt;/span&gt; tako što prvo testira da li je kastovanje moguće a zatim kompletira kastovanje ako je moguće. Ukoliko kastovanje nije moguće operator &lt;span style=&quot;font-weight: bold&quot;&gt;AS&lt;/span&gt; vraća povratnu vrednost null.
&lt;br /&gt;
//dakle, u ovom slučaju se provera vrši na indirektan način!
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Apstraktna klasa je klasa koja se može naslediti, ali se ne može instacirati.
&lt;br /&gt;
Može posedovati apstraktne metode, koje nemaju svoju implementaciju, ali ih klase naslednice (ukoliko nisu apstraktne) moraju implementirati korišćenjem ključne reči “override”. 
&lt;br /&gt;

&lt;br /&gt;
Takođe, apstraktna klasa može imati metode koje imaju implementaciju (za razliku od interfejsa), i koje u svom telu mogu koristiti apstraktne metode. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Sveobuhvatan primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace ApstraktneKlase
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public interface IRacun
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void IsplatiSaRacuna&amp;#40;double iznos&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void UplatiNaRacun&amp;#40;double iznos&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string VratiPodatkeORacunu&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;double VratiStanje&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public abstract class AbstractRacun &amp;#58; ApstraktneKlase.IRacun 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private double stanje;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private string brojRacuna;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public AbstractRacun&amp;#40;string brojRacuna&amp;#41;&amp;#58;this&amp;#40;brojRacuna, 0&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public AbstractRacun&amp;#40;string brojRacuna, double pocetnoStanje&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.brojRacuna = brojRacuna;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.stanje = pocetnoStanje;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public double VratiStanje&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return stanje;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public void UplatiNaRacun&amp;#40;double iznos&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stanje += iznos - ProvizijaNaUplatu&amp;#40;iznos&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public void IsplatiSaRacuna&amp;#40;double iznos&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stanje -= iznos + ProvizijaNaIsplatu&amp;#40;iznos&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;protected abstract double ProvizijaNaUplatu&amp;#40;double iznos&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected abstract double ProvizijaNaIsplatu&amp;#40;double iznos&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public virtual string VratiPodatkeORacunu&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string podaci = &amp;quot;Racun broj&amp;#58; &amp;quot; + brojRacuna+&amp;quot;\nIznos na racunu&amp;#58; &amp;quot; + stanje;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return podaci;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public class TekuciRacun&amp;#58;AbstractRacun
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public TekuciRacun&amp;#40;string brojRacuna&amp;#41; &amp;#58; base&amp;#40;brojRacuna&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public TekuciRacun&amp;#40;string brojRacuna, double pocetnoStanje&amp;#41; &amp;#58; base&amp;#40;brojRacuna, pocetnoStanje&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;protected override double ProvizijaNaUplatu&amp;#40;double iznos&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;protected override double ProvizijaNaIsplatu&amp;#40;double iznos&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;double obracunataProvizija = 100 + &amp;#40;iznos * 3 / 100&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return obracunataProvizija;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public override string VratiPodatkeORacunu&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return base.VratiPodatkeORacunu&amp;#40;&amp;#41; + &amp;quot;\nTip racuna&amp;#58; TEKUCI&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public class DevizniRacun&amp;#58;AbstractRacun
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public DevizniRacun&amp;#40;string brojRacuna&amp;#41; &amp;#58; base&amp;#40;brojRacuna&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public DevizniRacun&amp;#40;string brojRacuna, double pocetnoStanje&amp;#41; &amp;#58; base&amp;#40;brojRacuna, pocetnoStanje&amp;#41; &amp;#123; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected override double ProvizijaNaUplatu&amp;#40;double iznos&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;double obracunataProvizija = 100 + &amp;#40;iznos * 5 / 100&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return obracunataProvizija;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;protected override double ProvizijaNaIsplatu&amp;#40;double iznos&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;double obracunataProvizija = 100 + &amp;#40;iznos * 5 / 100&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return obracunataProvizija;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public override string VratiPodatkeORacunu&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return base.VratiPodatkeORacunu&amp;#40;&amp;#41; + &amp;quot;\nTipRacuna&amp;#58; DEVIZNI&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AbstractRacun&amp;#91;&amp;#93; racuni = new AbstractRacun&amp;#91;2&amp;#93;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; racuni&amp;#91;0&amp;#93; = new TekuciRacun&amp;#40;&amp;quot;422-422&amp;quot;, 0&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; racuni&amp;#91;1&amp;#93; = new DevizniRacun&amp;#40;&amp;quot;917-017&amp;quot;, 0&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for &amp;#40;int i = 0; i &amp;lt; 2; i++&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Uplata na &amp;quot; + i + &amp;quot;. racun u iznosu od 1000&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; racuni&amp;#91;i&amp;#93;.UplatiNaRacun&amp;#40;1000&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;quot;Podaci o racunu posle uplate&amp;#58; \n&amp;quot;+racuni&amp;#91;i&amp;#93;.VratiPodatkeORacunu&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izlaz:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_66057555_racun.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Izbegavanje konflikta između imena klasa u programima se obezbeđuje preko &lt;span style=&quot;font-weight: bold&quot;&gt;imenskih prostora&lt;/span&gt; (&lt;span style=&quot;font-weight: bold&quot;&gt;namespace&lt;/span&gt;)
&lt;br /&gt;

&lt;br /&gt;
Imenski prostor obezbeđuje kontejner koji sadrži aplikacioni kod, na takav način da i kod i njegov sadržaj mogu biti jedinsveno identifikovani. 
&lt;br /&gt;

&lt;br /&gt;
Takođe, promoviše se ponovna upotreba koda. Imenski prostori se koriste i za kategorizaciju objekata u .NET okruženju.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
C# kod se sadrži u globalnom imenovanom prostoru, a to znači da se tom kodu može pristupiti iz nekog drugog koda koji je unutar globalnog imenovanog prostora, i to tako što se navede njegovo ime. 
&lt;br /&gt;

&lt;br /&gt;
Kao što je već dosada viđeno u primerima, koristi se ključna reč &lt;span style=&quot;font-weight: bold&quot;&gt;namespace&lt;/span&gt; , kako bi se &lt;span style=&quot;text-decoration: underline&quot;&gt;eksplicitno&lt;/span&gt; definisao imenski prostor. 
&lt;br /&gt;

&lt;br /&gt;
Ukoliko imamo kod u jednom imenovanom prostoru, koji treba da koristimo u drugom imenovanom prostoru, mora se uključiti &lt;span style=&quot;font-weight: bold&quot;&gt;referenca&lt;/span&gt; na prvi imenovani prostor.</description>
	<pubDate>Sun, 13 Nov 2011 03:26:54 +0100</pubDate>
</item>
<item>
	<title>[4] C# - Metode, Nizovi</title>
	<link>https://www.mycity.rs/NET/4-C-Metode-Nizovi.html</link>
	<guid>https://www.mycity.rs/?p=1240589</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[1] Metode&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Metode obezbeđuju da neki &lt;span style=&quot;font-weight: bold&quot;&gt;blok koda&lt;/span&gt; može biti izvršen &lt;span style=&quot;text-decoration: underline&quot;&gt;na bilo kojoj lokaciji&lt;/span&gt; unutar aplikacije. Predstavlja grupu naredbi koja izvršava određeni zadatak.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Potpis metode&lt;/span&gt; čine: 
&lt;br /&gt;
- &lt;span style=&quot;color: blue&quot;&gt;povratna vrednost&lt;/span&gt; metode,
&lt;br /&gt;
- &lt;span style=&quot;color: purple&quot;&gt;parametri metode&lt;/span&gt; 
&lt;br /&gt;
- i naziv metode.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: blue&quot;&gt;Povratna vrednost&lt;/span&gt; metode predstavlja &lt;span style=&quot;font-weight: bold&quot;&gt;tip podatka&lt;/span&gt; koji metoda treba da vrati.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: purple&quot;&gt;Parametri metode&lt;/span&gt; su podaci kojima snabdevamo metodu.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Opšti oblik metode&lt;/span&gt;: 
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;[access-modifier] &amp;lt; return-type&amp;gt;  &amp;lt;method-name&amp;gt;([parameter-type parameter-name],[.....])
&lt;br /&gt;
{ method-body}&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;access-modifier&lt;/span&gt; - opseg (stepen) do koga je metoda dostupna drugim klasama ili projektima.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;return-type&lt;/span&gt; - tip vrednosti koju metoda treba da vrati
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;method-name&lt;/span&gt; - naziv metode
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;parameter-type parameter-name&lt;/span&gt; -  tip i naziv parametra koje metoda prima.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;method-body&lt;/span&gt; - telo metode.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ukoliko metoda vraća neku vrednost mora se:
&lt;br /&gt;
- &lt;span style=&quot;font-style: italic&quot;&gt;navesti tip povratne vrednosti u deklaraciji metode&lt;/span&gt;,
&lt;br /&gt;
- &lt;span style=&quot;font-style: italic&quot;&gt;koristiti ključna reč &lt;span style=&quot;font-weight: bold&quot;&gt;RETURN&lt;/span&gt; prilikom završavanja metode&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Parametri metoda&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Do sada  smo koristili &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;prenos parametara po vrednosti&lt;/span&gt;&lt;/span&gt;, u tom slucaju bilo koja promena nad promenjivom unutar metode nema NIKAKVOG EFEKTA na parametre navedene u pozivu metode.
&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Metode
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;static void Dupliraj&amp;#40;int vrednost&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;vrednost *= 2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot; Vrednost je &amp;#58; &amp;#123;0&amp;#125;&amp;quot;,vrednost&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int broj = 5;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Vrednost je &amp;#58; &amp;#123;0&amp;#125;&amp;quot;,broj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Dupliraj&amp;#40;broj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Vrednost je &amp;#58; &amp;#123;0&amp;#125;&amp;quot;,broj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izlaz:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_94361189_vred.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ukoliko želimo da, na ovaj način, promenimo vrednost promenljive &lt;span style=&quot;font-weight: bold&quot;&gt;broj&lt;/span&gt;, trebalo bi da ubacimo sledeću liniju koda:
&lt;br /&gt;

&lt;br /&gt;
 broj = dupliraj(broj);
&lt;br /&gt;

&lt;br /&gt;
... a metoda bi trebala da se deklariše sa povratnom vrednošću, gde bi povratna vrednost bio duplirani broj. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Još jedan način prosleđivanja vrednosti u metodu je &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;prenos parametara preko reference&lt;/span&gt;&lt;/span&gt;. 
&lt;br /&gt;
--&amp;gt; To znači da će se sve promene odražavaju &lt;span style=&quot;font-weight: bold&quot;&gt;i na promenjivu koja se koristi kao parametar&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Za ovaj način prosleđivanja, potrebno je koristiti ključnu reč &lt;span style=&quot;font-weight: bold&quot;&gt;REF&lt;/span&gt; kod &lt;span style=&quot;text-decoration: underline&quot;&gt;inicijalizacije metode&lt;/span&gt; i &lt;span style=&quot;text-decoration: underline&quot;&gt;kod pozivanja metode&lt;/span&gt; (kod onih parametara koje želimo preneti preko reference).
&lt;br /&gt;

&lt;br /&gt;
Uporedimo prošli primer sa ovim primerom, gde se koristi ključna reč &amp;quot;ref&amp;quot;:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Metode
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;static void Dupliraj&amp;#40;ref int vrednost&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;vrednost *= 2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot; Vrednost je &amp;#58; &amp;#123;0&amp;#125;&amp;quot;,vrednost&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int broj = 5;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Vrednost je &amp;#58; &amp;#123;0&amp;#125;&amp;quot;,broj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Dupliraj&amp;#40;ref broj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Vrednost je &amp;#58; &amp;#123;0&amp;#125;&amp;quot;,broj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izlaz:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_146784074_ref.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Sa primera se vidi da je promenjena i vrednost promenljive &lt;span style=&quot;font-weight: bold&quot;&gt;broj&lt;/span&gt;. &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Kada koristimo prenos preko reference --&amp;gt; &lt;span style=&quot;text-decoration: underline&quot;&gt;ne smeju se koristiti konstantne vrednosti&lt;/span&gt; (CONST), i promenjiva koja se koristi &lt;span style=&quot;text-decoration: underline&quot;&gt;mora biti inicijalizovana&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Izlazni parametri&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Parametar možemo definisati da bude &lt;span style=&quot;font-weight: bold&quot;&gt;izlazni parametar&lt;/span&gt;, preko ključne reči &lt;span style=&quot;font-weight: bold&quot;&gt;OUT&lt;/span&gt;  koja se koristi isto kao i &lt;span style=&quot;font-weight: bold&quot;&gt;ref&lt;/span&gt; (&lt;span style=&quot;font-style: italic&quot;&gt;dakle, kao modifikator parametra u definiciji metode i pri njenom pozivanju&lt;/span&gt;). 
&lt;br /&gt;

&lt;br /&gt;
Rezultat je isto ponašanje kao i kod referentnog tipa, u smislu da se vrednost parametra na kraju metode vraća promenjivoj koja je upotrebljena u njenom pozivu. 
&lt;br /&gt;

&lt;br /&gt;
Pa u čemu je onda razlika?
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; --&amp;gt; Kod parametra OUT mogu se koristiti &lt;span style=&quot;font-weight: bold&quot;&gt;neinicijalizovane promenjive&lt;/span&gt;. Iako je nekoj promenjivoj dodeljena vrednost, kada se koristi u metodi njena vrednost će biti izgubljena nakon izvršenja metode.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ključne reči OUT i REF se moraju navesti u pozivu metode  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Metode mogu biti i članice struktura.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt;  &lt;span style=&quot;font-weight: bold&quot;&gt;Nizovi parametara&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
C# dozvoljava da definišemo jedan poseban parametar za metode, koji mora biti zadnji u definiciji metode i naziva se NIZ PARAMETARA. Ovaj parametar dozvoljava da pozivamo metode koristeći &lt;span style=&quot;font-weight: bold&quot;&gt;promenjivu količinu parametara&lt;/span&gt;, a definiše se ključnom rečju &lt;span style=&quot;font-weight: bold&quot;&gt;PARAMS&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;static &amp;lt;return-type&amp;gt;&amp;lt; method-name&amp;gt;(&amp;lt;paramname&amp;gt;,&amp;lt; paramname&amp;gt;,...,params &amp;lt;type&amp;gt;[] &amp;lt;name&amp;gt; )
&lt;br /&gt;
{....................................
&lt;br /&gt;
.......................................
&lt;br /&gt;
return &amp;lt; return-value&amp;gt;;
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ovu metodu pozivamo na sledeći način: 
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;&amp;lt;methode name&amp;gt;(&amp;lt;p1&amp;gt;,...&amp;lt;val1&amp;gt;,&amp;lt;val2&amp;gt;,....)&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-style: italic&quot;&gt;svi parametri moraju da budu onog tipa koji se navodi u inicijalizaciji metode&lt;/span&gt;!
&lt;br /&gt;

&lt;br /&gt;
Primer upotrebe (deo koda):
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;static int Zbir&amp;#40;params int&amp;#91;&amp;#93; nizBrojeva&amp;#41;
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;int suma = 0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;foreach&amp;#40;int val in nizBrojeva&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;suma += val;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;return suma;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Pogodno je koristiti &lt;span style=&quot;font-weight: bold&quot;&gt;foreach&lt;/span&gt; petlju, budući da ne znamo konkretan broj parametara prilikom pisanja koda.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;text-decoration: underline&quot;&gt;Preopterećenje metoda&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Moguće je imati dve metode &lt;span style=&quot;font-weight: bold&quot;&gt;istog naziva&lt;/span&gt; koje operišu nad različitim tipovima promenjivih. 
&lt;br /&gt;
--&amp;gt; &lt;span style=&quot;font-style: italic&quot;&gt;preopterećenje operatora&lt;/span&gt; prepoznaje ovu situaciju i omogućava da napravimo više metoda sa istim imenom, koje rade sa različitim tipovima argumenata.
&lt;br /&gt;
 
&lt;br /&gt;
(dakle, u ovom slučaju metode imaju &lt;span style=&quot;font-weight: bold&quot;&gt;isti naziv&lt;/span&gt;, ali imaju &lt;span style=&quot;font-weight: bold&quot;&gt;različit potpis&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; )
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Na primer, posmatrajmo sledeći kod:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;static float MaxVrednost&amp;#40;float &amp;#91;&amp;#93; nizBrojeva&amp;#41;
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float max = nizBrojeva&amp;#91;0&amp;#93;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;for&amp;#40;int i = 0; i&amp;lt;nizBrojeva.Lenght;i++&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;nizBrojeva&amp;#91;i&amp;#93; &amp;gt; max&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;max = nizBrojeva&amp;#91;i&amp;#93;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;return max;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Možemo napisati i metodu koja će imati &lt;span style=&quot;font-weight: bold&quot;&gt;isti naziv&lt;/span&gt; kao i gornja metoda, ali samo sa &lt;span style=&quot;text-decoration: underline&quot;&gt;drugim tipom ulaznog parametra&lt;/span&gt; (podvucimo opet: metode imaju iste nazive ali različite potpise). 
&lt;br /&gt;

&lt;br /&gt;
Prilikom programiranja, ne moramo navoditi koju metodu ćemo da koristimo, samo navedemo niz parametara i odgovarajuća metoda se pozove.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Jedna od dobrih karakteristika tehnologije &lt;span style=&quot;font-weight: bold&quot;&gt;intellisence&lt;/span&gt; kod &lt;span style=&quot;font-weight: bold&quot;&gt;Visual Studia&lt;/span&gt; (a i &lt;span style=&quot;font-weight: bold&quot;&gt;MonoDevelop&lt;/span&gt; sadrži sličnu tehnologiju) : 
&lt;br /&gt;
--&amp;gt; ako imamo dve metode i krenemo da unosimo ime metode &lt;span style=&quot;font-weight: bold&quot;&gt;Visual Studio&lt;/span&gt; (tj. &lt;span style=&quot;font-weight: bold&quot;&gt;MonoDevelop&lt;/span&gt;) će pokazati moguća preopterećenja za tu metodu.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Možemo imati dve metode sa &lt;span style=&quot;font-weight: bold&quot;&gt;istim imenom&lt;/span&gt;, a potpis se razlikuje u tome da li se parametri prenose &lt;span style=&quot;text-decoration: underline&quot;&gt;preko vrednosti&lt;/span&gt; ili &lt;span style=&quot;text-decoration: underline&quot;&gt;preko reference&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Korišćenje modifikatora pristupa&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Modifikatori pristupa naznačavaju opseg (stepen) do koga je dostupan član neke klase.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;public&lt;/span&gt; --&amp;gt; član je dostupan bez restrikcije!
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;protected internal&lt;/span&gt; --&amp;gt; član je dostupan samo unutar:
&lt;br /&gt;
- klase, 
&lt;br /&gt;
- izvedenih klasa, 
&lt;br /&gt;
- klasa u istom programu.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;internal&lt;/span&gt; --&amp;gt; član je dostupan samo unutar:
&lt;br /&gt;
- klase,
&lt;br /&gt;
- istog programa.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;protected&lt;/span&gt; --&amp;gt; član je dostupan samo unutar:
&lt;br /&gt;
- klase,
&lt;br /&gt;
- izvedenih klasa.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;private&lt;/span&gt; --&amp;gt; član je dostupan samo unutar klase. &lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Ovo je podrazumevana vrednost.&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
-------------
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;static&lt;/span&gt; --&amp;gt; sve instance klase koje sadrže statičku promenjivu ili metodu. 
&lt;br /&gt;
Toj metodi pristupamo tako što navedemo 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;imeklase.Imemetode&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; &lt;span style=&quot;font-weight: bold&quot;&gt;dakle, nije potrebno da insatnciramo klasu&lt;/span&gt;.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[2] Nizovi&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Nizovi su &lt;span style=&quot;font-weight: bold&quot;&gt;uvek referentni tipovi&lt;/span&gt;. Promenljive nizovnog tipa &lt;span style=&quot;text-decoration: underline&quot;&gt;sadrže reference na niz&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;a ne sam niz&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- Nizovni tipovi se implicitno izvode iz &lt;span style=&quot;font-weight: bold&quot;&gt;System.Array&lt;/span&gt; koji je izveden iz &lt;span style=&quot;font-weight: bold&quot;&gt;System.Object&lt;/span&gt; tipa.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt;  Da bi se deklarisala nizovna promenljiva potrebno je:
&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;– navesti tip elemenata niza&lt;/span&gt;, zatim 
&lt;br /&gt;
– &lt;span style=&quot;color: blue&quot;&gt;uglaste zagrade kojima se specificira rang niza&lt;/span&gt;, i na kraju
&lt;br /&gt;
– &lt;span style=&quot;color: green&quot;&gt;ime nizovne promenljive&lt;/span&gt; .
&lt;br /&gt;

&lt;br /&gt;
Primer deklaracije promenljive:
&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;Tip&lt;/span&gt;&lt;span style=&quot;color: blue&quot;&gt;[]&lt;/span&gt; &lt;span style=&quot;color: green&quot;&gt;imePromenljive&lt;/span&gt;;
&lt;br /&gt;

&lt;br /&gt;
- Tip elemenata niza može biti bilo koji tip uključujući i nizovni tip
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Podržani su:
&lt;br /&gt;

&lt;br /&gt;
a) jednodimenzionalni nizovi,
&lt;br /&gt;
b) dvodimenzionalni nizovi (matrice) 
&lt;br /&gt;
c) nizovi nizova
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
a) Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;int&amp;#91;&amp;#93; niz = new int&amp;#91;3&amp;#93; &amp;#123;1, 10, 12&amp;#125;;
&lt;br /&gt;
foreach &amp;#40;int broj in niz&amp;#41;
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.Write&amp;#40;broj+&amp;quot; &amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
b) Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;int&amp;#91;,&amp;#93; matrica = new int&amp;#91;3,2&amp;#93; &amp;#123; &amp;#123; 1, 2 &amp;#125;, &amp;#123; 3, 4 &amp;#125;, &amp;#123; 5, 6 &amp;#125; &amp;#125;;
&lt;br /&gt;
foreach &amp;#40;int broj in matrica&amp;#41;
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;broj&amp;#41;;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Svojstvo &lt;span style=&quot;font-weight: bold&quot;&gt;Rank&lt;/span&gt;  vraća vrednost koja ukazuje na rang, odnosno ukupan broj dimenzija niza.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Svojstvo &lt;span style=&quot;font-weight: bold&quot;&gt;Length&lt;/span&gt; vraća vrednost koja ukazuje na ukupan broj elemenata niza.
&lt;br /&gt;

&lt;br /&gt;
 &lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;&lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Metodom &lt;span style=&quot;font-weight: bold&quot;&gt;Sort&lt;/span&gt; sortiraju se elementi jednodimenzionalnog niza.
&lt;br /&gt;

&lt;br /&gt;
– elementi niza moraju da implementiraju interfejs &lt;span style=&quot;font-weight: bold&quot;&gt;IComparable&lt;/span&gt;
&lt;br /&gt;
– ukoliko sortiranje nije uspešno završeno, rezultat je nedefinisan
&lt;br /&gt;
– koristi se QuickSort algoritam
&lt;br /&gt;
– ne vodi se računa o redosledu elemenata čija je vrednost ista
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Metodom &lt;span style=&quot;font-weight: bold&quot;&gt;Clone&lt;/span&gt; kreira se nova instanca niza čiji su elementi &lt;span style=&quot;font-weight: bold&quot;&gt;kopije&lt;/span&gt; elemenata kloniranog niza.
&lt;br /&gt;
// ukoliko su elementi niza referentnog tipa, objekti na koje oni imaju reference &lt;span style=&quot;font-weight: bold&quot;&gt;neće biti kopirani&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;Metoda &lt;span style=&quot;font-weight: bold&quot;&gt;Copy&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;public static void Copy (Array x, int i, Array y, int j, int d)&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
x --&amp;gt; niz iz koga se kopira
&lt;br /&gt;
i --&amp;gt; indeks elementa niza &lt;span style=&quot;font-weight: bold&quot;&gt;x&lt;/span&gt; od koga se počinje
&lt;br /&gt;
y --&amp;gt; niz u koji se kopira
&lt;br /&gt;
j --&amp;gt; indeks elementa niza &lt;span style=&quot;font-weight: bold&quot;&gt;y&lt;/span&gt; od koga se počinje
&lt;br /&gt;
d --&amp;gt; broj obuhvaćenih elemenata
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Metoda &lt;span style=&quot;font-weight: bold&quot;&gt;IndexOf&lt;/span&gt; 
&lt;br /&gt;
--&amp;gt; vraća vrednost indeksa prvog elementa čija je vrednost jednaka traženoj.
&lt;br /&gt;
– ukoliko ne postoji element sa traženom vrednošću, vraća se &lt;span style=&quot;font-weight: bold&quot;&gt;-1&lt;/span&gt;.
&lt;br /&gt;
– može da se koristi samo nad jednodimenzionalnim nizovima.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Metoda &lt;span style=&quot;font-weight: bold&quot;&gt;GetLenght&lt;/span&gt;
&lt;br /&gt;
--&amp;gt; vraća vrednost koja ukazuje na broj elemenata za određenu dimenziju niza.
&lt;br /&gt;
– prva dimenzija se označava sa &lt;span style=&quot;font-weight: bold&quot;&gt;0&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Metodom &lt;span style=&quot;font-weight: bold&quot;&gt;Clear&lt;/span&gt; navedenim elementima niza se dodeljuju podrazumevane vrednosti.</description>
	<pubDate>Sat, 12 Nov 2011 02:19:22 +0100</pubDate>
</item>
<item>
	<title>FTP Manipulisanje, aplikacija 100% zavisna od servera - Tutorijal VB.NET</title>
	<link>https://www.mycity.rs/NET/FTP-Manipulisanje-aplikacija-100-zavisna-od-servera-Tutorijal-VB-NET.html</link>
	<guid>https://www.mycity.rs/?p=1240242</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>Videli smo ranije u jednom od mojih tutorijala kako možemo proveriti novu verziju programa preko servera. Hajde da napravimo nešto komplikovanije.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Nivo :&lt;/span&gt; &lt;span style=&quot;color: orange&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Napredan&lt;/span&gt;&lt;/span&gt; (neće biti opisano korak po korak kako napraviti projekat, nazvati kontrole i sl.)
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Ideja :&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Imati aplikaciju koja 100% zavisi od servera.
&lt;br /&gt;
Imaćemo login formu preko koje će korisnik napraviti nalog na server i ulogovati se u program.
&lt;br /&gt;
Zatim ćemo korisniku prikazati neku poruku i dozvoliti mu da upiše neki fajl na server.
&lt;br /&gt;
Koristićemo FTP ovog puta.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_question.gif&quot; alt=&quot;Question&quot; border=&quot;0&quot; /&gt; Potrebno za ovaj tutorijal :
&lt;br /&gt;
FTP Nalog
&lt;br /&gt;
VB.NET 
&lt;br /&gt;
15 minuta slobodnog vremena
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Korak #1&lt;/span&gt;&lt;/span&gt; - Pravljenje FTP naloga.
&lt;br /&gt;
Za ovaj tutorijal će nam trebati FTP da bi smo mogli da skidamo i kačimo fajlove.
&lt;br /&gt;
Napravićemo nalog na &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; 
&lt;br /&gt;

&lt;br /&gt;
Ja ću koristiti primer ime (nije stvarno registrovano) i primer lozinku za ovaj tutorijal.
&lt;br /&gt;
&amp;quot;Registrovao&amp;quot; sam nalog na drivehq.com :
&lt;br /&gt;
Username : Tutorijal1
&lt;br /&gt;
Password : Tutorijal
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Korak #2&lt;/span&gt;&lt;/span&gt; - Kačenje potrebnih fajlova na FTP[
&lt;br /&gt;
Napravićemo jedan txt fajl koji ćemo nazvati &amp;quot;motd.txt&amp;quot;, unutra napišite tekst 
&lt;br /&gt;
&amp;quot;ThePhilosopher piše najbolje tutorijale&amp;quot;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_cool.gif&quot; alt=&quot;Cool&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
Zatim napravite nov tekst fajl &amp;quot;podesavanje.txt&amp;quot; unutra napišite broj
&lt;br /&gt;
&amp;quot;1&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
Napravite nov tekst i nazovite ga &amp;quot;poruka.txt&amp;quot; unutra ne pisite nista.
&lt;br /&gt;
Sačuvajte tekstove i okačite ih na akaunt na drivehq u root folderu.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Korak #3&lt;/span&gt;&lt;/span&gt; - Pravljenje interfejsa
&lt;br /&gt;
Imaćemo tri forme. 
&lt;br /&gt;
Na prvoj formi napravite :
&lt;br /&gt;
2 Tekst boxa
&lt;br /&gt;
2 Label-a
&lt;br /&gt;
2 dugmeta.
&lt;br /&gt;

&lt;br /&gt;
Podesite kontrole u &amp;quot;Properties&amp;quot; prozoru:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;1. Textbox | Name = tbime 
&lt;br /&gt;
2. Textbox | Name = tblozinka
&lt;br /&gt;
1. Label | Text = Korisnicko ime &amp;#58;
&lt;br /&gt;
2. Label | Text = Lozinka&amp;#58;
&lt;br /&gt;
1 dugme |Text = Uloguj se | Name = btnuloguj
&lt;br /&gt;
2 dugme |Text = Registruj se | name = btnreg&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Ovako izgleda forma :
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_330242487_Cap1.PNG&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Napravite novu formu i na njoj dodajte :
&lt;br /&gt;

&lt;br /&gt;
4 Label-a
&lt;br /&gt;
3 tekst polja
&lt;br /&gt;
2 dugmeta
&lt;br /&gt;

&lt;br /&gt;
Podesite kontrole u &amp;quot;Properties&amp;quot; prozoru:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;1. Label | Text = Molimo ispunite sledeci formular&amp;#58;
&lt;br /&gt;
2. Label | Text = Korisnicko ime
&lt;br /&gt;
3. Label | Text = Lozinka
&lt;br /&gt;
4. Label | Text = Unesite lozinku ponovo
&lt;br /&gt;

&lt;br /&gt;
1. Textbox | Name = tbime
&lt;br /&gt;
2. Textbox | Name = tblozinka | Password char = *
&lt;br /&gt;
3. Textbox | Name = tbprovera | Password char = *
&lt;br /&gt;

&lt;br /&gt;
1. Dugme | Name = btnregistruj | Text = Registruj
&lt;br /&gt;
2. Dugme | Name = btnotkazi | Text = Otkazi
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Ovako izgleda forma : 
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_55040441_cap2.PNG&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Napravite novu formu i dodajte sledeće kontrole :
&lt;br /&gt;

&lt;br /&gt;
3 Label-a
&lt;br /&gt;
2 textboxa
&lt;br /&gt;
3 Dugmeta 
&lt;br /&gt;

&lt;br /&gt;
Podesite parametre ovako u &amp;quot;Properties&amp;quot; prozoru :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;1. Label | Name = motd | Text = &amp;quot;&amp;quot; &amp;#40;obrišemo sve iz ovog polja&amp;#41;
&lt;br /&gt;
2. Label | Text = &amp;quot;Upisite poruku serveru&amp;#58;&amp;quot;
&lt;br /&gt;
3. Label | Text = &amp;quot;Vasa poruka sa servera&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
1. Textbox | Multiline = True | Name = tbsalji 
&lt;br /&gt;
2. Textbox |Multiline = True | Name = tbprimi
&lt;br /&gt;

&lt;br /&gt;
1. Dugme | Name = btnsalji | Text = Posalji serveru
&lt;br /&gt;
2. Dugme | Name = btnprimi | Text = Primi tekst od servera
&lt;br /&gt;
3. Dugme | Name = izlaz | Text = Izađi&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Ovako izgleda forma :
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_69524812_cap3.PNG&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Korak #4&lt;/span&gt;&lt;/span&gt; - &lt;span style=&quot;color: green&quot;&gt;Programiranje&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Prvo što ćemo uraditi jeste napisati proveru da li korisnik postoji na serveru.
&lt;br /&gt;
Da bi smo to uradili moramo da se povežemo na FTP server. 
&lt;br /&gt;
Vratite se na prvu formu i u dugmetu &amp;quot;Uloguj se&amp;quot; upišite sledeće :
&lt;br /&gt;

&lt;br /&gt;
Pre svega ćemo napisati proveru za prazan tekst :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; If tbime.Text = &amp;quot;&amp;quot; Or tblozinka.Text = &amp;quot;&amp;quot; Then 
&lt;br /&gt;
&amp;nbsp;MsgBox&amp;#40;&amp;quot;Tekst polja ne smeju biti prazna, upisite korisnicko ime i lozinku i pokusajte&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ponovo&amp;quot;&amp;#41;
&lt;br /&gt;

&lt;br /&gt;
'Zatim ćemo se povezati na FTP Server
&lt;br /&gt;
' U istoj proveri radimo sledeće
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Else ' Ako postoji tekst onda &amp;#58;
&lt;br /&gt;
&amp;nbsp; Try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Dim br As String 'deklarisemo string koji će sadržati informaciju sa servera
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim logovanje As New Net.WebClient 'pravimo nov webclient
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ' Upisujemo naše korisničko ime i našu lozinku za drivehq.com
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;logovanje.Credentials = New Net.NetworkCredential&amp;#40;&amp;quot;tutorijal1&amp;quot;, &amp;quot;tutorijal&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'kacimo se na server i preuzimamo fajl
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; br = logovanje.DownloadString&amp;#40;&amp;quot;ftp&amp;#58;//ftp.drivehq.com/&amp;quot; &amp;amp; tbime.Text &amp;amp; &amp;quot;.txt&amp;quot;&amp;#41;
&lt;br /&gt;

&lt;br /&gt;
' ukoliko postoji fajl pokusaj proveri da li je tacna lozinka
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If br = tblozinka.Text Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'ukoliko jeste prikazi novu formu
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form3.Show&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.close
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Catch ex As Exception
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ' Nije tacna lozinka, prikazi poruku korisniku
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MsgBox&amp;#40;&amp;quot;Uneli ste pogresnu lozinku&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End Try
&lt;br /&gt;

&lt;br /&gt;
' ne postoji nalog, prikazi poruku
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Catch ex As Exception
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MsgBox&amp;#40;&amp;quot;Akaunt nije registrovan &amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End Try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Kačenje na server i preuzimanje podatka iz fajla :
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt; Dim br As String
&lt;br /&gt;
                Dim logovanje As New &lt;span style=&quot;font-weight: bold&quot;&gt;Net.WebClient&lt;/span&gt;
&lt;br /&gt;
                logovanje&lt;span style=&quot;font-weight: bold&quot;&gt;.Credentials&lt;/span&gt; = New Net.NetworkCredential(&amp;quot;tutorijal1&amp;quot;, &amp;quot;tutorijal&amp;quot;)
&lt;br /&gt;
                br = logovanje&lt;span style=&quot;font-weight: bold&quot;&gt;.DownloadString&lt;/span&gt;(&amp;quot;ftp://ftp.drivehq.com/&amp;quot; &amp;amp; tbime.Text &amp;amp; &amp;quot;.txt&amp;quot;)
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; Try Catch Finally End Try metoda
&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Try&lt;/span&gt;
&lt;br /&gt;
' Blok koda šta da pokuša
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Catch&lt;/span&gt;  ex as exception ' šta uraditi ako dođe do greške
&lt;br /&gt;
Messagebox.Show (Ex.message) ' Daje direktnu poruku koja se desila korisniku
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;End try&lt;/span&gt;&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada ćemo napisati kod za registraciju.
&lt;br /&gt;
Idite na drugu formu. 
&lt;br /&gt;
Pišemo kod za dugme &amp;quot;Registruj me&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
Pre svega ćemo proveriti da li se lozinke u oba polja podudaraju i da li su polja prazna, zatim ćemo poslati upit i zatražiti dozvolu od FTP servera da okačimo fajl.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
'ako su polja prazna onda
&lt;br /&gt;
&amp;nbsp; If tbime.Text = &amp;quot;&amp;quot; Or tblozinka.Text = &amp;quot;&amp;quot; Or tbprovera.Text = &amp;quot;&amp;quot; Then
&lt;br /&gt;
&amp;nbsp;MsgBox&amp;#40;&amp;quot;Morate popuniti sva polja&amp;quot;&amp;#41; 'prikazi poruku o gresci
&lt;br /&gt;
Else 'ako nisu 
&lt;br /&gt;
If tblozinka.Text = tbprovera.Text Then 'proveri da li se fajlovi podudaraju
&lt;br /&gt;
&amp;nbsp;Try 'pokusaj
&lt;br /&gt;
'napravićemo privremeni fajl sa korisnikovim podacima 
&lt;br /&gt;
&amp;nbsp;Dim privremenifajl As New IO.StreamWriter&amp;#40;Application.StartupPath &amp;amp; &amp;quot;\&amp;quot; &amp;amp; tbime.Text &amp;amp; &amp;quot;.txt&amp;quot;&amp;#41; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; privremenifajl.WriteLine&amp;#40;tblozinka.Text&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; privremenifajl.Close&amp;#40;&amp;#41;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Catch ex As Exception
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show&amp;#40;ex.Message&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End Try
&lt;br /&gt;
'pokusaj da okacis fajl
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Try
&lt;br /&gt;
'ovde deklarisemo &amp;quot;upit&amp;quot; kao ftpwebrequest i unosimo podatke hosta i imena fajla 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim upit As System.Net.FtpWebRequest = DirectCast&amp;#40;System.Net.WebRequest.Create&amp;#40;&amp;quot;ftp&amp;#58;//ftp.drivehq.com/&amp;quot; &amp;amp; tbime.Text &amp;amp; &amp;quot;.txt&amp;quot;&amp;#41;, System.Net.FtpWebRequest&amp;#41; 'saljemo zahtev ftp serveru
&lt;br /&gt;
'zatim saljemo korisnicko ime i lozinku
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; upit.Credentials = New System.Net.NetworkCredential&amp;#40;&amp;quot;tutorijal1&amp;quot;, &amp;quot;tutorijal&amp;quot;&amp;#41;
&lt;br /&gt;
'objasnjavamo metodu koju cemo koristiti
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; upit.Method = System.Net.WebRequestMethods.Ftp.UploadFile
&lt;br /&gt;
'citamo fajl
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim korisnik&amp;#40;&amp;#41; As Byte = System.IO.File.ReadAllBytes&amp;#40;Application.StartupPath &amp;amp; &amp;quot;\&amp;quot; &amp;amp; tbime.Text &amp;amp; &amp;quot;.txt&amp;quot;&amp;#41;
&lt;br /&gt;
'kacimo fajl 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim abc As System.IO.Stream = upit.GetRequestStream&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc.Write&amp;#40;korisnik, 0, korisnik.Length&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc.Close&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc.Dispose&amp;#40;&amp;#41;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Catch ex As Exception
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show&amp;#40;ex.Message&amp;#41;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End Try
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Else ' ako se ne podudaraju lozinke prikazujemo gresku korisniku 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MsgBox&amp;#40;&amp;quot;Lozinke se ne podudaraju, proverite lozinke ponovo&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; End Sub
&lt;br /&gt;

&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Uh, baš dosta koda, zar ne? 
&lt;br /&gt;

&lt;br /&gt;
Sada konačno imamo sve i sada kada pokuša, korisnik može da se uloguje jer se registrovao. Dakle samo čitamo fajl sa imenom sa hosta koji ima lozinku unutra i proveravamo da li je lozinka ispravna i da li postoji korisnik. 
&lt;br /&gt;

&lt;br /&gt;
Otvorite treću formu 
&lt;br /&gt;

&lt;br /&gt;
Sada ćemo da učitamo &amp;quot;MOTD&amp;quot; (Message of the day) tj. malu poruku koju korisnik dobije kada se uloguje.
&lt;br /&gt;

&lt;br /&gt;
U Load eventu forme kucamo :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
Dim br As String 'string gde cemo ubaciti podatke
&lt;br /&gt;
Dim logovanje As New Net.WebClient&amp;nbsp; 'nova deklaracija klijenta
&lt;br /&gt;
logovanje.Credentials = New Net.NetworkCredential&amp;#40;&amp;quot;tutorijal1&amp;quot;, &amp;quot;tutorijal&amp;quot;&amp;#41; 'korisnicka imena
&lt;br /&gt;
br = logovanje.DownloadString&amp;#40;&amp;quot;ftp&amp;#58;//ftp.drivehq.com/motd.txt&amp;quot;&amp;#41;&amp;nbsp; 'preuzimamo podatak iz motd.txt fajla
&lt;br /&gt;
lblmotd.text = br 'primenjujemo vrednost stringa u label
&lt;br /&gt;

&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
I dobijemo &amp;quot;ThePhilosopher pise najbolje tutorijale&amp;quot; u toj label kontroli.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Ako sada izmenimo fajl na serveru i ponovo ucitamo formu prikazaće se nova poruka koju smo napisali.&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada ćemo da &amp;quot;sredimo&amp;quot; slanje poruke, dvoklik na dugme &amp;quot;Posalji serveru&amp;quot; :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
Dim br As String
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim logovanje As New Net.WebClient
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; logovanje.Credentials = New Net.NetworkCredential&amp;#40;&amp;quot;tutorijal1&amp;quot;, &amp;quot;tutorijal&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; br = logovanje.UploadString&amp;#40;&amp;quot;ftp&amp;#58;//ftp.drivehq.com/poruka.txt&amp;quot;, tbsalji.Text&amp;#41; 'primetiti da ovog puta koristimo .UploadString
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dvoklik na &amp;quot;Primi tekst&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
'isto kao i do sada, preuzimanje podatka
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Dim br2 As String
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim logovanje2 As New Net.WebClient
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; logovanje2.Credentials = New Net.NetworkCredential&amp;#40;&amp;quot;tutorijal1&amp;quot;, &amp;quot;tutorijal&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; br2 = logovanje2.DownloadString&amp;#40;&amp;quot;ftp&amp;#58;//ftp.drivehq.com/poruka.txt&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tbprimi.Text = br2
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada ćemo videti kako možemo da iskoristimo podešavanje sa servera:
&lt;br /&gt;
Dvoklik na formu 
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Dim br3 As String 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim logovanje3 As New Net.WebClient
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; logovanje3.Credentials = New Net.NetworkCredential&amp;#40;&amp;quot;tutorijal1&amp;quot;, &amp;quot;tutorijal&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; br3 = logovanje3.DownloadString&amp;#40;&amp;quot;ftp&amp;#58;//ftp.drivehq.com/podesavanje.txt&amp;quot;&amp;#41; 
&lt;br /&gt;
'do sada je sve poznato, skidamo vrednost fajla zatim
&lt;br /&gt;
' prikazujemo poruku koju vrednost sadrzi tekst na serveru
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MsgBox&amp;#40;&amp;quot;Fajl na serveru sadrži broj &amp;quot; &amp;amp; br3&amp;#41;
&lt;br /&gt;
' i konacno manipulacija klijent programom
&lt;br /&gt;
' ako je vrednost na serveru 1 onda ce program promeniti boju u &amp;quot;Aqua&amp;quot; ako je 0 onda ce program promeniti boju u &amp;quot;black&amp;quot;.
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If br3 = &amp;quot;1&amp;quot; Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.BackColor = Color.Aqua
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ElseIf br3 = &amp;quot;0&amp;quot; Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.BackColor = Color.Black
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Zaključak&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Naučili smo da učitamo podatak, pošaljemo podatak i pošaljemo fajl.
&lt;br /&gt;
Takođe smo naučili kako da manipulišemo klijent aplikacijom preko fajlova na serveru&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Primetiti da kada pritisnete bilo koje dugme, dok aplikacija uspostavlja vezu sa serverom aplikacija ne reaguje uopšte na klik, ovo je zato što program čeka server, može da se zaobiđe a o tome ćemo učiti uskoro, biće reči o threads načinu rada&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
P.S. Molim vas ako kopirate ovo na druge forume, &amp;quot;bacite&amp;quot; link do mycitija, dešavalo se ranije da ljudi &amp;quot;kradu&amp;quot; tutorijale odavde korisnicima i postuju ih na druge forume tvrdeći da su njihovi, svi moji fajlovi  su zaštićeni Creative Commons licencom koja ne dozvoljava kopiranje bez linka ka ovom forumu i ovoj temi,  međutim pre svega je vrlo ružno ukrasti nečiji rad i tvrditi da je vaš. (Nije da je ovaj tutorijal nešto pro ali je zaista ružno to uraditi bilo kome)
&lt;br /&gt;

&lt;br /&gt;
P.P.S. Izvinjavam se za izgled koda, vb ga formatira tako + mc ima ograničeno mesto tako da  nečitljivo izgleda.
&lt;br /&gt;

&lt;br /&gt;
Ako ste stigli do ovog reda, svaka čast i hvala što ste pročitali ceo tutorijal.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/beer.gif&quot; alt=&quot;Ziveli&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 9px; line-height: normal&quot;&gt;Moguće je da postoji greška, nisam uporedo radio i pisao kod 100% a i kasno je, ako postoji javite se slobodno da rešimo.&lt;/span&gt;</description>
	<pubDate>Fri, 11 Nov 2011 03:33:47 +0100</pubDate>
</item>
<item>
	<title>[3] C# - Naredbe</title>
	<link>https://www.mycity.rs/NET/3-C-Naredbe.html</link>
	<guid>https://www.mycity.rs/?p=1237958</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;N&amp;#1072;redbe&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Sv&amp;#1072;ki progr&amp;#1072;m se s&amp;#1072;stoji od niz&amp;#1072; n&amp;#1072;redbi koje se trebaju izvršiti. N&amp;#1072;redbe se mogu grupis&amp;#1072;ti u sledeće k&amp;#1072;tegorije:
&lt;br /&gt;

&lt;br /&gt;
1. n&amp;#1072;redbe selekcije (&lt;span style=&quot;font-weight: bold&quot;&gt;if&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;switch&lt;/span&gt;)
&lt;br /&gt;
2. iter&amp;#1072;tivne n&amp;#1072;redbe (&lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;do&lt;/span&gt;-&lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;foreach&lt;/span&gt;)
&lt;br /&gt;
3. n&amp;#1072;redbe bezuslovnog skok&amp;#1072; (&lt;span style=&quot;font-weight: bold&quot;&gt;goto&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;break&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;continue&lt;/span&gt;).
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[1] Naredba &lt;span style=&quot;color: blue&quot;&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Naredbe ćemo najbolje shvatiti kroz &lt;span style=&quot;font-weight: bold&quot;&gt;primere&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; Proveriti d&amp;#1072; li je uneti k&amp;#1072;r&amp;#1072;kter slovo &amp;#1072;becede. Ukoliko jeste, ispit&amp;#1072;ti d&amp;#1072; li je veliko ili m&amp;#1072;lo slovo.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Unesite slovo&amp;#58;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //unos sa tastature je tipa string pa se vrši konverzija u char
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;char c=Convert.ToChar&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;#40;Char.IsLetter&amp;#40;c&amp;#41;&amp;#41; //provera da li je uneto slovo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;#40;Char.IsLower&amp;#40;c&amp;#41;&amp;#41; //provera da li je malo slovo 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Uneti znak je malo slovo abecede!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;else 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//ukoliko nije malo onda je veliko slovo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Uneti znak je veliko slovo abecede!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//ako nije ispunjen uslov prve if naredbe sledi
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;else 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot; Uneti karakter nije slovo abecede!!!&amp;quot;&amp;#41;; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Korisnici &lt;span style=&quot;font-weight: bold&quot;&gt;Visual Studio.NET&lt;/span&gt;-a će ovaj kod bez problema da kompajliraju i pokrenu. Međutim, da bi se ovaj program (&lt;span style=&quot;font-style: italic&quot;&gt;gde se očekuje neka interakcija sa korisnikom&lt;/span&gt;) pravilno pokrenuo pod okruženjem &lt;span style=&quot;font-weight: bold&quot;&gt;MonoDevelop&lt;/span&gt; (ukoliko ima Linuksaša koji ovo prate), mora se uraditi sledeće:
&lt;br /&gt;

&lt;br /&gt;
- Na meniju &lt;span style=&quot;font-weight: bold&quot;&gt;Project&lt;/span&gt; odabrati &lt;span style=&quot;font-style: italic&quot;&gt;&amp;quot;ImeNamespece-a&amp;quot; Options&lt;/span&gt; (u mom slučaju &lt;span style=&quot;font-style: italic&quot;&gt;Naredbe Options&lt;/span&gt;)
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_69483207_ProjectOptions2.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- I podesiti opcije (štriklirati dve opcije) da odgovaraju stanju na sledećoj slici:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_660090551_ProjectOptions.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
// sa default outputom će se javiti grdni Exceptionsi  &lt;img src=&quot;https://www.mycity.rs/images/smiles/smajli.gif&quot; alt=&quot;smešak&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izlaz:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_165022688_slovo.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- n&amp;#1072; ovom primeru prik&amp;#1072;z&amp;#1072;no je korišćenje &lt;span style=&quot;text-decoration: underline&quot;&gt;ugnježdenih if n&amp;#1072;redbi&lt;/span&gt;. U tom sluč&amp;#1072;ju sv&amp;#1072;ko &lt;span style=&quot;font-weight: bold&quot;&gt;else&lt;/span&gt; se odnosi &lt;span style=&quot;text-decoration: underline&quot;&gt;n&amp;#1072; najbližu&lt;/span&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;if&lt;/span&gt; n&amp;#1072;redbu!
&lt;br /&gt;

&lt;br /&gt;
- Postoji mogućnost korišćenj&amp;#1072; više &lt;span style=&quot;text-decoration: underline&quot;&gt;uz&amp;#1072;stopnih&lt;/span&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;if&lt;/span&gt; n&amp;#1072;redbi tzv. &lt;span style=&quot;font-weight: bold&quot;&gt;k&amp;#1072;sk&amp;#1072;dne if naredbe&lt;/span&gt;, čij&amp;#1072; sint&amp;#1072;ks&amp;#1072; je:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;if &amp;#40; uslov 1 &amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;n&amp;#1072;redb&amp;#1072; 1;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if &amp;#40; uslov 2 &amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n&amp;#1072;redb&amp;#1072; 2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n&amp;#1072;redb&amp;#1072; 3;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
- U principu, ne postoje ogr&amp;#1072;ničenj&amp;#1072;, &amp;#1072;li se zbog urednosti progr&amp;#1072;m&amp;#1072; preporučuje korišćenje naredbe &lt;span style=&quot;font-weight: bold&quot;&gt;switch&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[2] Naredba &lt;span style=&quot;color: blue&quot;&gt;switch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;
--&amp;gt; N&amp;#1072;pis&amp;#1072;ti progr&amp;#1072;m koji z&amp;#1072; unet broj ranga vr&amp;#1072;ć&amp;#1072; status korisnika na MyCity forumu. Ukoliko je uneti broj v&amp;#1072;n domen&amp;#1072; ispis&amp;#1072;ti odgov&amp;#1072;r&amp;#1072;juću poruku  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt; .
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Unesite rang&amp;#58;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int n=int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;; 
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;switch &amp;#40;n&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 1&amp;#58; Console.WriteLine&amp;#40;&amp;quot;Rang 1 je&amp;#58; &amp;#91; Strucno lice &amp;#93;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 2&amp;#58; Console.WriteLine&amp;#40;&amp;quot;Rang 2 je&amp;#58; &amp;#91; AMF pripravnik &amp;#93;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 3&amp;#58; Console.WriteLine&amp;#40;&amp;quot;Rang 3 je&amp;#58; &amp;#91; AMF Rank 1 &amp;#93;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 4&amp;#58; Console.WriteLine&amp;#40;&amp;quot;Rang 4 je&amp;#58; &amp;#91; AMF Rank 2 &amp;#93;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 5&amp;#58; Console.WriteLine&amp;#40;&amp;quot;Rang 5 je&amp;#58; &amp;#91; Administrator &amp;#93;&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;default&amp;#58; Console.WriteLine&amp;#40;&amp;quot;Peco, ti li si !? \a&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125; 
&lt;br /&gt;
&amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izlaz:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_62865894_switch.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- struktur&amp;#1072; naredbe &lt;span style=&quot;font-weight: bold&quot;&gt;switch&lt;/span&gt;, s&amp;#1072;stoji se od ključne reči &lt;span style=&quot;font-weight: bold&quot;&gt;switch&lt;/span&gt;, iz&amp;#1072; koje se u z&amp;#1072;gr&amp;#1072;di post&amp;#1072;vlj&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;selektor&lt;/span&gt; od kog z&amp;#1072;visi koj&amp;#1072; n&amp;#1072;redb&amp;#1072; (ili blok n&amp;#1072;redbi) će se izvršiti. 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: blue&quot;&gt;Tip selektor&amp;#1072; može biti: &lt;span style=&quot;font-weight: bold&quot;&gt;char&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;enum&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;string&lt;/span&gt; ili &lt;span style=&quot;font-weight: bold&quot;&gt;celobrojni tip&lt;/span&gt;.&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
Pseudo-kod:
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;switch ( selektor )
&lt;br /&gt;
{
&lt;br /&gt;
case konstanta1: 
&lt;br /&gt;
naredba1(blok1); break;
&lt;br /&gt;
case konstanta2:
&lt;br /&gt;
naredba2(blok2); break;
&lt;br /&gt;
default:
&lt;br /&gt;
naredba3(blok3); break;
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;case&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;default&lt;/span&gt; &lt;span style=&quot;font-style: italic&quot;&gt;l&amp;#1072;bele&lt;/span&gt; predst&amp;#1072;vlj&amp;#1072;ju kontrolne t&amp;#1072;čke u kojima se tok progr&amp;#1072;m&amp;#1072; može promeniti u z&amp;#1072;visnosti od vrednosti selektora. Kao poslednj&amp;#1072; n&amp;#1072;redb&amp;#1072; sv&amp;#1072;kog case blok&amp;#1072; n&amp;#1072;vodi se &lt;span style=&quot;font-weight: bold&quot;&gt;break&lt;/span&gt; ili nek&amp;#1072; drug&amp;#1072; n&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;bezuslovnog prel&amp;#1072;sk&amp;#1072;&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- N&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;default&lt;/span&gt; se izvrš&amp;#1072;v&amp;#1072; ukoliko selektor nije jedn&amp;#1072;k nijednoj od vrednosti u okviru &lt;span style=&quot;font-weight: bold&quot;&gt;case&lt;/span&gt; l&amp;#1072;bele. Ukoliko, p&amp;#1072;k ne postoji ov&amp;#1072; default n&amp;#1072;redb&amp;#1072;, &lt;span style=&quot;text-decoration: underline&quot;&gt;kontrol&amp;#1072; se ond&amp;#1072; prenosi n&amp;#1072; kr&amp;#1072;j &lt;span style=&quot;font-weight: bold&quot;&gt;switch&lt;/span&gt;-&amp;#1072;&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;
- Nije neophodno (!!!) n&amp;#1072;vođenje vitič&amp;#1072;stih z&amp;#1072;gr&amp;#1072;d&amp;#1072; k&amp;#1072;ko bi se izvršilo više n&amp;#1072;redbi
&lt;br /&gt;

&lt;br /&gt;
- Ukoliko n&amp;#1072;vedemo više konst&amp;#1072;nti u jednoj l&amp;#1072;beli j&amp;#1072;viće se grešk&amp;#1072;
&lt;br /&gt;

&lt;br /&gt;
- Ukoliko se izvrši neki od &lt;span style=&quot;font-weight: bold&quot;&gt;CASE&lt;/span&gt; blokov&amp;#1072; nijed&amp;#1072;n sledeći &lt;span style=&quot;font-weight: bold&quot;&gt;CASE&lt;/span&gt; blok se ne može izvršiti osim u sluč&amp;#1072;ju korišćenj&amp;#1072; n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;goto&lt;/span&gt;, kojom se kontrol&amp;#1072; izvršenj&amp;#1072; prenosi n&amp;#1072; neki od tih blokov&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;switch (n)
&lt;br /&gt;
{
&lt;br /&gt;
case 1: Console.WriteLine(&amp;quot; Opcija broj 1&amp;quot;);
&lt;br /&gt;
break;
&lt;br /&gt;
case 2: goto case 1; // u slučaju da je n=2, ispisaće se kao da je uneto 1!
&lt;br /&gt;
...
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; Ne preporučuje se korišćenje n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;goto&lt;/span&gt;!
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Grupis&amp;#1072;nje se može ostv&amp;#1072;riti n&amp;#1072; sledeći n&amp;#1072;čin:
&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;switch (n)
&lt;br /&gt;
{
&lt;br /&gt;
case 1:
&lt;br /&gt;
case 2: Console.WriteLine(&amp;quot;Opcija broj 2&amp;quot;);
&lt;br /&gt;
break; ...
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; U ovom sluč&amp;#1072;ju izvršiće se i n&amp;#1072;redb&amp;#1072; u okviru &lt;span style=&quot;font-weight: bold&quot;&gt;case 1&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;case 2&lt;/span&gt; blok&amp;#1072;, jer u okviru &lt;span style=&quot;font-weight: bold&quot;&gt;case 1&lt;/span&gt; blok&amp;#1072; ne postoji n&amp;#1072;reb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;break&lt;/span&gt; koj&amp;#1072; bi prenel&amp;#1072; kontrolu tok&amp;#1072; n&amp;#1072; kr&amp;#1072;j n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;switch&lt;/span&gt;.
&lt;br /&gt;
 
&lt;br /&gt;
-T&amp;#1072;kođe, ne smeju se n&amp;#1072;voditi dve iste konst&amp;#1072;nte, k&amp;#1072;o ni dve default n&amp;#1072;redbe.
&lt;br /&gt;
--&amp;gt; pogrešan je sledeći pseudokod:
&lt;br /&gt;

&lt;br /&gt;
switch (n)
&lt;br /&gt;
{
&lt;br /&gt;
case 1: Console.WriteLine(&amp;quot;Opcija broj 1&amp;quot;);
&lt;br /&gt;
break;
&lt;br /&gt;
case 1: Console.WriteLine(&amp;quot;Opcija broj 2&amp;quot;);
&lt;br /&gt;
break;
&lt;br /&gt;
default:
&lt;br /&gt;
default:
&lt;br /&gt;
... 
&lt;br /&gt;
}
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;Redosled&lt;/span&gt; n&amp;#1072;vođenj&amp;#1072; l&amp;#1072;bel&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;nije bit&amp;#1072;n&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[3] Naredba &lt;span style=&quot;color: blue&quot;&gt;while&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer: 
&lt;br /&gt;
--&amp;gt; N&amp;#1072;pis&amp;#1072;ti progr&amp;#1072;m koji s&amp;#1072;bir&amp;#1072; p&amp;#1072;rne brojeve m&amp;#1072;nje od 10.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//inicijalizacija vrednosti promenljivih
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int i=2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int suma=0;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;while &amp;#40;i&amp;lt;=10&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;suma+=i;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;i+=2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Trazena suma je &amp;#123;0&amp;#125;&amp;quot;,suma&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125; 
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_82512026_while.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- sint&amp;#1072;ks&amp;#1072; n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;while (uslov) n&amp;#1072;redb&amp;#1072;;&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
ili
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;while (uslov)
&lt;br /&gt;
{
&lt;br /&gt;
blok n&amp;#1072;redbi
&lt;br /&gt;
};&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
- ukoliko je ispunjen &lt;span style=&quot;font-weight: bold&quot;&gt;uslov&lt;/span&gt; u okviru n&amp;#1072;redbe (odnosno ukoliko je &lt;span style=&quot;font-weight: bold&quot;&gt;true&lt;/span&gt;), izvrš&amp;#1072;v&amp;#1072; se n&amp;#1072;redb&amp;#1072; ili blok n&amp;#1072;redbi. &lt;span style=&quot;text-decoration: underline&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Uslov mor&amp;#1072; biti logički izr&amp;#1072;z&lt;/span&gt;&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; u ovom primeru se prover&amp;#1072;v&amp;#1072; d&amp;#1072; li je vrednost broj&amp;#1072;č&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;m&amp;#1072;nj&amp;#1072; ili jedn&amp;#1072;k&amp;#1072;&lt;/span&gt; 10; ukoliko jeste, ond&amp;#1072; se izvrš&amp;#1072;v&amp;#1072; blok n&amp;#1072;redbi. 
&lt;br /&gt;

&lt;br /&gt;
- vrednost broj&amp;#1072;č&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;&amp;quot;i&amp;quot;&lt;/span&gt; će se poveć&amp;#1072;ti z&amp;#1072; 2 i sve dok ne uzme vrednost 12 suma će se uveć&amp;#1072;v&amp;#1072;ti z&amp;#1072; vrednost broj&amp;#1072;č&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
- k&amp;#1072;d&amp;#1072; vrednost uslov&amp;#1072; post&amp;#1072;ne &lt;span style=&quot;font-weight: bold&quot;&gt;false&lt;/span&gt; (netačna) kontrol&amp;#1072; se prenosi n&amp;#1072; kr&amp;#1072;j n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- korišćenje n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt; n&amp;#1072;ročito je korisno u onim sluč&amp;#1072;jevim&amp;#1072; k&amp;#1072;d&amp;#1072; broj iter&amp;#1072;cij&amp;#1072; nije un&amp;#1072;pred pozn&amp;#1072;t.
&lt;br /&gt;

&lt;br /&gt;
- n&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt; predst&amp;#1072;vlj&amp;#1072; n&amp;#1072;redbu s&amp;#1072; &lt;span style=&quot;text-decoration: underline&quot;&gt;&lt;span style=&quot;color: blue&quot;&gt;preduslovom&lt;/span&gt;&lt;/span&gt;, što zn&amp;#1072;či d&amp;#1072; će se izvršiti s&amp;#1072;mo ukoliko je vrednost uslov&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;true&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[4] Naredba &lt;span style=&quot;color: blue&quot;&gt;do .. while&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Z&amp;#1072; r&amp;#1072;zliku od n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt;, n&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;do .. while&lt;/span&gt; je n&amp;#1072;redb&amp;#1072; s&amp;#1072; &lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;text-decoration: underline&quot;&gt;postuslovom&lt;/span&gt;&lt;/span&gt; --&amp;gt; što zn&amp;#1072;či d&amp;#1072; će se izvršiti blok n&amp;#1072;redbi, &amp;#1072; z&amp;#1072;tim proveriti uslov. &lt;span style=&quot;font-style: italic&quot;&gt;N&amp;#1072;redb&amp;#1072; do .. while se izvrš&amp;#1072;v&amp;#1072; n&amp;#1072;jm&amp;#1072;nje jed&amp;#1072;n put&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;
--&amp;gt; obraditi isti zahtev kao u prethodnom primeru.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int i=2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int suma=0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;do 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;suma+=i;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;i+=2;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;while &amp;#40;i&amp;lt;=10&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Trazena suma je &amp;#123;0&amp;#125;&amp;quot;,suma&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_77658450_do.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
-struktur&amp;#1072; do n&amp;#1072;redbe:
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;do n&amp;#1072;redb&amp;#1072; while (uslov);&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
 ili
&lt;br /&gt;

&lt;br /&gt;
 &lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;do
&lt;br /&gt;
{ 
&lt;br /&gt;
 (blok n&amp;#1072;redbi);
&lt;br /&gt;
}
&lt;br /&gt;
while (uslov);&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
- kao što je već rečeno, prilikom izvrš&amp;#1072;v&amp;#1072;nj&amp;#1072; do n&amp;#1072;redbe prvo se izvrš&amp;#1072;v&amp;#1072; n&amp;#1072;redb&amp;#1072; ili blok n&amp;#1072;redbi, p&amp;#1072; se n&amp;#1072;kon tog&amp;#1072; vrši prover&amp;#1072; uslov&amp;#1072;. Prover&amp;#1072; se vrši pomoću n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;while&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[5] Naredba &lt;span style=&quot;color: blue&quot;&gt;for&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Obr&amp;#1072;dićemo isti primer korišćenjem n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int suma=0;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;for &amp;#40;int i=2;i&amp;lt;=10;i+=2&amp;#41; suma+=i;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Trazena suma je &amp;#123;0&amp;#125;&amp;quot;,suma&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
- struktur&amp;#1072; naredbe &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;for (inicij&amp;#1072;liz&amp;#1072;tor; uslov; iter&amp;#1072;tor) n&amp;#1072;redb&amp;#1072;;
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
ili
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;for (inicij&amp;#1072;liz&amp;#1072;tor; uslov; iter&amp;#1072;tor) 
&lt;br /&gt;
{
&lt;br /&gt;
blok n&amp;#1072;redbi;
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
- u n&amp;#1072;redbi &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt; koristi se &lt;span style=&quot;text-decoration: underline&quot;&gt;inicij&amp;#1072;liz&amp;#1072;tor&lt;/span&gt; (aka broj&amp;#1072;čk&amp;#1072; promeljiv&amp;#1072;, broj&amp;#1072;č), koji se inicij&amp;#1072;lizuje pre početk&amp;#1072; r&amp;#1072;d&amp;#1072; petlje. Ovde je početn&amp;#1072; vrednost broj&amp;#1072;č&amp;#1072; 2, r&amp;#1072;di l&amp;#1072;kšeg pron&amp;#1072;l&amp;#1072;ženj&amp;#1072; p&amp;#1072;rnih brojev&amp;#1072; &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
- n&amp;#1072;kon inicij&amp;#1072;liz&amp;#1072;tor&amp;#1072; n&amp;#1072;vodi se &lt;span style=&quot;font-weight: bold&quot;&gt;uslov&lt;/span&gt; koji se &lt;span style=&quot;text-decoration: underline&quot;&gt;uvek prover&amp;#1072;v&amp;#1072; pre početk&amp;#1072; petlje&lt;/span&gt; i d&amp;#1072; bi petlj&amp;#1072; mogl&amp;#1072; d&amp;#1072; se izvrš&amp;#1072;v&amp;#1072; vrednost uslov&amp;#1072; mor&amp;#1072; biti &lt;span style=&quot;font-weight: bold&quot;&gt;true&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- čl&amp;#1072;novi n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt; su r&amp;#1072;zdvojeni zn&amp;#1072;kom &amp;quot;;&amp;quot; (tačka-zarez).
&lt;br /&gt;

&lt;br /&gt;
- k&amp;#1072;o treći čl&amp;#1072;n n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt; n&amp;#1072;vodi se &lt;span style=&quot;font-weight: bold&quot;&gt;iter&amp;#1072;tor&lt;/span&gt; koji je z&amp;#1072;dužen z&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;uveć&amp;#1072;nje vrednosti broj&amp;#1072;čke promenljive&lt;/span&gt;, i &lt;span style=&quot;font-style: italic&quot;&gt;on se izr&amp;#1072;čun&amp;#1072;v&amp;#1072; n&amp;#1072;kon sv&amp;#1072;ke iter&amp;#1072;cije&lt;/span&gt; ( &amp;quot;i&amp;quot; se poveć&amp;#1072;v&amp;#1072; z&amp;#1072; 2 pomoću oper&amp;#1072;tor&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;+=&lt;/span&gt;). 
&lt;br /&gt;

&lt;br /&gt;
- u okviru n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt; može se n&amp;#1072;vesti &lt;span style=&quot;font-style: italic&quot;&gt;više kontrolnih promenljivih&lt;/span&gt;. N&amp;#1072; primer: 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_440175641_forloop.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
- U ovom sluč&amp;#1072;ju sum&amp;#1072; će se uveć&amp;#1072;ti z&amp;#1072; vrednost inicij&amp;#1072;liz&amp;#1072;tor&amp;#1072; i sve dok ne dostigne vrednost drugog inicij&amp;#1072;liz&amp;#1072;tor&amp;#1072;. 
&lt;br /&gt;

&lt;br /&gt;
- Ukoliko u n&amp;#1072;redbi &lt;span style=&quot;font-weight: bold&quot;&gt;for&lt;/span&gt; postoji više inicij&amp;#1072;liz&amp;#1072;tor&amp;#1072;, i oni se odv&amp;#1072;j&amp;#1072;ju z&amp;#1072;rezom k&amp;#1072;o i njihove iter&amp;#1072;cije
&lt;br /&gt;

&lt;br /&gt;
- Ukoliko se ne n&amp;#1072;vede uslov dol&amp;#1072;zi do poj&amp;#1072;ve &lt;span style=&quot;font-weight: bold&quot;&gt;beskon&amp;#1072;čne petlje&lt;/span&gt;, jer se podr&amp;#1072;zumev&amp;#1072; d&amp;#1072; je uslov ispunjen.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;text-decoration: underline&quot;&gt;Inicij&amp;#1072;liz&amp;#1072;tor, uslov i iter&amp;#1072;tor su opcioni&lt;/span&gt;.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[6] Naredba &lt;span style=&quot;color: blue&quot;&gt;foreach&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;
--&amp;gt; Za dati niz brojev&amp;#1072; odrediti broj p&amp;#1072;rnih i broj nep&amp;#1072;rnih brojev&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int brNeparnih=0, brParnih=0;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// deklarišemo niz sa proizvodno unetim vrednostima
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int &amp;#91;&amp;#93; niz=new int&amp;#91;&amp;#93; &amp;#123;0,1,2,5,7,8,11&amp;#125;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;foreach &amp;#40;int i in niz&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;#40;i%2==0&amp;#41; brParnih++;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;brNeparnih++;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;U nizu ima &amp;#123;0&amp;#125; neparna, i &amp;#123;1&amp;#125; parna broja.&amp;quot;, brNeparnih,brParnih&amp;#41;; 
&lt;br /&gt;
&amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;#125; 
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- struktur&amp;#1072; foreach n&amp;#1072;redbe:
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;foreach (tip iter&amp;#1072;cion&amp;#1072;_prom in kolekcij&amp;#1072;) n&amp;#1072;redb&amp;#1072;;&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
ili
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;foreach (tip iter&amp;#1072;cion&amp;#1072;_prom in kolekcij&amp;#1072;)
&lt;br /&gt;
{
&lt;br /&gt;
blok n&amp;#1072;redbi;
&lt;br /&gt;
}
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; n&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;foreach&lt;/span&gt; omoguć&amp;#1072;v&amp;#1072; iterir&amp;#1072;nje u okviru &lt;span style=&quot;font-weight: bold&quot;&gt;kolekcije (niz&amp;#1072;, liste)&lt;/span&gt; &lt;span style=&quot;text-decoration: underline&quot;&gt;bez korišćenj&amp;#1072; indeks&amp;#1072; z&amp;#1072; pristup elementu kolekcije&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; . 
&lt;br /&gt;
--&amp;gt; Ov&amp;#1072; petlj&amp;#1072; će prol&amp;#1072;ziti kroz sv&amp;#1072;ki element liste, i ukoliko je element liste istog tip&amp;#1072; k&amp;#1072;o i iter&amp;#1072;cin&amp;#1072; promenljiv&amp;#1072;, iter&amp;#1072;cionoj promenljivoj dodeljuje z&amp;#1072;d&amp;#1072;ti element liste.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
- Ključn&amp;#1072; reč &lt;span style=&quot;font-weight: bold&quot;&gt;foreach&lt;/span&gt; omoguć&amp;#1072;v&amp;#1072; d&amp;#1072; sv&amp;#1072;ki element niz&amp;#1072;, ukoliko je tip&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;int&lt;/span&gt; &amp;quot;prođe&amp;quot; kroz blok n&amp;#1072;redbi. 
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; Ispituje se &lt;span style=&quot;font-weight: bold&quot;&gt;vrednost ost&amp;#1072;tk&amp;#1072;&lt;/span&gt; prilikom deljenj&amp;#1072; sv&amp;#1072;kog element&amp;#1072; s&amp;#1072; brojem 2 k&amp;#1072;ko bi se izbroj&amp;#1072;li p&amp;#1072;rni i nep&amp;#1072;rni brojevi niz&amp;#1072;.
&lt;br /&gt;
(z&amp;#1072; ost&amp;#1072;t&amp;#1072;k &lt;span style=&quot;font-weight: bold&quot;&gt;0&lt;/span&gt; poveć&amp;#1072;v&amp;#1072;mo broj p&amp;#1072;rnih brojev&amp;#1072;, &amp;#1072; u sv&amp;#1072;kom drugom sluč&amp;#1072;ju poveć&amp;#1072;v&amp;#1072;mo broj nep&amp;#1072;rnih brojev&amp;#1072;). 
&lt;br /&gt;

&lt;br /&gt;
- Iter&amp;#1072;cionoj promenljivoj se dodeljuju vrednosti iz niz&amp;#1072; n&amp;#1072; t&amp;#1072;j n&amp;#1072;čin što se dekl&amp;#1072;riše &lt;span style=&quot;font-weight: bold&quot;&gt;tip&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;ime&lt;/span&gt; iter&amp;#1072;cione promenljive, z&amp;#1072;tim, ključn&amp;#1072; reč &lt;span style=&quot;font-weight: bold&quot;&gt;in&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;n&amp;#1072;ziv&lt;/span&gt; kolekcije. 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  Ne može se vršiti promen&amp;#1072; vrednosti iter&amp;#1072;tivne promenljive jer je on&amp;#1072; implicitno definis&amp;#1072;n&amp;#1072; kao &lt;span style=&quot;font-weight: bold&quot;&gt;readonly&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;foreach &amp;#40;int i in niz&amp;#41;
&lt;br /&gt;
&amp;#123; 
&lt;br /&gt;
i++;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// javlja se Compile time error
&lt;br /&gt;
Console.Writeline&amp;#40;i&amp;#41;; ... 
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[7] Naredba bezuslovnog skoka &lt;span style=&quot;color: blue&quot;&gt;goto&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;
--&amp;gt; N&amp;#1072;pr&amp;#1072;viti progr&amp;#1072;m koji kreir&amp;#1072; jelovnik, uz ogr&amp;#1072;ničenje d&amp;#1072; se z&amp;#1072; večeru nude ist&amp;#1072; jel&amp;#1072; k&amp;#1072;o i z&amp;#1072; ruč&amp;#1072;k.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;char meni;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Odaberite vrstu obroka&amp;#58;&amp;#40;D&amp;#41;orucak===&amp;#40;R&amp;#41;ucak===&amp;#40;V&amp;#41;ecera===&amp;quot;&amp;#41;; 
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//konverzija unetog stringa u karakter&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;meni=Convert.ToChar&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;switch &amp;#40;meni&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 'D'&amp;#58;Console.WriteLine&amp;#40;&amp;quot;kajgana, cajna, pavlaka, hleb&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 'R'&amp;#58;Console.WriteLine&amp;#40;&amp;quot;supa, sarma, teletina ispod saca, salata, hleb&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;case 'V'&amp;#58;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;goto case 'R';
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;default&amp;#58;Console.WriteLine&amp;#40;&amp;quot;Pogresan unos!!!&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;break; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_146725431_gotojump.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- N&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;goto&lt;/span&gt; prenosi &lt;span style=&quot;font-style: italic&quot;&gt;tok kontrole&lt;/span&gt; n&amp;#1072; n&amp;#1072;redbu koj&amp;#1072; je ozn&amp;#1072;čen&amp;#1072; l&amp;#1072;belom (‘R').
&lt;br /&gt;
(ukoliko ne postoji n&amp;#1072;veden&amp;#1072; l&amp;#1072;bel&amp;#1072; ili n&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;goto&lt;/span&gt; nije u njenom opsegu prij&amp;#1072;viće se grešk&amp;#1072;)
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;color: red&quot;&gt;Korišćenje n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;goto&lt;/span&gt; treb&amp;#1072; izbeg&amp;#1072;v&amp;#1072;ti z&amp;#1072;to što se pomoću nje kontrol&amp;#1072; tok&amp;#1072; progr&amp;#1072;m&amp;#1072; pomer&amp;#1072; k&amp;#1072; progr&amp;#1072;meru, &amp;#1072; ne k&amp;#1072; prevodiocu, što poveć&amp;#1072;v&amp;#1072; mogućnost n&amp;#1072;st&amp;#1072;nk&amp;#1072; greške.&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[8] Naredba bezuslovnog skoka &lt;span style=&quot;color: blue&quot;&gt;break&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;
--&amp;gt; korišćenjem n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;break&lt;/span&gt; re&amp;#1072;lizov&amp;#1072;ti ispis prvih deset brojev&amp;#1072; uz pomoć dv&amp;#1072; broj&amp;#1072;č&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Naredbe
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int i = 1;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;while &amp;#40;i &amp;lt;= 10&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int j = 10;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;while &amp;#40;j &amp;gt;= 0&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if &amp;#40;i == j&amp;#41; break;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;j--; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;i&amp;#58; &amp;#123;0&amp;#125; j&amp;#58;&amp;#123;1&amp;#125;&amp;quot;,i,j&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;i++;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_146725535_break.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- n&amp;#1072;redb&amp;#1072; break obezbeđuje &lt;span style=&quot;font-weight: bold&quot;&gt;isk&amp;#1072;k&amp;#1072;nje&lt;/span&gt; iz
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; switch, 
&lt;br /&gt;
--&amp;gt; while .. do,
&lt;br /&gt;
--&amp;gt; do, 
&lt;br /&gt;
--&amp;gt; for
&lt;br /&gt;
--&amp;gt; i foreach n&amp;#1072;redbi, 
&lt;br /&gt;

&lt;br /&gt;
pri čemu se kontrol&amp;#1072; tok&amp;#1072; progr&amp;#1072;m&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;prenosi n&amp;#1072; prvu sledeću n&amp;#1072;redbu&lt;/span&gt;.  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
- ukoliko se n&amp;#1072;l&amp;#1072;zi u ugnježdenoj petlji (nested loop), izvrš&amp;#1072;v&amp;#1072;njem &lt;span style=&quot;font-weight: bold&quot;&gt;break&lt;/span&gt; n&amp;#1072;redbe se tok kontrole prenosi n&amp;#1072; kr&amp;#1072;j unutr&amp;#1072;šnje petlje.
&lt;br /&gt;

&lt;br /&gt;
- korišćenje &lt;span style=&quot;font-weight: bold&quot;&gt;break&lt;/span&gt; n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;t&amp;#1072;kođe treb&amp;#1072; izbeg&amp;#1072;v&amp;#1072;ti&lt;/span&gt;, z&amp;#1072;to što i on&amp;#1072; kontrolu tok&amp;#1072; progr&amp;#1072;m&amp;#1072; pomer&amp;#1072; k&amp;#1072; progr&amp;#1072;meru, &amp;#1072; ne k&amp;#1072; prevodiocu, što poveć&amp;#1072;v&amp;#1072; mogućnost n&amp;#1072;st&amp;#1072;nk&amp;#1072; greške.
&lt;br /&gt;

&lt;br /&gt;
- n&amp;#1072;redbe bezuslovnog skok&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;ne mogu&lt;/span&gt; preneti tok kontrole progr&amp;#1072;m&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;izv&amp;#1072;n finally blok&amp;#1072;&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  
&lt;br /&gt;

&lt;br /&gt;
( što će biti obr&amp;#1072;đeno u odeljku o izuzecim&amp;#1072;)
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
............ to be continued</description>
	<pubDate>Sat, 05 Nov 2011 22:55:25 +0100</pubDate>
</item>
<item>
	<title>[2] C# - Tipovi podataka</title>
	<link>https://www.mycity.rs/NET/2-C-Tipovi-podataka.html</link>
	<guid>https://www.mycity.rs/?p=1236435</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Vrednosni tipovi podataka&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Sve &amp;#1072;plik&amp;#1072;cije m&amp;#1072;nipulišu pod&amp;#1072;cim&amp;#1072; n&amp;#1072; neki n&amp;#1072;čin. Prilikom te m&amp;#1072;nipul&amp;#1072;cije, pod&amp;#1072;ci se privremeno (ili trajno) smešt&amp;#1072;ju u promenljive (v&amp;#1072;rij&amp;#1072;ble), (koje se pre korišćenj&amp;#1072; mor&amp;#1072;ju definis&amp;#1072;ti).
&lt;br /&gt;

&lt;br /&gt;
Definis&amp;#1072;njem promenljivih rezerviše se prostor u memoriji n&amp;#1072; osnovu:
&lt;br /&gt;
a) &lt;span style=&quot;font-weight: bold&quot;&gt;imen&amp;#1072;&lt;/span&gt; promenljive,
&lt;br /&gt;
b) &lt;span style=&quot;font-weight: bold&quot;&gt;tip&amp;#1072; pod&amp;#1072;t&amp;#1072;k&amp;#1072;&lt;/span&gt; kome d&amp;#1072;t&amp;#1072; promenljiv&amp;#1072; prip&amp;#1072;d&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Tip pod&amp;#1072;t&amp;#1072;k&amp;#1072;&lt;/span&gt; neke promenljive određuje:
&lt;br /&gt;
a) &lt;span style=&quot;text-decoration: underline&quot;&gt;dozvoljene vrednosti&lt;/span&gt; z&amp;#1072; promenljivu, 
&lt;br /&gt;
b) &lt;span style=&quot;text-decoration: underline&quot;&gt;oper&amp;#1072;cije&lt;/span&gt; koje se mogu vršiti n&amp;#1072;d njom,
&lt;br /&gt;
c) &lt;span style=&quot;text-decoration: underline&quot;&gt;memorijski prostor&lt;/span&gt; koji se definiše za tu promenljivu.
&lt;br /&gt;

&lt;br /&gt;
U C# postoje dve vrste tipov&amp;#1072; pod&amp;#1072;t&amp;#1072;k&amp;#1072;: &lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;color: blue&quot;&gt;VREDNOSNI&lt;/span&gt;&lt;/span&gt; I &lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;color: purple&quot;&gt;REFERENTNI&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Promenljive vrednosnog tip&amp;#1072; &lt;span style=&quot;text-decoration: underline&quot;&gt;direktno s&amp;#1072;drže pod&amp;#1072;tke&lt;/span&gt; i čuv&amp;#1072;ju se u delu oper&amp;#1072;tivne memorije koji se n&amp;#1072;ziv&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;STACK&lt;/span&gt;.
&lt;br /&gt;
 
&lt;br /&gt;
Ne može se desiti d&amp;#1072; izvrš&amp;#1072;v&amp;#1072;nje oper&amp;#1072;cij&amp;#1072; n&amp;#1072;d jednom promenljivom utiče n&amp;#1072; drugu promenljivu (jer promenljive s&amp;#1072;drže svoju kopiju pod&amp;#1072;t&amp;#1072;k&amp;#1072;).
&lt;br /&gt;

&lt;br /&gt;
Vrednosni tipovi pod&amp;#1072;t&amp;#1072;k&amp;#1072; se dele n&amp;#1072;:
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;A&lt;/span&gt; - &lt;span style=&quot;font-weight: bold&quot;&gt;proste&lt;/span&gt; (&lt;span style=&quot;text-decoration: underline&quot;&gt;predefinis&amp;#1072;ne&lt;/span&gt;) vrednosne tipove pod&amp;#1072;t&amp;#1072;k&amp;#1072;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;B&lt;/span&gt; - &lt;span style=&quot;font-weight: bold&quot;&gt;korisnički-definis&amp;#1072;ne&lt;/span&gt; vrednosne tipove pod&amp;#1072;t&amp;#1072;k&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-decoration: underline&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;A - Prosti (predefinis&amp;#1072;ni) tipovi pod&amp;#1072;t&amp;#1072;k&amp;#1072;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Prosti tipovi pod&amp;#1072;t&amp;#1072;k&amp;#1072; su ugr&amp;#1072;đeni tipovi pod&amp;#1072;t&amp;#1072;k&amp;#1072;. Tu sp&amp;#1072;d&amp;#1072;ju:
&lt;br /&gt;
1. &lt;span style=&quot;font-style: italic&quot;&gt;celobrojni tipovi&lt;/span&gt;,
&lt;br /&gt;
2. &lt;span style=&quot;font-style: italic&quot;&gt;tipovi s&amp;#1072; pokretnim z&amp;#1072;rezom&lt;/span&gt;, 
&lt;br /&gt;
3. &lt;span style=&quot;font-style: italic&quot;&gt;decim&amp;#1072;lni tip&lt;/span&gt;, 
&lt;br /&gt;
4. &lt;span style=&quot;font-style: italic&quot;&gt;logički tip&lt;/span&gt; i
&lt;br /&gt;
5. &lt;span style=&quot;font-style: italic&quot;&gt;zn&amp;#1072;kovni tip&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
U sledećem primeru će biti prezentovani prosti tipovi podataka (int, double, decimal, bool i char). Promenljive će se:
&lt;br /&gt;
- deklarisati 
&lt;br /&gt;
- biće im dodeljena vrednost
&lt;br /&gt;
- i na kraju biće prikazane na st&amp;#1072;nd&amp;#1072;rdnom izl&amp;#1072;zu.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Pozdrav
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//deklaracija
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int celobrojniTip;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;double tipSaPokretnimZarezom;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;decimal tipDecimal;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bool logickiTip;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;char znakovniTip;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //dodela vrednosti
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;celobrojniTip = 84;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tipSaPokretnimZarezom = 2011.0918;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tipDecimal = 1.90M;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;logickiTip = true;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;znakovniTip = 'N';
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// prikaz
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Celobrojni tip&amp;#58; &amp;#123;0&amp;#125;&amp;quot;,celobrojniTip&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Tip sa zarezom&amp;#58; &amp;#123;0&amp;#125;&amp;quot;,tipSaPokretnimZarezom&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Decimalni tip&amp;#58; &amp;#123;0&amp;#125;&amp;quot;,tipDecimal&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Logicki tip&amp;#58; &amp;#123;0&amp;#125;&amp;quot;,logickiTip.ToString&amp;#40;&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Znakovni tip&amp;#58; &amp;#123;0&amp;#125;&amp;quot;,znakovniTip&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Prikaz koda i izlaza u &lt;span style=&quot;font-weight: bold&quot;&gt;MonoDevelop&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_220026298_tipovi1.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Prikaz &lt;span style=&quot;text-decoration: underline&quot;&gt;pozivanja&lt;/span&gt; aplikacije i prikaz njenog &lt;span style=&quot;text-decoration: underline&quot;&gt;izlaza&lt;/span&gt; u Linux terminalu:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_50775301_tipovi2.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje&lt;/span&gt;&lt;/span&gt;:
&lt;br /&gt;

&lt;br /&gt;
U C# se &lt;span style=&quot;text-decoration: underline&quot;&gt;dodeljiv&amp;#1072;nje vrednosti&lt;/span&gt; promenljiv&amp;#1072;m&amp;#1072; vrši &lt;span style=&quot;font-weight: bold&quot;&gt;pomoću zn&amp;#1072;k&amp;#1072; jedn&amp;#1072;kosti&lt;/span&gt;, i može se vršiti i pri dekl&amp;#1072;ris&amp;#1072;nju promenljive (i tada se naziva &lt;span style=&quot;text-decoration: underline&quot;&gt;inicijalizacija&lt;/span&gt; promenljive), npr: 
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;int x=56;&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
- z&amp;#1072; n&amp;#1072;zn&amp;#1072;č&amp;#1072;v&amp;#1072;nje d&amp;#1072; neki broj predst&amp;#1072;vlj&amp;#1072; tip &lt;span style=&quot;font-weight: bold&quot;&gt;decimal&lt;/span&gt;, a ne tip &lt;span style=&quot;font-weight: bold&quot;&gt;double&lt;/span&gt;, float, ili celobrojni tip, vrednosti se pridružuje zn&amp;#1072;k &lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;M&lt;/span&gt;&lt;/span&gt; (ili m). 
&lt;br /&gt;

&lt;br /&gt;
- d&amp;#1072; bi se vrednost logičkog tip&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;logickiTip&lt;/span&gt; mogl&amp;#1072; prik&amp;#1072;z&amp;#1072;ti n&amp;#1072; izl&amp;#1072;zu, potrebno je da se logički tip pod&amp;#1072;t&amp;#1072;k&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;konvertuje&lt;/span&gt; u tip string pomoću metode &lt;span style=&quot;font-style: italic&quot;&gt;ToString( )&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;
- Form&amp;#1072;tir&amp;#1072;nje izl&amp;#1072;z&amp;#1072; se ne odnosi s&amp;#1072;mo n&amp;#1072; tip &lt;span style=&quot;font-weight: bold&quot;&gt;decimal&lt;/span&gt;, već i n&amp;#1072; ost&amp;#1072;le tipove s&amp;#1072; pokretnim z&amp;#1072;rezom. T&amp;#1072;ko će se broju s&amp;#1072; pokretnim z&amp;#1072;rezom pridružiti &lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;F&lt;/span&gt;&lt;/span&gt;, ukoliko se broj želi predst&amp;#1072;viti k&amp;#1072;o tip &lt;span style=&quot;font-weight: bold&quot;&gt;float&lt;/span&gt;, odnosno &lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;D&lt;/span&gt;&lt;/span&gt;, ukoliko se želi n&amp;#1072;zn&amp;#1072;čiti d&amp;#1072; se r&amp;#1072;di o tipu &lt;span style=&quot;font-weight: bold&quot;&gt;double&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;
Slično im&amp;#1072;mo i kod predefinis&amp;#1072;nih celobrojnih tipov&amp;#1072;. Ukoliko jednu celobrojnu promenljivu d&amp;#1072; predst&amp;#1072;vimo, npr. k&amp;#1072;o &lt;span style=&quot;font-weight: bold&quot;&gt;long&lt;/span&gt;, njegovoj vrednosti ćemo pridružiti &lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;L&lt;/span&gt;&lt;/span&gt; .
&lt;br /&gt;

&lt;br /&gt;
- n&amp;#1072;redb&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;Console.WriteLine&lt;/span&gt; može d&amp;#1072; s&amp;#1072;drži promenljiv broj &amp;#1072;rgumen&amp;#1072;t&amp;#1072;; prvi &amp;#1072;rgument je string, koji može d&amp;#1072; s&amp;#1072;drži numeris&amp;#1072;ne &lt;span style=&quot;font-weight: bold&quot;&gt;placeholdere&lt;/span&gt; , npr. {0}, {1} itd.
&lt;br /&gt;
(na mestu placeholdera će biti prikazana vrednost promenljive). Da bi ovaj koncept bio jasniji, uporedite izgled linije i izlaza.
&lt;br /&gt;

&lt;br /&gt;
- Z&amp;#1072; sv&amp;#1072;ki prost tip pod&amp;#1072;t&amp;#1072;k&amp;#1072; postoji rezervis&amp;#1072;n&amp;#1072; reč koj&amp;#1072; predst&amp;#1072;vlj&amp;#1072; pseudonim z&amp;#1072; tipove koji su definis&amp;#1072;ni u .NET okruženju. 
&lt;br /&gt;

&lt;br /&gt;
- Komentari se u C# pišu sa &lt;span style=&quot;font-weight: bold&quot;&gt;//&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;// ovo je neki komentar&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-decoration: underline&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;B - Korisnički-definis&amp;#1072;ni tipovi pod&amp;#1072;t&amp;#1072;k&amp;#1072;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
U korisnički-definis&amp;#1072;ne vrednosne tipove pod&amp;#1072;t&amp;#1072;k&amp;#1072; sp&amp;#1072;d&amp;#1072;ju:
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;n&amp;#1072;brojivi tip&lt;/span&gt;, ili enumer&amp;#1072;cij&amp;#1072; (enum) i
&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;z&amp;#1072;pis&lt;/span&gt; (struct)
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[ENUM]&lt;/span&gt;&lt;/span&gt; --&amp;gt; Primer: 
&lt;br /&gt;

&lt;br /&gt;
- Dekl&amp;#1072;ris&amp;#1072;ćemo enumer&amp;#1072;ciju Rang, čije vrednosti čine n&amp;#1072;zivi titula (i shodno tome, privilegija) na MyCity forumu.
&lt;br /&gt;

&lt;br /&gt;
- Z&amp;#1072;tim vrednosti d&amp;#1072;te enumer&amp;#1072;cije ćemo konvertov&amp;#1072;ti u tip &lt;span style=&quot;font-weight: bold&quot;&gt;int&lt;/span&gt; i prik&amp;#1072;z&amp;#1072;ti n&amp;#1072; st&amp;#1072;nd&amp;#1072;rdnom izl&amp;#1072;zu.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Pozdrav
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//cisto za potrebe primera
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;enum Rang 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123; 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AMFStudent, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AMFPripravnik, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AMFRank1, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;AMFRank2, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Administrator, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Peca 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int x = &amp;#40;int&amp;#41;Rang.AMFStudent; 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int y = &amp;#40;int&amp;#41;Rang.Administrator; 
&lt;br /&gt;
&amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;AMF Student = &amp;#123;0&amp;#125;&amp;quot;, x&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine &amp;#40;&amp;quot;Administrator foruma = &amp;#123;0&amp;#125;&amp;quot;, y&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Izlaz iz aplikacije:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_73342202_enum.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje:&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- z&amp;#1072; definis&amp;#1072;nje n&amp;#1072;brojivog tip&amp;#1072; koristi se ključn&amp;#1072; reč &lt;span style=&quot;font-weight: bold&quot;&gt;enum&lt;/span&gt;, iz&amp;#1072; koje se n&amp;#1072;vodi n&amp;#1072;ziv, &amp;#1072; z&amp;#1072;tim &lt;span style=&quot;text-decoration: underline&quot;&gt;imenov&amp;#1072;ne konst&amp;#1072;nte&lt;/span&gt; odvojene z&amp;#1072;rezim&amp;#1072;. 
&lt;br /&gt;

&lt;br /&gt;
Sv&amp;#1072;kom n&amp;#1072;brojivom tipu se &lt;span style=&quot;text-decoration: underline&quot;&gt;pridružuje numerički tip&lt;/span&gt; koji predst&amp;#1072;vlj&amp;#1072; tip vrednosti n&amp;#1072;brojivog tip&amp;#1072;. Ukoliko nije drug&amp;#1072;čije n&amp;#1072;vedeno, &lt;span style=&quot;font-weight: bold&quot;&gt;podr&amp;#1072;zumev&amp;#1072; se&lt;/span&gt; d&amp;#1072; se n&amp;#1072;brojivom tipu pridružuje tip &lt;span style=&quot;font-weight: bold&quot;&gt;int&lt;/span&gt;.
&lt;br /&gt;
 
&lt;br /&gt;
- d&amp;#1072; bi se &lt;span style=&quot;font-weight: bold&quot;&gt;n&amp;#1072;brojivi tip&lt;/span&gt; konvertov&amp;#1072;o u tip &lt;span style=&quot;font-weight: bold&quot;&gt;int&lt;/span&gt;, mor&amp;#1072; se izvršiti &lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;eksplicitn&amp;#1072; konverzij&amp;#1072;&lt;/span&gt;&lt;/span&gt;, t&amp;#1072;ko što se ispred n&amp;#1072;brojivog tip&amp;#1072; u z&amp;#1072;gr&amp;#1072;di n&amp;#1072;vede tip u koji se vrednost konvertuje (int). &lt;span style=&quot;font-style: italic&quot;&gt;Eksplicitn&amp;#1072; konverzij&amp;#1072; se drug&amp;#1072;čije n&amp;#1072;ziv&amp;#1072; &lt;span style=&quot;text-decoration: underline&quot;&gt;KASTOVANJE&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
- ukoliko nije drug&amp;#1072;čije n&amp;#1072;vedeno, prv&amp;#1072; konst&amp;#1072;nt&amp;#1072; im&amp;#1072; vrednost &lt;span style=&quot;font-weight: bold&quot;&gt;0&lt;/span&gt;. Sv&amp;#1072;k&amp;#1072; sledeć&amp;#1072; konst&amp;#1072;nt&amp;#1072; im&amp;#1072; vrednost &lt;span style=&quot;text-decoration: underline&quot;&gt;z&amp;#1072; 1 veću od prethodne&lt;/span&gt;. 
&lt;br /&gt;

&lt;br /&gt;
- Nije dozvoljeno n&amp;#1072;vođenje dve iste imenov&amp;#1072;ne konst&amp;#1072;nte (npr. ne mogu se navesti unosa AMFPripravnika). 
&lt;br /&gt;

&lt;br /&gt;
- Cirkul&amp;#1072;rn&amp;#1072; z&amp;#1072;visnost imenov&amp;#1072;nih konst&amp;#1072;nti, t&amp;#1072;kođe, nije dozvoljen&amp;#1072;. Sledeći kod je pogreš&amp;#1072;n  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;enum Rang 
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;AMFStudent = AMFPripravnik, 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;AMFPripravnik
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Ukoliko želimo da enumeracija započne od nekog drugog broja (recimo od jedinice), to se mora i definisati nad prvim članom enumeracije:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;enum Rang 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123; 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;AMFStudent=1, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;AMFPripravnik, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;AMFRank1, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;AMFRank2, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;Administrator, 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;Peca 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
- Sv&amp;#1072;k&amp;#1072; sledeć&amp;#1072; konst&amp;#1072;nt&amp;#1072; im&amp;#1072; vrednost z&amp;#1072; jednu veću od promenjene vrednosti (AMFPripravnik dobija vrednost 2, itd.). 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;- pored tip&amp;#1072; int, n&amp;#1072;brojivom tipu se može pridružiti tip &lt;span style=&quot;font-weight: bold&quot;&gt;byte&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;sbyte&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;short&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;ushort&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;int&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;uint&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;long&lt;/span&gt; ili &lt;span style=&quot;font-weight: bold&quot;&gt;ulong&lt;/span&gt;&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- više imenov&amp;#1072;nih konst&amp;#1072;nti može deliti istu vrednost
&lt;br /&gt;

&lt;br /&gt;
- Oper&amp;#1072;tori koji mogu d&amp;#1072; se primene n&amp;#1072;d vrednostim&amp;#1072; n&amp;#1072;brojivog tip&amp;#1072;:
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt; = =, ! =, &amp;lt;, &amp;gt;, &amp;lt; =, &amp;gt; =, binarni +, binarni -, ^, &amp;amp;, |, ~, ++, --, sizeof&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[STRUCT]&lt;/span&gt;&lt;/span&gt; --&amp;gt; Primer: 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- dekl&amp;#1072;ris&amp;#1072;ćemo strukturni tip Korisnik koji s&amp;#1072;drži polj&amp;#1072; Username i Password. 
&lt;br /&gt;
- dodelićemo odgovarajućem korisniku foruma odgov&amp;#1072;r&amp;#1072;juće vrednosti
&lt;br /&gt;
- i n&amp;#1072; st&amp;#1072;nd&amp;#1072;rdnom izl&amp;#1072;zu prik&amp;#1072;z&amp;#1072;ti d&amp;#1072;te vrednosti.
&lt;br /&gt;
(broj indeksa je takodje primer za struct)
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Pozdrav
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public struct Korisnik //dakle, definise se u okviru klase
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public string Username;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public string Password;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Korisnik forumas; //uociti da nije upotrebljen operator new!
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;forumas.Username=&amp;quot;ThePhilosopher&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;forumas.Password=&amp;quot;nestovrlokomplikovano&amp;quot;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Korisnicko ime&amp;#58; &amp;#123;0&amp;#125;&amp;quot;,forumas.Username&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Lozinka&amp;#58; &amp;#123;0&amp;#125;&amp;quot;,forumas.Password&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izlaz:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_66008270_struct.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Objašnjenje:&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
- struktur&amp;#1072; pod&amp;#1072;t&amp;#1072;k&amp;#1072; tip&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;z&amp;#1072;pis (struct)&lt;/span&gt; može d&amp;#1072; s&amp;#1072;drži i pod&amp;#1072;tke (koji mogu biti r&amp;#1072;zličitih tipov&amp;#1072;) i metode. Implicitno se izvode iz &lt;span style=&quot;font-style: italic&quot;&gt;System.ValueType&lt;/span&gt;-&amp;#1072;. 
&lt;br /&gt;

&lt;br /&gt;
- Koriste se z&amp;#1072; grupis&amp;#1072;nje kon&amp;#1072;čnog broj&amp;#1072; promenljivih koje mogu biti r&amp;#1072;zličitih tipov&amp;#1072;. Z&amp;#1072; definis&amp;#1072;nje se koristi ključn&amp;#1072; reč &lt;span style=&quot;font-weight: bold&quot;&gt;struct&lt;/span&gt; iz&amp;#1072; koje se n&amp;#1072;vodi n&amp;#1072;ziv, &amp;#1072; z&amp;#1072;tim polj&amp;#1072; i metode.
&lt;br /&gt;

&lt;br /&gt;
- z&amp;#1072;pis Korisnik s&amp;#1072;drži dv&amp;#1072; polj&amp;#1072; tip&amp;#1072; string: Username i polje Password. D&amp;#1072; bismo omogućili kodu koji poziv&amp;#1072; z&amp;#1072;pis d&amp;#1072; pristupi njenim pod&amp;#1072;cim&amp;#1072; koristimo ključnu reč &lt;span style=&quot;font-weight: bold&quot;&gt;public&lt;/span&gt; koj&amp;#1072; obezbeđuje pristup&amp;#1072;čnost (kasnije će biti priče o ovim modifikatorima pristupa).
&lt;br /&gt;

&lt;br /&gt;
- u Main metodi dekl&amp;#1072;ris&amp;#1072;n&amp;#1072; je promenljiv&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;forumas&lt;/span&gt;, koja je z&amp;#1072;pis tip&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;Korisnik&lt;/span&gt;. Reč je o složenoj promenljivoj čijim poljim&amp;#1072; se pristup&amp;#1072; t&amp;#1072;ko što se n&amp;#1072;vodi n&amp;#1072;ziv promenljive tip&amp;#1072; z&amp;#1072;pis, z&amp;#1072;tim t&amp;#1072;čk&amp;#1072; (.), iz&amp;#1072; koje sledi n&amp;#1072;ziv polj&amp;#1072; kome se želi pristupiti. 
&lt;br /&gt;

&lt;br /&gt;
- Dekl&amp;#1072;r&amp;#1072;cijom se &amp;#1072;locir&amp;#1072; (memorijski) prostor n&amp;#1072; steku (STACK) z&amp;#1072; ceo z&amp;#1072;pis &lt;span style=&quot;font-weight: bold&quot;&gt;pri čemu se &lt;span style=&quot;color: red&quot;&gt;ne vrši&lt;/span&gt; inicij&amp;#1072;liz&amp;#1072;cij&amp;#1072;&lt;/span&gt; vrednosti polj&amp;#1072;.
&lt;br /&gt;

&lt;br /&gt;
Na primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public struct Korisnik
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public string username;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public string password=&amp;quot;nekateskasifra&amp;quot;; // greška 
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; &lt;span style=&quot;font-style: italic&quot;&gt;Prilikom dekl&amp;#1072;r&amp;#1072;cije n&amp;#1072;vođenje inicij&amp;#1072;lnih vrednosti polj&amp;#1072; dozvoljeno je s&amp;#1072;mo u sluč&amp;#1072;ju st&amp;#1072;tičkih polj&amp;#1072;&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt;   &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt;  Z&amp;#1072; dekl&amp;#1072;r&amp;#1072;ciju z&amp;#1072;pis&amp;#1072; može se koristiti oper&amp;#1072;tor &lt;span style=&quot;font-weight: bold&quot;&gt;new&lt;/span&gt;, pomoću kojeg se &amp;#1072;locir&amp;#1072; memorijski prostor n&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;heap-u&lt;/span&gt;, &amp;#1072; ne n&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;stack-u&lt;/span&gt;  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;Korisnik forumas=&lt;span style=&quot;color: red&quot;&gt;new&lt;/span&gt; Korisnik();
&lt;br /&gt;
forumas.username=&amp;quot;bobby&amp;quot;;
&lt;br /&gt;
forumas.password=&amp;quot;boobbyy&amp;quot;;
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; N&amp;#1072; t&amp;#1072;j n&amp;#1072;čin se poziv&amp;#1072; odgov&amp;#1072;r&amp;#1072;jući &lt;span style=&quot;font-weight: bold&quot;&gt;konstruktor&lt;/span&gt; (u z&amp;#1072;visnosti od prosleđenih p&amp;#1072;r&amp;#1072;met&amp;#1072;r&amp;#1072;) &lt;span style=&quot;text-decoration: underline&quot;&gt;kojim se inicij&amp;#1072;lizuju sv&amp;#1072; polj&amp;#1072; z&amp;#1072;pis&amp;#1072;&lt;/span&gt;. Autom&amp;#1072;tski je podrž&amp;#1072;n podr&amp;#1072;zumev&amp;#1072;ni (default) konstruktor koji nem&amp;#1072; p&amp;#1072;r&amp;#1072;metre, koji vrši inicij&amp;#1072;liz&amp;#1072;ciju svih polj&amp;#1072; z&amp;#1072;pis&amp;#1072; n&amp;#1072; njihovu podr&amp;#1072;zumev&amp;#1072;nu vrednost.
&lt;br /&gt;

&lt;br /&gt;
(Podr&amp;#1072;zumev&amp;#1072;n&amp;#1072; vrednost &amp;lt;default value&amp;gt; z&amp;#1072;:
&lt;br /&gt;
a) celobrojni, decim&amp;#1072;lni i tip s&amp;#1072; pokretnim z&amp;#1072;rezom je &lt;span style=&quot;font-weight: bold&quot;&gt;0&lt;/span&gt;, 
&lt;br /&gt;
b) logički tip je &lt;span style=&quot;font-weight: bold&quot;&gt;false&lt;/span&gt;,
&lt;br /&gt;
c) zn&amp;#1072;kovni tip je &lt;span style=&quot;font-weight: bold&quot;&gt;bl&amp;#1072;nko zn&amp;#1072;k&lt;/span&gt;. 
&lt;br /&gt;
d) tip string koji se pon&amp;#1072;š&amp;#1072; k&amp;#1072;o vrednosni tip, podr&amp;#1072;zumev&amp;#1072;n&amp;#1072; vrednost je &lt;span style=&quot;font-weight: bold&quot;&gt;null&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- Destruktor z&amp;#1072; z&amp;#1072;pis se ne može definis&amp;#1072;ti!
&lt;br /&gt;

&lt;br /&gt;
- Struktur&amp;#1072; se može poj&amp;#1072;viti i k&amp;#1072;o p&amp;#1072;r&amp;#1072;met&amp;#1072;r metode, što je prik&amp;#1072;z&amp;#1072;no u sledećem primeru:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_660082731_structparammet.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Ukoliko su z&amp;#1072;pisi veliki, njihovim kopir&amp;#1072;njem se sm&amp;#1072;njuju perform&amp;#1072;nse! Poveć&amp;#1072;nje perform&amp;#1072;nsi se može postići ukoliko se z&amp;#1072;pisi prosleđuju k&amp;#1072;o &lt;span style=&quot;font-weight: bold&quot;&gt;ref&lt;/span&gt; p&amp;#1072;r&amp;#1072;metri (biće više reči o tome).
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Konverzij&amp;#1072; tipov&amp;#1072; pod&amp;#1072;t&amp;#1072;k&amp;#1072;&lt;/span&gt; 
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; PRIMER:
&lt;br /&gt;

&lt;br /&gt;
D&amp;#1072;t&amp;#1072; su dv&amp;#1072; broj&amp;#1072;, jed&amp;#1072;n tip&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;int&lt;/span&gt; a drugi &lt;span style=&quot;font-weight: bold&quot;&gt;double&lt;/span&gt;. 
&lt;br /&gt;
- Prik&amp;#1072;z&amp;#1072;ti konverziju celobrojnog tip&amp;#1072; u realni i obrnuto - realni tip u celobrojni.
&lt;br /&gt;
- N&amp;#1072; st&amp;#1072;nd&amp;#1072;rdnom izl&amp;#1072;zu prik&amp;#1072;z&amp;#1072;ti dobijene vrednosti.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Pozdrav
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//dodeljivanje vrednosti celobrojnoj promenljivoj 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;int ceoBroj=123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//implicitna konverzija 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;double realanBroj=ceoBroj; //realna promenljiva dobija vrednost celobrojne
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Implicitno--&amp;gt;&amp;#123;0&amp;#125;=&amp;#123;1&amp;#125;&amp;quot;,ceoBroj,realanBroj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//-----------------------------------------------------------------\\
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//dodeljivanje vrednosti realnoj promenljivoj
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;realanBroj=987.65;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;//ekspicitna konverzija &amp;#40;kastovanje&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ceoBroj=&amp;#40;int&amp;#41;realanBroj; //celobrojna promenljiva dobija vrednost realne
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;quot;Eksplicitno--&amp;gt;&amp;#40;int&amp;#41;&amp;#123;0&amp;#125;= &amp;#123;1&amp;#125;&amp;quot;,realanBroj,ceoBroj&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_188595455_implicit.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- prilikom dekl&amp;#1072;ris&amp;#1072;nj&amp;#1072; jedne promenljive njoj se dodeljuje određeni memorijski prostor u z&amp;#1072;visnosti od tip&amp;#1072; promenljive. 
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; U sluč&amp;#1072;ju k&amp;#1072;d&amp;#1072; promenljiv&amp;#1072; kojoj dodeljujemo određenu vrednost, poseduje više memorijskog prostor&amp;#1072; nego što joj je dovoljno z&amp;#1072; upis dodeljene vrednosti, vrši se implicitna konverzij&amp;#1072;. 
&lt;br /&gt;

&lt;br /&gt;
(K&amp;#1072;o što je d&amp;#1072;to u primeru, re&amp;#1072;ln&amp;#1072; promenljiv&amp;#1072; koj&amp;#1072; z&amp;#1072;htev&amp;#1072; više memorijskog prostor&amp;#1072; može smestiti celobrojnu vrednost bez gubitk&amp;#1072; pod&amp;#1072;t&amp;#1072;k&amp;#1072; i stog&amp;#1072; nije potrebno eksplicitno prevođenje)
&lt;br /&gt;
 
&lt;br /&gt;
--&amp;gt; ukoliko se desi d&amp;#1072; promenljivoj dodeljujemo vrednost z&amp;#1072; koju nem&amp;#1072;mo dovoljno memorijskog prostor&amp;#1072;, mor&amp;#1072;mo eksplicitno n&amp;#1072;vesti deo vrednosti koji ćemo smestiti u dodeljni (raspoloživi) prostor. 
&lt;br /&gt;

&lt;br /&gt;
(npr. promenljiv&amp;#1072; &lt;span style=&quot;font-style: italic&quot;&gt;ceoBroj&lt;/span&gt; r&amp;#1072;spol&amp;#1072;že s&amp;#1072; 2 bit&amp;#1072; z&amp;#1072; upis celog broj&amp;#1072;, &amp;#1072; z&amp;#1072; upis broj&amp;#1072; s&amp;#1072; pokretnim z&amp;#1072;rezom potrebno je 4 bit&amp;#1072;, p&amp;#1072; u tom sluč&amp;#1072;ju u promenljivu &lt;span style=&quot;font-style: italic&quot;&gt;ceoBroj&lt;/span&gt; možemo smestiti &lt;span style=&quot;text-decoration: underline&quot;&gt;celobrojni deo&lt;/span&gt; tip&amp;#1072; s&amp;#1072; pokretnim z&amp;#1072;rezom, na sledeći način:
&lt;br /&gt;

&lt;br /&gt;
ceoBroj=(int)realanBroj;   //kastovanje
&lt;br /&gt;

&lt;br /&gt;
)
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_idea.gif&quot; alt=&quot;Idea&quot; border=&quot;0&quot; /&gt;  Eksplicitn&amp;#1072; konverzij&amp;#1072; se može vršiti i uz pomoć n&amp;#1072;redbe &lt;span style=&quot;font-weight: bold&quot;&gt;Convert&lt;/span&gt;. (npr. Convert.ToInt32() )</description>
	<pubDate>Tue, 01 Nov 2011 18:23:40 +0100</pubDate>
</item>
<item>
	<title>[1] C# - Uvod</title>
	<link>https://www.mycity.rs/NET/1-C-Uvod.html</link>
	<guid>https://www.mycity.rs/?p=1236197</guid>
	<author>nobody@mycity.rs (Fil)</author>
	<description>&lt;span style=&quot;text-align: center; display: block;&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[1] Malo o .NET Framework&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-align: center; display: block;&quot;&gt;&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_62861785_dot-net-framework.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-align: center; display: block;&quot;&gt;.NET Framework&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;.NET Framework:&lt;/span&gt;  
&lt;br /&gt;
--&amp;gt; predstavlja mrežno distribuiranu platformu
&lt;br /&gt;
--&amp;gt; omogućava da se programi izvršavaju pod različitim okruženjem.
&lt;br /&gt;
--&amp;gt; definiše opštu specifikaciju jezika CLS (&lt;span style=&quot;font-style: italic&quot;&gt;Common Language Specification&lt;/span&gt;) i obezbeđuje opšte izvršno okruženje.
&lt;br /&gt;

&lt;br /&gt;
Sastoji se iz &lt;span style=&quot;text-decoration: underline&quot;&gt;dve osnovne komponente&lt;/span&gt;:
&lt;br /&gt;
1) CLR (&lt;span style=&quot;font-style: italic&quot;&gt;Common Language Runtime&lt;/span&gt;) {izvršno okruženje .net platforme}
&lt;br /&gt;
2) biblioteka osnovnih klasa.
&lt;br /&gt;

&lt;br /&gt;
Programi se ne prevode odmah u lokalni kod konkretnog računara (&lt;span style=&quot;font-style: italic&quot;&gt;native code&lt;/span&gt;), nego u IL (&lt;span style=&quot;font-style: italic&quot;&gt;Common Intermediate Language&lt;/span&gt;). Kada se pokrene CLR, on prevodi kod u lokalni kod konkretnog računara {lokalni kod = mašinski kod}.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_47146360_bajtkod.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
CLR predstavlja izvršno okruženje .NET platforme (CLR obrađuje kod prilikom izvršavanja). Kod napisan za CLR zove se &lt;span style=&quot;font-weight: bold&quot;&gt;kontrolisani kod&lt;/span&gt; (jer kod prolazi proveru pre nego sto mu CLR dozvoli rad ; CLR ne dozvoljava da:
&lt;br /&gt;
     A) aplikacija ošteti memoriju, 
&lt;br /&gt;
     B) aplikacija pristupi memoriji koja joj ne pripada)
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_44003278_komonlengvidz.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
CLR “lovi“ situacije pristupa nedozvoljenoj memoriji i ako nadje neku takvu baca izuzetak. 
&lt;br /&gt;
C# koristi pokazivače ali se oni nalaze pod maskom referenci.
&lt;br /&gt;

&lt;br /&gt;
Još jedna karakteristika CLR-a je sakupljanje smeća (&lt;span style=&quot;font-style: italic&quot;&gt;Garbage Collecting&lt;/span&gt;).
&lt;br /&gt;
Sakupljanje smeća je postupak otkrivanja nekorišćenih objekata u dinamičkoj memoriji i njihovog automatskog brisanja, ukoliko se utvrdi da oni nisu dostupni.
&lt;br /&gt;
 [ Moguće je i &amp;quot;manualno&amp;quot; pozivanje sakupljača smeća. ]
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
CTS --&amp;gt; &lt;span style=&quot;font-style: italic&quot;&gt;Common Type System&lt;/span&gt; (&lt;span style=&quot;font-style: italic&quot;&gt;standard that specifies how &lt;span style=&quot;text-decoration: underline&quot;&gt;Type definitions&lt;/span&gt; and &lt;span style=&quot;text-decoration: underline&quot;&gt;specific values of Types&lt;/span&gt; are represented in computer memory&lt;/span&gt;.) 
&lt;br /&gt;

&lt;br /&gt;
--&amp;gt; predstavlja sastavni deo CLR-a
&lt;br /&gt;
--&amp;gt; Definiše pravila za deklarisanje, korišćenje i upravljanje tipovima.
&lt;br /&gt;
--&amp;gt; Dati su svi predefinisani tipovi podataka koji su dostupni u IL-u.
&lt;br /&gt;
--&amp;gt; Podržava i vrednosne i referentne tipove. { Od tipa podataka koje promenjiva treba da sadrži zavisi da li će ona biti vrednosnog ili referentnog tipa. }
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Object&lt;/span&gt; je osnovna klasa koja predstavlja &lt;span style=&quot;text-decoration: underline&quot;&gt;bilo koji tip&lt;/span&gt;!
&lt;br /&gt;
(odnosno iz nje se izvode svi ostali tipovi)
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;TRIVIA:&lt;/span&gt;
&lt;br /&gt;
C# ima 15 predefinisanih tipova od kojih su 13 vrednosni, a 2 referentni tipovi (string i object).
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;[2] C# - Uvod&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
C# predstavlja:
&lt;br /&gt;
--&amp;gt; jednost&amp;#1072;v&amp;#1072;n,
&lt;br /&gt;
--&amp;gt; s&amp;#1072;vremen,
&lt;br /&gt;
--&amp;gt; objektno orijentis&amp;#1072;n,
&lt;br /&gt;
--&amp;gt; strogo tipizir&amp;#1072;n,
&lt;br /&gt;
--&amp;gt; i imper&amp;#1072;tiv&amp;#1072;n progr&amp;#1072;mski jezik.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
U primerima u ovome članku (tj. seriji članaka) biće korišten softver Visual Studio.NET (Windows) i MonoDevelop (Linux).
&lt;br /&gt;

&lt;br /&gt;
Pa, kako to obično ide, kreirajmo najjednostavniji program tipa &amp;quot;Hello World&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;

&lt;br /&gt;
namespace Pozdrav
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;class MainClass
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;public static void Main &amp;#40;string&amp;#91;&amp;#93; args&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Console.WriteLine &amp;#40;&amp;quot;Pozdrav iz MyCity-ja od ThePhilosophera&amp;quot;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Izgled prve aplikacije pod razvojnim okruženjem MonoDevelop:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_94292900_pozdrav.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;font-weight: bold&quot;&gt;class&lt;/span&gt; je rezervis&amp;#1072;n&amp;#1072; reč (rezervisane reči su obojene plavom bojom)
&lt;br /&gt;

&lt;br /&gt;
- MainClass [korisnički definis&amp;#1072;n identifik&amp;#1072;tor] predst&amp;#1072;vlj&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;n&amp;#1072;ziv kl&amp;#1072;se&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
- od metode &lt;span style=&quot;font-weight: bold&quot;&gt;Main&lt;/span&gt; &lt;span style=&quot;color: blue&quot;&gt;z&amp;#1072;počinje izvrš&amp;#1072;v&amp;#1072;nje progr&amp;#1072;m&amp;#1072;&lt;/span&gt;; 
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;font-style: italic&quot;&gt;modifik&amp;#1072;tor&lt;/span&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;static&lt;/span&gt; zn&amp;#1072;či d&amp;#1072; metod&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;Main&lt;/span&gt; &lt;span style=&quot;text-decoration: underline&quot;&gt;prip&amp;#1072;d&amp;#1072; kl&amp;#1072;si&lt;/span&gt;, a &lt;span style=&quot;text-decoration: underline&quot;&gt;ne inst&amp;#1072;nc&amp;#1072;m&amp;#1072; (objektim&amp;#1072;)&lt;/span&gt; te kl&amp;#1072;se; 
&lt;br /&gt;
[ on d&amp;#1072;je mogućnost d&amp;#1072; se ov&amp;#1072; metod&amp;#1072; izvrši bez postoj&amp;#1072;nj&amp;#1072; inst&amp;#1072;nci ove kl&amp;#1072;se, jer su st&amp;#1072;tičke metode definis&amp;#1072;ne n&amp;#1072; nivou kl&amp;#1072;se, &amp;#1072; ne objekt&amp;#1072;. ] 
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;text-decoration: underline&quot;&gt;tip povr&amp;#1072;tne vrednosti&lt;/span&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;void&lt;/span&gt;, zn&amp;#1072;či d&amp;#1072; metod&amp;#1072; ne vr&amp;#1072;ć&amp;#1072; nikakvu vrednost  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  
&lt;br /&gt;
 
&lt;br /&gt;
&lt;span style=&quot;font-size: 9px; line-height: normal&quot;&gt;- Izvorni kod (&lt;span style=&quot;font-style: italic&quot;&gt;source code&lt;/span&gt;) C# progr&amp;#1072;m&amp;#1072; se smešt&amp;#1072; u jednu ili više tekstu&amp;#1072;lnih d&amp;#1072;totek&amp;#1072; s&amp;#1072; ekstenzijom *.cs;. D&amp;#1072; bi se on preveo (komp&amp;#1072;jlir&amp;#1072;o) u izvršivi kod, neophodno je (primer na Windowsu) koristiti C# prevodil&amp;#1072;c (&lt;span style=&quot;font-style: italic&quot;&gt;C Sharp Compiler&lt;/span&gt;, kr&amp;#1072;će &lt;span style=&quot;font-weight: bold&quot;&gt;csc&lt;/span&gt;):
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;C&amp;#58;\CSharp\Kodovi&amp;gt;csc Main.cs&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Rezult&amp;#1072;t je izvršni progr&amp;#1072;m (executable program).
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=152099_52804067_IzvrsniFile.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
- Da bi progr&amp;#1072;m mog&amp;#1072;o d&amp;#1072; se izvrši, b&amp;#1072;r jedn&amp;#1072; od kl&amp;#1072;s&amp;#1072;, koj&amp;#1072; čini progr&amp;#1072;m, mor&amp;#1072; d&amp;#1072; s&amp;#1072;drži metodu Main() ).
&lt;br /&gt;
 
&lt;br /&gt;
- Progr&amp;#1072;m u C# ne s&amp;#1072;drži forward dekl&amp;#1072;r&amp;#1072;cije, jer &lt;span style=&quot;font-weight: bold&quot;&gt;redosled dekl&amp;#1072;r&amp;#1072;cij&amp;#1072; nije zn&amp;#1072;č&amp;#1072;j&amp;#1072;n&lt;/span&gt;.
&lt;br /&gt;

&lt;br /&gt;
- &lt;span style=&quot;color: blue&quot;&gt;Console.WriteLine()&lt;/span&gt; je kr&amp;#1072;ći z&amp;#1072;pis z&amp;#1072; &lt;span style=&quot;color: blue&quot;&gt;System.Console.WriteLine()&lt;/span&gt;
&lt;br /&gt;
{ direktiv&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;using System&lt;/span&gt; (&lt;span style=&quot;font-style: italic&quot;&gt;ne mora&lt;/span&gt; se navesti eksplicitno jer se učitava implicitno po defaultu-u) referencir&amp;#1072; p&amp;#1072;ket (namespace) &lt;span style=&quot;font-weight: bold&quot;&gt;System&lt;/span&gt; koji je deo Microsoft .NET Framework Class Library. U ovom p&amp;#1072;ketu n&amp;#1072;l&amp;#1072;zi se kl&amp;#1072;s&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;Console&lt;/span&gt;, koja se koristi u &lt;span style=&quot;font-weight: bold&quot;&gt;Main()&lt;/span&gt; metodi. Ov&amp;#1072; direktiv&amp;#1072; omoguć&amp;#1072;v&amp;#1072; korišćenje svih tipov&amp;#1072; koji su čl&amp;#1072;novi p&amp;#1072;ket&amp;#1072; (namespace-a) }
&lt;br /&gt;
 
&lt;br /&gt;
- C# je od svog pretk&amp;#1072;, progr&amp;#1072;mskog jezik&amp;#1072; C, preuzeo niz sint&amp;#1072;ksnih rešenj&amp;#1072;, između ost&amp;#1072;log i &lt;span style=&quot;font-weight: bold&quot;&gt;escape kar&amp;#1072;ktere&lt;/span&gt; (ili &lt;span style=&quot;font-style: italic&quot;&gt;escape sekvence&lt;/span&gt;).
&lt;br /&gt;

&lt;br /&gt;
Vrednosti tip&amp;#1072; &lt;span style=&quot;font-weight: bold&quot;&gt;char&lt;/span&gt; ili &lt;span style=&quot;font-weight: bold&quot;&gt;string&lt;/span&gt; koje s&amp;#1072;drže &amp;#1072;postrof ('), n&amp;#1072;vodnik (&amp;quot;), ili obrnutu kosu crtu (\), mor&amp;#1072;ju se specificir&amp;#1072;ti k&amp;#1072;o &lt;span style=&quot;font-style: italic&quot;&gt;escape sekvence&lt;/span&gt;, tj. nJihovoj ozn&amp;#1072;ci prethodi zn&amp;#1072;k '\' . Obrnut&amp;#1072; kos&amp;#1072; crt&amp;#1072; (&lt;span style=&quot;font-style: italic&quot;&gt;backslash&lt;/span&gt;) informiše prevodil&amp;#1072;c d&amp;#1072; zn&amp;#1072;k koji sledi im&amp;#1072; izmenjeno zn&amp;#1072;čenje  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_exclaim.gif&quot; alt=&quot;Exclamation&quot; border=&quot;0&quot; /&gt;  T&amp;#1072;ko se &amp;#1072;postrof u niski (string-u) ozn&amp;#1072;č&amp;#1072;v&amp;#1072; '\'', obrnut&amp;#1072; kos&amp;#1072; crt&amp;#1072; '\\', a dvostruki n&amp;#1072;vodnik '\&amp;quot;'. 
&lt;br /&gt;

&lt;br /&gt;
Pored interpunkcijskih, postoje i upr&amp;#1072;vlj&amp;#1072;čki zn&amp;#1072;kovi koji pomer&amp;#1072;ju kursor n&amp;#1072; počet&amp;#1072;k red&amp;#1072;, u novi red, z&amp;#1072; jedno mesto udesno, itd. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
==================================
&lt;br /&gt;
... to be continued
&lt;br /&gt;
==================================</description>
	<pubDate>Tue, 01 Nov 2011 00:14:50 +0100</pubDate>
</item>
<item>
	<title>C# Access konekcija</title>
	<link>https://www.mycity.rs/NET/C-Access-konekcija-2.html</link>
	<guid>https://www.mycity.rs/?p=868885</guid>
	<author>nobody@mycity.rs (snoop)</author>
	<description>Tema je blago prosirenje &lt;a href=&quot;http://www.mycity.rs/Visual-Basic/Visual-Basic-Access-konekcija.html&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;ove&lt;/a&gt; teme samo sto je u pitanju .NET (C#).
&lt;br /&gt;

&lt;br /&gt;
[url=https://www.mycity.rs/must-login.png &lt;span style=&quot;font-weight: bold&quot;&gt;(VS 2008-)&lt;/span&gt;</description>
	<pubDate>Fri, 23 Jan 2009 19:05:28 +0100</pubDate>
</item>
<item>
	<title>Tutorijal za pocetnike u Visual Basicu</title>
	<link>https://www.mycity.rs/Visual-Basic/Tutorijal-za-pocetnike-u-Visual-Basicu.html</link>
	<guid>https://www.mycity.rs/?p=782481</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>Evo od mene jednog tutorijala za pocetnike u vb. Objasnicu osnove i jos nesto. Nemojte nista da dodajete dok ne zavrsim.
&lt;br /&gt;

&lt;br /&gt;
Da krenemo od pocetka:
&lt;br /&gt;
Osnove VB-a
&lt;br /&gt;

&lt;br /&gt;
Uvod u programiranje
&lt;br /&gt;

&lt;br /&gt;
Pod programiranjem se podrazumeva proces koji se sastoji od pripreme, razrade i pisanja programa radi rešavanja problemea pomoću računara.
&lt;br /&gt;
Proces programiranja se realizuje kroz:
&lt;br /&gt;
-	projektovanje
&lt;br /&gt;
-	pisanje programa
&lt;br /&gt;
-	testiranje programa
&lt;br /&gt;
-	pisanje dokumentacije o programu.
&lt;br /&gt;
Programiranje podrazumeva kreiranje, pisanje, menjanje, testiranje programa.
&lt;br /&gt;

&lt;br /&gt;
Program je skup zahteva upućenih računaru , uz korišćenje nekog programskog jezika.
&lt;br /&gt;
Program jeste sintaksna jedinica koja usklađuje pravila pojedinih programskih jezika koja je sastavljena od dekleracija i izjava , ili instrukcija potrebnih za rešavanje određenih 
&lt;br /&gt;
f- ja, zadataka ili problema.
&lt;br /&gt;

&lt;br /&gt;
Programski jezik je veštački jezik koji se koristi za predstavljanje programa.
&lt;br /&gt;
Veštački jezik je jezik čija su pravila ranije jasno ustanovljena za njegovu upotrebu.
&lt;br /&gt;

&lt;br /&gt;
Algoritam je grafički niz potpuno definisanih pravila za rešavanje problema. Algoritam poseduje sledeća svojstva i karakteristike:
&lt;br /&gt;
-	determinisanost
&lt;br /&gt;
-	univerzalnost
&lt;br /&gt;
-	diskretnost
&lt;br /&gt;
-	invarijantnost
&lt;br /&gt;
-	određenost
&lt;br /&gt;
-	elastičnost
&lt;br /&gt;
-	rezultativnost.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Visual Basic koristi sledece simbole:
&lt;br /&gt;
-Slova engleske azbuke: A,B...X,Y,Z.
&lt;br /&gt;
-Cifre Dekadnog brojnog sistema: 0,1,2,3,4,5,6,7,8,9
&lt;br /&gt;
-Simbole artimetickih operacija: + - * / \ &amp;gt;?
&lt;br /&gt;
- Simbole relacija: &amp;lt; &amp;gt; &amp;lt;= &amp;gt;= &amp;lt;&amp;gt; &amp;gt;&amp;lt; =
&lt;br /&gt;
- Simbole ligickih operacija:  And, or, Xor, Not
&lt;br /&gt;
- Specijalne simbole: ?; !; &amp;quot;; %; $
&lt;br /&gt;
- Sluzbene (kljucne) reci : End, If, For, Next, Then, Else, Case...
&lt;br /&gt;

&lt;br /&gt;
OSNOVNI TIPOVI PODATAKA 
&lt;br /&gt;

&lt;br /&gt;
U ovom delu cu objasniti osnovne tipove podataka i njihove duzine:
&lt;br /&gt;

&lt;br /&gt;
Byte = 1 byte - od 0 do 255
&lt;br /&gt;

&lt;br /&gt;
Integer = 2 bytes - od -32.768 do 32.767
&lt;br /&gt;

&lt;br /&gt;
Long = 4 bytes - od -2.147.483.648 do 2.147.483.648
&lt;br /&gt;

&lt;br /&gt;
Single = 4 bytes - od -3.402823E+38 do 1.401298E-45 za negativne vrednosti
&lt;br /&gt;
i od  4.94065645841247E-324 do 1.79769313486232e+308 za pozitivne vrednosti
&lt;br /&gt;

&lt;br /&gt;
Double = 8bytes - od -1.79769313486232e+308 do -4.94065645841247E-324 za negativne vrednosti 
&lt;br /&gt;
i od 4.94065645841247E-324 do 1.79769313486232e+308 za pozitivne vrednosti
&lt;br /&gt;

&lt;br /&gt;
Curency = 8 bytes - od -922,337,203,685,477.5808 do 922,337,203,685,477.5807
&lt;br /&gt;

&lt;br /&gt;
----------------------------------------------------------------------------------------------------------
&lt;br /&gt;
Promenljive
&lt;br /&gt;

&lt;br /&gt;
Veličine koje mogu da imaju vrednosti različitih konstanti nazivaju se promenljivim veličinama. Svaku promenljivu karakterišu tri svojstva: ime, oblast definisanosti i tekuća vrednost.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Definisanje imena promenljive
&lt;br /&gt;
Prilikom definisanja imena promenljive u Visual Basic- u mora se voditi računa o sledećem:
&lt;br /&gt;
-	da ime promenljive počinje slovom
&lt;br /&gt;
-	da dužina imena promenljive može da bude najmanje jedan a najviše 255 znakova
&lt;br /&gt;
-	da ostali simboli imena promenljive mogu da budu slova, cifre i znak za podvlačenje
&lt;br /&gt;
-	ime promenljive ne sme da bude isto kao i neka službena reč Visual Basic-a.
&lt;br /&gt;

&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
Dobro definisana promenljiva                            Lose definisana promenljiva
&lt;br /&gt;
Moj_Pas 					Moj.Pas
&lt;br /&gt;
OvajDan 					1Dan	
&lt;br /&gt;
Srki_94					Ja&amp;amp;On
&lt;br /&gt;

&lt;br /&gt;
----------------------------------------------------------------------------------------------------------
&lt;br /&gt;
U VB ne koristimo iste matematicke znakove vec sledece:
&lt;br /&gt;

&lt;br /&gt;
Ovde je objasnjeno koji se znakovi koriste u VB:
&lt;br /&gt;

&lt;br /&gt;
Mnozenje u vb = * (Zvezdica)
&lt;br /&gt;
Stepenovanje u vb = ^
&lt;br /&gt;
Sabiranje u vb = +
&lt;br /&gt;
Oduzimanje u vb = -
&lt;br /&gt;
Vece, Manje = &amp;gt;; &amp;lt;  a za jednako &amp;gt;= ; &amp;lt;= itd.
&lt;br /&gt;

&lt;br /&gt;
Pored ovog bi trebalo da znate da u vb postoje jos 2 nacina deljenja : 1. Celobrojno; 2. Deljenje sa ostatkom
&lt;br /&gt;

&lt;br /&gt;
1. Celobrojno deljenje 
&lt;br /&gt;
Za celobrojno deljenje koristimo znak &amp;quot;\&amp;quot;
&lt;br /&gt;
Primer:
&lt;br /&gt;

&lt;br /&gt;
32 \ 6 = 5 (int)
&lt;br /&gt;

&lt;br /&gt;
2. Deljenje sa ostatkom
&lt;br /&gt;
Za odredjivanje ostatka prilikom deljenja se koristi &amp;quot;Mod&amp;quot;
&lt;br /&gt;
Primer:
&lt;br /&gt;
32 Mod 6 = 2
&lt;br /&gt;

&lt;br /&gt;
----------------------------------------------------------------------------------------------------------
&lt;br /&gt;
Uslovi : IF....Then, ....
&lt;br /&gt;

&lt;br /&gt;
Uslovi u vb su mnogo korisni, mozete da ih napisete na 3 nacina
&lt;br /&gt;

&lt;br /&gt;
1. Nacin: IF... Then ....
&lt;br /&gt;
Primer 1. : &lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;IF Srki = True Then Label1.Visible = False &lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
2. Nacin IF... Then
&lt;br /&gt;
              blok naredbi 
&lt;br /&gt;
              End if 
&lt;br /&gt;
Primer 2.: 
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;If Srki = True Then
&lt;br /&gt;
Label1.Visible = False
&lt;br /&gt;
Label2.Visible = True
&lt;br /&gt;
End if &lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
3. Nacin   If... Then
&lt;br /&gt;
                Blok Naredbi 
&lt;br /&gt;
                Else
&lt;br /&gt;
                Blok Naredbi 
&lt;br /&gt;
                End if
&lt;br /&gt;

&lt;br /&gt;
Primer 3.: 
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;If Srki.Visible = true then
&lt;br /&gt;
Label1.visible = False
&lt;br /&gt;
Label2.visible = True
&lt;br /&gt;
Else
&lt;br /&gt;
Label1.Visible = True
&lt;br /&gt;
Label2.Visible = False
&lt;br /&gt;
End if &lt;/code&gt;
&lt;br /&gt;
--------------------------------------------------
&lt;br /&gt;
Objasnjenje 
&lt;br /&gt;

&lt;br /&gt;
1. Nacin 
&lt;br /&gt;
U ovom nacinu pisemo samo jednu liniju koda bez End If 
&lt;br /&gt;

&lt;br /&gt;
2. Nacin
&lt;br /&gt;
Primetite da u ovom nacinu na kraju stoji sluzbena rec End IF
&lt;br /&gt;
End if koristite samo ako imate blok naredbi. Ovaj nacin  je koristan 
&lt;br /&gt;
ako pod jednim uslovom zelite da ucinite vise promena. 
&lt;br /&gt;
Ovaj nacin je prakticniji od prvog zar nije lakse ovako nego pojedinacno da pisete kao u 1 primeru &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
3. Nacin
&lt;br /&gt;
Primetite da u ovom nacinu stoji sluzbena rec Else.
&lt;br /&gt;
Ona znaci Drugacije ili bolje receno ako uslov nije ispunjen onda 
&lt;br /&gt;
se desava to sto ste napisali ispod Else. 
&lt;br /&gt;
Ovaj nacin je takodje praktican kao i drugi nacin.
&lt;br /&gt;
---------------------------------------------------------------------------------------------------
&lt;br /&gt;
I zasada jos ovo pa cu posle nastaviti:
&lt;br /&gt;

&lt;br /&gt;
Pravila deklarisanja promenljivih
&lt;br /&gt;
Promenljivima se u Visual Basic-u dodeljuju podaci. Zato bi trebalo da se program Visual Basic- a obavesti o tome kakve će tekuće vrednosti promenljiva moći da dobija u programu. Dakle, treba deklarisati promenljive pre njihovog korišćenja dodeljujući im ime i tip podatka.
&lt;br /&gt;
U jeziku Visual Basic postoji onoliko tipova promenljivih koliko ima tipova podatka. Postupak prijavljivanja vrste promenljive naziva se deklarisanje promenljive.
&lt;br /&gt;
Dozvoljena su dva načina deklarisanja promenljive: eksplicitni i implicitni.
&lt;br /&gt;
Eksplicitni način deklarisanja promenljive koristi službenu reč Dim. Ova naredba izgleda ovako:
&lt;br /&gt;

&lt;br /&gt;
Dim ImePromenljive As Vrsta promenljive, ImePromenljive As Vrsta promenljive...
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Za sada toliko kad imam vremena &amp;quot;doteracu&amp;quot; tutorijal da izgleda lepo.
&lt;br /&gt;
Poz 
&lt;br /&gt;
Autor : Srki'94 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt; Nastavak Tutoriala &lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 Primer:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Dim Srki as Integer &lt;/code&gt;
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Dim Milan as Boolean &lt;/code&gt;
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Dim Broj_Soba as Double &lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Boolean:
&lt;br /&gt;

&lt;br /&gt;
Boolean je jednostavno da ili ne , True ili Falsh evo primera kog mozete iskoristiti :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Dim Broj as Boolean &lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Private Sub Command1_Click &amp;#40;&amp;#41;
&lt;br /&gt;
MsgBox &amp;quot;Sada ce se u Label1 ispisati &amp;quot;Ovaj tekst vidite zahvaljujuci Booleanu&amp;quot; zahvaljujuci Booleanu&amp;quot;,&amp;quot;VbOkOnly, &amp;quot;Boolean&amp;quot;
&lt;br /&gt;
Broj = True 
&lt;br /&gt;
' Primetite da cim ste ispisali &amp;quot;=&amp;quot; pojavilo se True i Falsh to je zato sto smo deklarisali &amp;quot;Broj&amp;quot; kao Boolean
&lt;br /&gt;

&lt;br /&gt;
' Ovo je kod za proveru da li je Broj = True ili Falsh
&lt;br /&gt;
If Broj = True Then Label1.caption = &amp;quot;Ovaj tekst vidite zahvaljujuci Booleanu&amp;quot; 
&lt;br /&gt;
End Sub&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Na formu stavite jedno dugme i jedan Label i prekopirajte kod. 
&lt;br /&gt;
Primetite da se tekst ne bi ispisao da je Broj = Falshe 
&lt;br /&gt;
Nadam se da ste shvatili boolean Evo i primera.
&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Za sada je dovoljno teorije &amp;quot;bacimo se&amp;quot; na neki primer. 
&lt;br /&gt;
Uradicemo par primera uploadovacu svaki tako da mozete da pratite:
&lt;br /&gt;

&lt;br /&gt;
Ne znam zasto ali ovaj primer rade svi pocetnici pa sam mislio da krenemo od njega. 
&lt;br /&gt;

&lt;br /&gt;
Program Zdravo Svete:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Potrebno: Na formu kreirajte 2 dugmeta, i jedan Tekst Box
&lt;br /&gt;

&lt;br /&gt;
Kada kreirate ovo sve, kliknite na Command1 i desno u Propertis pronadjite svojstvo Caption. Tu pise Command1, obrisite to i napisite &amp;quot;Ispisi&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
Kliknite na Command2 i ponovo pronadjite svojstvo Caption pa upisite izadji. 
&lt;br /&gt;

&lt;br /&gt;
Sad bi trebalo da vam na jednom dugmetu pise Ispisi a na drugom Izadji. 
&lt;br /&gt;

&lt;br /&gt;
Svojstvo caption je Ime objekta koje ce korisnik da vidi, NEMOJTE mesati Caption i Name, jer je svojstvo Name ono koje vi koristite u programiranju posle cu pokazati na primeru, vratimo se nasem programu. 
&lt;br /&gt;

&lt;br /&gt;
Sad kliknite dvaput na dugme Ispisi. Otvorio vam se nov prozor gde pisete kod. 
&lt;br /&gt;

&lt;br /&gt;
Ispisite :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Text1.Text = &amp;quot;Zdravo Svete&amp;quot;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
zatim kliknite dvaput na dugme izadji 
&lt;br /&gt;

&lt;br /&gt;
Ovde mozete kotistiti vise nacina da prekinete rad programa. 
&lt;br /&gt;
Ja koristim Unload (ime Forme)
&lt;br /&gt;
a mozete koristiti i End, Stop,...
&lt;br /&gt;

&lt;br /&gt;
ispisite :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Unload Form1&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
To sve treba da izgleda ovako:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Private Sub Command1_Click&amp;#40;&amp;#41;
&lt;br /&gt;
Text1.Text = &amp;quot;Zdravo Svete&amp;quot;
&lt;br /&gt;
End Sub
&lt;br /&gt;

&lt;br /&gt;
Private Sub Command2_Click&amp;#40;&amp;#41;
&lt;br /&gt;
Unload Form1
&lt;br /&gt;
End Sub&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Upravo ste zavrsili svoju prvu aplikaciju. 
&lt;br /&gt;

&lt;br /&gt;
Primer: &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
Da objasnim ono sa Name dakle gore pise &lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Private Sub Command1_Click&amp;#40;&amp;#41; &lt;/code&gt; a ne &lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Private Sub Ispisi_Click&amp;#40;&amp;#41;&lt;/code&gt; a da ste promenili svojstvo name u Ispisi onda bi pisalo &lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;Private Sub Ispisi_Click&amp;#40;&amp;#41; &lt;/code&gt;
&lt;br /&gt;
Znaci kad promenite svojstvo name onda menjate naziv, IME dugmeta i to korisnik ne vidi. SAVET: Nemojte da menjate Imena u sred izrade jer ce te morati da menjate kod najbolje je da to uradite u pocetku. Prvo isplanirajte pa onda radite.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Izrada Digitalnog Casovnika
&lt;br /&gt;

&lt;br /&gt;
Program : Digitalni Casovnik 
&lt;br /&gt;

&lt;br /&gt;
Potrebno Na formu stavite 2 Label i Jedan Timer 
&lt;br /&gt;

&lt;br /&gt;
Prepisite kod:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Private Sub Form_Load&amp;#40;&amp;#41;
&lt;br /&gt;
Timer1.Interval = 500
&lt;br /&gt;
End Sub
&lt;br /&gt;

&lt;br /&gt;
Private Sub Timer1_Timer&amp;#40;&amp;#41;
&lt;br /&gt;
Label1.Caption = Str$&amp;#40;Time&amp;#41;
&lt;br /&gt;
Label2.Caption = Str$&amp;#40;Date&amp;#41;
&lt;br /&gt;
End Sub&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Pritisnite F5 i primetite da vam se u label1 pojavilo vreme a u label 2 pojavo datum.
&lt;br /&gt;

&lt;br /&gt;
Da pojasnim ovo &lt;span style=&quot;font-weight: bold&quot;&gt; Str$ &lt;/span&gt; ono pretvara Date i Tame u Broj. Mozete koristiti u raznim situacijama kao da String prevedete u Broj i tako dalje. Znaci sve sto ova aplikacija radi jeste &amp;quot;uzima&amp;quot; datum i vreme i prebacuje ga u broj. 
&lt;br /&gt;

&lt;br /&gt;
Mozete se malo poigrati, npr Evo kako sam se ja poigrao napravio sam ovaj projekat odavno. 
&lt;br /&gt;
Ja sam dodao Skinove u program. To je lako za skinove samo uzmite Masku tj Sliku mozete i sami da napravite evo kako sam ja uradio moj digitalni casovnik:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Postavite pitanja u temi koju je rqdrajko postavio i ja cu da dopunim tutor. 
&lt;br /&gt;
 Poz Do seldeceg dela  tutora u kome ucimo malo ozbiljnije stvari
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Autor: Srki'94
&lt;br /&gt;

&lt;br /&gt;
Ovaj tutorijal je zasticen CC licencom 
&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Thu, 19 Jun 2008 21:09:04 +0100</pubDate>
</item>
<item>
	<title>Zastita programa od kopiranja</title>
	<link>https://www.mycity.rs/Visual-Basic/Zastita-programa-od-kopiranja.html</link>
	<guid>https://www.mycity.rs/?p=616094</guid>
	<author>nobody@mycity.rs (rgdrajko)</author>
	<description>Evo kompletan program u Visual basicu za zastitu programa od kopiranja, uradjen preko XOR komande koja sifrira serijski broj diska sa nekim slovima npr . &amp;quot;rgdrajko&amp;quot;. Ovo je sastavni deo programa &amp;quot;Autotestovi za polaganje vozackog ispita&amp;quot; ciji sam deo koda dao na ovom forumu.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=62851_51768748_Sifrirani%20serijski%20broj%20diska.JPG&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=62851_198446874_Registracija%20Programa.JPG&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Deo koda iz prikljucenog zip fajla sa kompletnim kodom:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;Public Sub SifriranjeSerijskogBrojaCD&amp;#40;&amp;#41;
&lt;br /&gt;
Dim sastserijskibrojCDdiskaod10cifara As String
&lt;br /&gt;
Dim sifraod10cifara As String
&lt;br /&gt;
Dim rezultat As Integer
&lt;br /&gt;
Dim rezultatstring As String
&lt;br /&gt;
Dim sifriraniseriskibrojCDdiskaodpreko20cifara As String
&lt;br /&gt;

&lt;br /&gt;
On Error GoTo greska
&lt;br /&gt;
'slovoCD = Left&amp;#40;App.Path, 1&amp;#41;
&lt;br /&gt;
slovoCD = Left&amp;#40;txtDisk.Text, 1&amp;#41;
&lt;br /&gt;

&lt;br /&gt;
decimalniserijskibrojCDdiska = GetSerialNumber&amp;#40;slovoCD + &amp;quot;&amp;#58;&amp;quot;&amp;#41;
&lt;br /&gt;
lblDecSerijskiBrojDiska.Caption = decimalniserijskibrojCDdiska
&lt;br /&gt;

&lt;br /&gt;
heksadecimalniserijskibrojCDdiska = Hex&amp;#40;decimalniserijskibrojCDdiska&amp;#41;
&lt;br /&gt;
lblHexSerijskiBrojDiska.Caption = heksadecimalniserijskibrojCDdiska
&lt;br /&gt;

&lt;br /&gt;
sastserijskibrojCDdiskaod10cifara = heksadecimalniserijskibrojCDdiska &amp;amp; Left&amp;#40;decimalniserijskibrojCDdiska, 2&amp;#41;
&lt;br /&gt;
lblsastserijskibrojCDdiskaod10cifara.Caption = sastserijskibrojCDdiskaod10cifara
&lt;br /&gt;

&lt;br /&gt;
sifraod10cifara = Chr&amp;#40;vbKeyR&amp;#41; &amp;amp; Chr&amp;#40;vbKeyG&amp;#41; &amp;amp; Chr&amp;#40;vbKeyD&amp;#41; &amp;amp; Chr&amp;#40;vbKeyR&amp;#41; &amp;amp; Chr&amp;#40;vbKeyA&amp;#41; &amp;amp; Chr&amp;#40;vbKeyJ&amp;#41; &amp;amp; Chr&amp;#40;vbKeyK&amp;#41; &amp;amp; Chr&amp;#40;vbKeyO&amp;#41; &amp;amp; Chr&amp;#40;vbKeyG&amp;#41; &amp;amp; Chr&amp;#40;vbKeyO&amp;#41;
&lt;br /&gt;
lblSifraod10znakova.Caption = sifraod10cifara
&lt;br /&gt;

&lt;br /&gt;
'Sifriranje seriskog broja diska sa sifraod10cifara
&lt;br /&gt;
sifriraniseriskibrojCDdiskaodpreko20cifara = &amp;quot;&amp;quot;
&lt;br /&gt;
For n = 1 To 10
&lt;br /&gt;
rezultat = Asc&amp;#40;Mid&amp;#40;sastserijskibrojCDdiskaod10cifara, n, 1&amp;#41;&amp;#41; Xor Asc&amp;#40;Mid&amp;#40;sifraod10cifara, n, 1&amp;#41;&amp;#41;
&lt;br /&gt;
rezultatstring = Hex&amp;#40;rezultat&amp;#41;
&lt;br /&gt;
If Len&amp;#40;rezultatstring&amp;#41; &amp;lt; 2 Then
&lt;br /&gt;
rezultatstring = &amp;quot;0&amp;quot; &amp;amp; Hex&amp;#40;rezultat&amp;#41;
&lt;br /&gt;
End If
&lt;br /&gt;
sifriraniseriskibrojCDdiskaodpreko20cifara = sifriraniseriskibrojCDdiskaodpreko20cifara &amp;amp; rezultat
&lt;br /&gt;
Next n
&lt;br /&gt;
lblsifriraniseriskibrojCDdiskaodpreko20cifara.Capt ion = sifriraniseriskibrojCDdiskaodpreko20cifara
&lt;br /&gt;
Text1.Text = Mid&amp;#40;sifriraniseriskibrojCDdiskaodpreko20cifara, 1, 7&amp;#41;
&lt;br /&gt;
Text2.Text = Mid&amp;#40;sifriraniseriskibrojCDdiskaodpreko20cifara, 8, 7&amp;#41;
&lt;br /&gt;
Text3.Text = Mid&amp;#40;sifriraniseriskibrojCDdiskaodpreko20cifara, 15, 7&amp;#41;
&lt;br /&gt;
Text4.Text = Mid&amp;#40;sifriraniseriskibrojCDdiskaodpreko20cifara, 22&amp;#41;
&lt;br /&gt;

&lt;br /&gt;
Exit Sub
&lt;br /&gt;

&lt;br /&gt;
greska&amp;#58;
&lt;br /&gt;
lblDecSerijskiBrojDiska.Caption = &amp;quot;&amp;quot;
&lt;br /&gt;
lblHexSerijskiBrojDiska.Caption = &amp;quot;&amp;quot;
&lt;br /&gt;
lblsastserijskibrojCDdiskaod10cifara.Caption = &amp;quot;&amp;quot;
&lt;br /&gt;
lblsifriraniseriskibrojCDdiskaodpreko20cifara.Capt ion = &amp;quot;&amp;quot;
&lt;br /&gt;
Text1.Text = &amp;quot;&amp;quot;
&lt;br /&gt;
Text2.Text = &amp;quot;&amp;quot;
&lt;br /&gt;
Text3.Text = &amp;quot;&amp;quot;
&lt;br /&gt;
Text4.Text = &amp;quot;&amp;quot;
&lt;br /&gt;
Exit Sub
&lt;br /&gt;
End Sub&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Kompletan izvorni kod:
&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;</description>
	<pubDate>Sun, 23 Sep 2007 02:21:59 +0100</pubDate>
</item>
</channel>
</rss>

