Professional Documents
Culture Documents
Kvadrati
Kvadrati
KOLA TUZLA
KOLSKA GODINA
2015./2016.
Projektni zadatak
Predmet: Programiranje
Tema: Iscrtavanje kvadrata
UENICI:
Hadir Glavi
Jasmin Hidanovi
Razred: 4T1
MENTOR:
Zermina abi dipl.ing.el
Sadraj
1.Uvod.................................................................................................... 3
2.Izrada projektnog zadatka ................................................................... 4
2.1 Zadatak.......................................................................................... 4
2.2 Izrada ............................................................................................ 4
2.3 Programski kod ............................................................................. 6
2.4 Primjer iscrtavanja kvadrata ......................................................... 7
1.Uvod
#(CSharp) je nastao u kompaniji Microsoft I nastao je kao odgovor na nedostatke
postojeih jezika kao to su C, C++ i Visual Basic, u isto vrijeme kombinirajui njihove
dobre strane.Razvijen je od strane tima strunjaka predvoenih sa Anders Hejlsbergom i Scott Wiltamuth-om. Na tritu se pojavio 2000. godine zajedno sa .NET
platformom. C# je nastao s ciljem da bude jednostavan, siguran, moderan, objektno
orijentiran jezik visokih performansi za .NET platformu. C# je nastao na temelju objektnih
jezika Java, C++ i Visual Basic. Vrlo je slian Javi i C++ jeziku (sintaksa i semantika je
dobrim dijelom preuzeta iz Jave, koja je kao i C# potpuno objektno orijentirani jezik). Ali C#
za razliku od Jave nije neovisan o platformi, tj. operativnom sustavu, ve je kreiran za izradu
stolnih (desktop) i Internet aplikacija u .Microsoft .NET okruenju. C# sadri sve dobre odlike
potpuno objektnog programskog jezika (koje veinom preuzima iz C++ i Jave), a u sklopu
.NET platforme omoguava kreiranje vizualnih aplikacija ak i onim korisnicima koji nemaju
programerskog iskustva. Takoer daje dobar uvid u nain na koji nastaju objektne i vizualne
aplikacije, i vrlo je lako nauiti korisnike kako projektirati takve aplikacije i upravljati njihovim
koritenjem. C# ima velike mogunosti u definiranju klasa (tipova objekata), novih metoda i
svojstava, te koritenju enkapsulacije, nasljeivanja i polimorfizma kao to je to omogueno
u C++ i Javi. Takoer podrava XML stil unutar dokumenata, suelja, svojstva, dogaaje te
podrava rad s pokazivaima i ''garbage collection''. C# koristi postupak zvan garbage
collection za oslobaanje memorije koju zauzimaju objekti koji vie nisu dostupni programu.
Programer je osloboen brige o tome koji su mu objekti vie ne trebaju (garbage), jer to
umjesto njega radi sustav. Ako je objekt postojao i bio koriten neko vrijeme, moe postojati
nekoliko poziva na njega. Objekt postaje garbage tek nakon to su nestanu svi pozivi na
njega. Ranije smo rekli da je C# radi u razvojnom okruenjo nazvanom .NET platforma, a
sada emo objasniti to je to. .NET platforma je zapravo razvojni okvir koji omoguava novo
suelje za programiranje aplikacija (eng. application programming interface, tj. API) i
ujedinjuje klasino suelje Windows operativnog sustava, zajedno s brojnim tehnologijama
koje su proizale iz Microsoft-a, kao to su ASP razvojni okvir za web, XML,
objektnoorijentirani dizajn, podrku za nove web uslune protokole kao to je SOAP, WSDL,
i UDDI, sa naglaskom na Internet, a sve integrirano unutar DNA arhitekture (eng. Windows
Distributed interNet Applications Arcitecture).
2.2 Izrada
Dakle,projekat emo raditi u C# alatu kao Windows Forms Application.Kada pokrenemo
program kliknemo na New project i odabrat emo Windows Forms Application.Zatim to
emo uraditi ubacit emo u formu ono to nam je potrebno za projekat.Ubacujemo 2 buttona i
jedan textbox,timer i colordialog to moete vidjeti na slici ispod
Deklarisat emo tri varijable:x,y,a tipa integer.U MouseDown eventu x i y dodjeljujemo da uzima x i y
koordinate a varijabla a nam je veliina kvadrata i na poetku dodjeljujemo joj vrijednost 0.Znai dok
je taster pritisnut tajmer je ukljuen.Kod za ovaj dio moete vidjeti na slici ispod.Klasu Graphics smo
deklarisali ispred u public jer ako deklariemo privatno u nekoj funkciji neemo je moi korisiti u
drugim,a trebat e nam posle
Kada pustimo taster mia koji smo pritisnuli objekat treba da prestane sa iscrtavanjem a to emo
postii tako to emo prvo odabrati event MouseUp i onda emo timer zaustaviti pomou metode
stop.To moete vidjeti na slici
Da odaberete boju koristili smo colordialog tj kada kliknete na button Izaberi boju izbaci vam
colordialog sa bojama a pored tog buttona nalazi se textbox koji uzima boju koju smo odabrali i
prikazuje je isto da znate koja je odabrana boja.Kod moete vidjeti ispod na slici
Dugme oisti slui da oisti pozadinu kada zavrite sa iscrtavanjem.Da ne biste svaki put izlazili iz
aplikacije i ponovo ulazili.To smo postigli tako to smo pozvali objekat kv i dodijeli metodu clear i
vraa poetnu boju povrine.If nam slui u sluaju ako kliknete taj button a niste nita nacrtali da
program ne bi pao jer kada pritisnete pozove se funckija od objekta koji nije kreiran tj,pokazuje na null
x = e.X;
y = e.Y;
a = 0;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
kv = CreateGraphics();
SolidBrush boja = new SolidBrush(colorDialog.Color);
a += 4;
x -= 2;
y -= 2;
kv.FillRectangle(boja,x,y,a,a);
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
timer1.Stop();
}
private void button2_Click(object sender, EventArgs e)
{
if(kv!=null)
kv.Clear(BackColor);
}
}
}