PDF -Tehnike vizuelnog programiranjaprogramiranja - C-Sharp_Tehnike_vizuelnog_programiranja.pdf
Wait Loading...


PDF :1


Like and share and download

C-Sharp_Tehnike_vizuelnog_programiranja.pdf

Tehnike vizuelnog programiranjaprogramiranja

Related PDF

Tehnike vizuelnog programiranjaprogramiranja


PDF

C++ Solutions

C++ Programming 5th Edition Ds Malik Solution Manual Pdf

ciens ucv ve algoritmosyprogramacion documentos A C++ program is a set of instructions of the C++ programming language that can be interpreted by a computer into a sequence of basic operations that the computer can perform Axiom cs ccny cuny edu ~wes CSC103 docs practiceproblems pdf

c Subestaciones

Evolución de las subestaciones

PDF subestaciones eléctricas subestaciones eléctricas Mercado Ideal mercado ideal SELMEC 20SUBESTACIONES 20ELECTRICAS pdf PDF Sistema Eléctrico de Potencia ptolomeo unam mx ptolomeo unam mx 8080 xmlui bitstream handle A4 pdf PDF An´alisis de Confiabilidad

C T Chen - Linear System Theory and Design.pdf

Linear System Theory Design Chen All Solution

PDF Linear Systems Theory and Design ebadi profcms um ac ir chen 20c 20 t 20linear 20system 20theory 20and 20design pdf PDF Linear System Theory Ct Chen Technetix en us technetix linear system theory ct chen pdf

  1. ct chen linear system theory and design pdf
  2. linear system theory ppt
  3. ct chen linear system theory and design solution manual
  4. linear system theory pdf
  5. linear system theory and design 2nd edition
  6. linear system theory and design fourth edition
  7. chi-tsong chen
  8. solutions manual to linear systems theory

C TADM56 74 Sample Questions

C TADM70 74 - Blog - SAPSPOT

cdn training sap uploads C TADM56 74 Sample SAP EDUCATION SAMPLE QUESTIONS C TADM56 74 SAP Certified Technology Associate System Administration (DB2 LUW) with SAP NetWeaver 7 4 Disclaimer These sample questions are for self evaluation purposes only and do not appear on the actual

C_TAW12_70

Untitled

PDF Exam4PDF pdf exam4 pdf C TAW12 70 pdf PDF C TAW12 70 SAP Certified Development SAP Certificationsapcertifications ol edu pdf C TAW12 70 pdf PDF SAP Exam Code

C_TAW12_740

Fichier des formations éligibles au CPF retenues par la CPNE de la

ERPPREP COM's C TAW12 740 PDF is a comprehensive compilation of questions and answers that have been developed by our team of SAP ABAP experts  Classical User Interfaces 8 12 Build ABAP reports with selection screens, either displaying data in a classic list or

  1. C_TAW12_740
  2. ERPPREP.COM's C_TAW12_740 PDF
  3. C_TAW12_740 – SAP
  4. for C_TAW12_740
  5. SAP consultant certification C_TAW12_740 which
  6. terzertifizierung C_TAW12_740 vor
  7. C_TAW12_740 exam guide to crack ABAP with SAP

c. Teike - Alte Kameraden - Vieux Camerades - Mach - 1933 - Sheet Music

Noten Musikgesellschaft Mett-Madretsch Fehlende Noten

PDF 1 Under The Double Eagle Oboe & Piano 3 6 Amazon S3 s3 eu central 1 amazonaws shop EMR39860 pdf PDF Archiv Harmonie Salgesch harmoniesalgesch ch harmonie Archiv pdf PDF TITRE 1812 1 2 15

C Teks Panduan Pembahas Kerajaan dan Pembangkang

KECEMERLANGAN SEKOLAH BERASRAMA PENUH KE-38 PERINGKAT

tkc edu my hksbp wp content uploads 2011 01 Peraturan

c Thr12 64 Exam 2

The gr/gr deletion(s): a new genetic test in male infertility?

Sep 4, 1990 press a ras gene with a Gly12 Thr'2 mutation (Dd ras Thr12) have an reactions, including phospholipase C, are not significantly different  Apr 11, 2001 medium (2 Bacto peptone, 1 yeast extract, 2 glucose supplemented

  1. a new genetic test in male infertility
  2. 2 mutation
  3. Dd-ras-Thr12
  4. including phospholipase C
  5. 2% Bacto-peptone
  6. 2% glucose supplemented with 20 mg
  7. 24 °C
  8. passed this test
  9. Thr12
  10. Glu64
Home back 105510561057105810591060 Next

_Tehnike_vizuelnog_programiranja

Description

Zoran Ćirović Ivan Dunđerski

Tehnike vizuelnog programiranja

Viša elektrotehnička škola Beograd 2005

Recenzenti Slobodanka Đenić Izdavač Viša elektrotehnička škola Beograd Za izdavača Dragoljub Martinović Dizajn Snežana Trstenjak Lektor i korektor Anđelka Kovačević

CIP – Katalogizacija u publikaciji Narodna biblioteka Srbije,

Beograd 004

2C#(075

Zoran Tehnike vizuelnog programiranja : C# / Zoran Ćirović,

Ivan Dunđerski

– Beograd: Viša elektrotehnička škola,

ISBN 86-85081-29-7 1

Dunđerski,

Ivan a) Vizuelno programiranje

NET tehnologija b) Programski jezici “C#”

NET tehnologija COBISS

SR-ID 120683276

Predgovor Ova knjiga namenjena je studentima Više elektrotehničke škole u Beogradu,

kao priručnik za predmet „Tehnike vizuelnog programiranja“

Pokazane su tehnike i pravci u razvoju novih aplikacija kroz veliki broj primera

Svi primeri rađeni su na razvojnom okruženju

Knjiga može poslužiti svima koji žele da nauče osnovne tehnike rada na

NET platformi,

Gradivo je prilagođeno čitaocima koji vladaju osnovama OOP-a,

pa je naglasak na vizuelnom programiranju

U Beogradu,

SADRŽAJ

NET PLATFORME

Poređenje: C# vs

C++/Java

NET framework instaliran

UVOD U VISUAL C#

IDE – Integrisano Razvojno Okruženje

Class View,

Resource View,

Properties

DIZAJN KONTROLA

Osobine Windows kontrola

podešavanje pozicije i veličine

33 Name

34 Size

34 Bounds

35 Visible

36 Enabled

DOGAĐAJI

51 Paint

52 Resize

Izgled forme

56 Ikona

WINDOWS KONTROLE

67 Text

68 Image,

ImageAlign,

ImageList,

ImageIndex

69 Checked

Appearance

71 Checked

74 Labela

74 TextBox

APLIKACIJE SA VIŠE FORMI

Aplikacije sa višestrukim dokumentima

KONTEJNERI KONTROLA

89 Panel

93 Dock

99 Text

DIJALOZI

Dialog Box

Glavni meni

TOOLBAR

Osobine i kreiranje

UVOD U GRAFIKU

Klasa Graphics

UVOD U XML

XML deklaracija

WEB-SERVISI

Komunikacija sa aplikacijom

Metode Web servisa

NET okruženje i Web servisi

OSNOVE ADO

NET SKLOPOVI

Osobine

LITERATURA

PRIMERI

NET platforme

NET PLATFORME

NET (dot-net) je ime najmodernije platforme koje Microsoft vezuje za softverske tehnologije budućnosti

U nazivu je osnovna poruka koju nosi ova tehnologija

Ova platforma predstavlja dugoročni i strategijski plan razvoja ne samo u Microsoftu

NET daje realne osnove da postane osnovna platforma razvoja modernih aplikacija

Radni okvir

NET razvijen je sa ciljem da obezbedi okruženje za razvoj svih modernih aplikacija na Windows operativnom sistemu

Jedna od osnovnih osobina ove platforme je njena orijentacija ka distribuiranim aplikcijama preko Interneta

Ovo sa sobom nosi obavezno još prednosti: •

Distribuirane aplikacije su više objektno orijentisane

Ovaj stil programiranja ubrzava stvaranje kolekcije specifičnog koda na jednom mestu,

nasuprot dosadašnjem stilu gde se stvaraju redundantne kopije na mnogo mesta

(Redundantnost je pojam koji se koristi u tehnici kada je reč o nepotrebnom višku ili preobimnosti

) Ovo svakako povećava efikasnost i opredeljuje za ovakve aplikacije

Ovaj tip apikacije pruža softverske celine raspoložive različitim uređajima preko interfejsa

Kontrolisanjem pristupa u realnom vremenu (real-time) ka distribuiranim čvorovima ( delovi jedne softverske celine ) moguće je lakše kontrolisanje rada takvih aplikacija

Ovaj pristup pomera aplikacije od objektno orijentisanih u pravcu 'services provided'

Biblioteka klasa razvijena je od samog početka koristeći dragocena iskustva

Ovo daje veoma lepu osobinu,

dosledno i dobro definisanje osnovnih tipova

Jezička nezavisnost

Ovo je postignuto postojanjem međujezika,

IL (Intermediate Language,

kom jeziku koji ima podršku za

NET prevodi se na kôd razumljiv tom međujeziku

Podrška za Web (XML) servise

NET ima razvijene alate za jednostavno pisanje XML servisa

Poboljšani pristup dinamičkim Web stranicama baziran na ASP

NET tehnologiji

Efikasniji pristup podacima preko ADO

NET klasa

NET postavlja i novi pristup za zajedničko korišćenje koda

Nasuprot tradicionalnih dll biblioteka,

uvodi se koncept sklopova (assembly)

Zajedničko funkcionisanje različitih platformi imperativ je u distribuiranim aplikacijama

Zato je bilo neophodno obezbediti standardizaciju u razmeni podataka

Tako je

NET platforma sagrađena na standardima tehnologije XML i SOAP

Ukoliko se prvi put srećete sa pojmom XML ne brinite

Rad sa XML je veoma dobro podržan u

NET-u i prilično olakšan upotrebom radnog okruženja

Rad takvih aplikacija podrazumeva da postoji

NET Framework

NET Framework sadrži CLR ( Common Language Runtime ) kao i kolekcije klasa ovog okruženja

Posebno ističemo ASP

NET ( nova generacija Active Server Pages tehnologije ) i WinForms ( služi razvoju desktop aplikacija )

Još par detalja o CLR

CLR izvršava kôd koji je kompajliran na

NET platformi

CLR specifikacija je otvorena za sve platforme,

Takođe,

svi programski jezici mogu se koristiti za rad sa

NET klasama

Ove karakteristike obezbeđuju pravljenje distribuiranih aplikacija čije celine mogu da rade na nezavisnim platformama i čak pisane različitim programskim jezicima

Svi jezici koji su obuhvaćeni novim paketom Microsoft VisualStudio

NET imaju podršku za

NET klase

Kako svi oni imaju “ispod” CLR to ih čini ravnopravnim više nego ikada

Međutim,

C# je posebno napravljen novi programski jezik upravo za

Drugi programski jezici na ovoj platformi su postojali i pre nastanka

To ovom programskom jeziku omogućava optimalno korišćenje

NET okruženja

Poređenje: C# vs

C++/Java 2

NET platforme

Za nekog ko tek treba da počne sa učenjem novog programskog jezika uvek je aktuelno pitanje zbog čega treba da uloži napor za njegovo savladavanje i šta tim ulaganjem dobija

Danas su,

tako da kvalitet softvera zavisi najviše od vrednosti programera

razlike i sličnosti između jezika postoje i dobro ih je poznavati

Zbog aktuelnosti izvešćemo poređenje jezika C# sa Javom i C++

C# i Java •

C# i Java svrstavaju se u naslednike jezika C

Pripadaju jezicima nove generacije i uključuju savremene osobine

Na primer,

oba jezika imaju “garbage collection” (skupljač memorijskih otpadaka u upravljanoj dinamičkoj memoriji) koji oslobađa programera razmišljanja o delovima programiranja niskog nivoa

Sintaksno jezici su slični

Osnovna zajednička osobina za oba jezika je da se prevođenje (kompajliranje) vrši do međujezika Intermediate Language (IL)

Za C# taj jezik se naziva Microsoft Intermediate Language (MSIL),

dok je za Javu to Java bytecode

Za oba jezika IL može biti startovan kao interpretator ili just-in-time (JIT) prevodilac

C# ipak obezbeđuje dalje prevođenje u prirodan

Za razliku od Java bajtkoda koji se najčešće interpretira,

NET IL uvek se prevodi u pravo vreme

Na ovaj način čuvaju se performanse aplikacije

Takođe,

ne prevodi se cela aplikacija odjednom već samo oni delovi koji se pozivaju u toku izvršavanja programa (run-time)

C# sadrži više osnovnih tipova podataka od Jave

Takođe C# sadrži enumeratore i preklapanje operatora za korisničke tipove

Kao i Java,

C# napušta višestruko nasleđivanje koje je postojalo u C++

Osobina polimorfizma je nešto usložnjena dodavanjem opcija overriding/hiding ( kasnije će biti detaljnije objašnjene )

C# uvodi novu vrstu objekata koja ima puno sličnosti sa klasama tzv

Delegati sadrže detalje nekog metoda (slično kao pokazivači na funkcije u C++ jeziku)

Za razliku od Jave koja višedimenzionalne nizove implementira preko jednodimenzionalnih (drugim rečima pravi nizove nizova),

C# sadrži prave pravougaone nizove

C# u odnosu na C++ Mada su sličnosti sa VB i Javom očigledne,

Jedna od najvažnijih promena u odnosu na C++ je u tome da se zahteva fajl sa zaglavljima

Novi pristup je dobijen korišćenjem tzv

koji može da “sklopi i rasklopi” kôd metoda,

odnosno da ga prikaže kao deklaraciju ili kao definiciju metoda

(Ovaj editor može to isto da uradi i sa komentarima

NET runtime” na kome se izvršava C# sadrži upravljanje memorijom upotrebom objekata “garbage collector”

Zbog toga je korišćenje klasičnih pointera u C# manje važno nego u C++

Klasični pointeri mogu se koristiti u C#,

ali samo gde je kôd označen kao 'unsafe' i to pre svega ima smisla kada su performanse najvažnije

Postoje još neke izmene u odnosu na C++

Na primer:

Ovo važi i za vrednosne i za referentne tipove

To je preduslov da funkcioniše garbage collector

u skladu sa sigurnošću tipova (obavezna inicijalizacija )

Suštinska razlika je prisustvo CLR tj

IL za C#,

ANSI C++ se bazira na tehnologiji koja je stara više od 10 godina,

tako da nema podršku za unicode (pogledajte www

org) ili za generisanje xml dokumentacije

Mada C++,

Java i C# spadaju među 10 najpopularnijih programskih jezika,

pravo poređenje se svodi na aktuelnost pojedinih programskih jezika

U poslednjih par godina jedino je C# uspeo da zabeleži porast popularnosti

Pre svega ovo je izbor onih koji vole C jezik,

ali i onih koji su naučili da programiraju na C/C++,

a želeli bi da nauče još više o novim tehnologijama

Budućnost pripada jeziku C#

NET platforme

“Hello World” Po dobrom starom nepisanom pravilu,

svi primeri počinju tradicionalnim programom Hello World

U ovom poglavlju videćemo šta nam je sve potrebno da bismo krenuli sa programiranjem u C#

Proverite da li je

NET framework instaliran Pre svega da bismo mogli da koristimo C# ili

NET klase na nekoj mašini moramo imati instaliran

NET framework SDK

Ukoliko ste instalirali Visual Studio

NET ne brinite,

instalacijom ovog paketa vaša mašina sadrži i

NET framework

Ukoliko niste sigurni šta vaša mašina sadrži,

pogledajte u Control Panel – u spisak instaliranih programa

Na slici ispod vidi se primer postojanja jedne verzije platforme

NET Framework

Da biste nešto i napisali potreban vam je jedan najobičniji editor teksta

Kôd je dat ispod

public class HelloWorld { public static void Main() { // komentar u jednoj liniji /* komentar vise linija */ Console

WriteLine( "Hello World

Iz primera treba uočiti sledeće karakteristike C# jezika

Komentari Iz koda se vidi i način na koji mogu da se pišu komentari u C#

Sintaksa je uobičajena i za C++

Komentari se dele na linijske i oni na početku imaju dve kose crte

Druga vrsta komentara se proteže između znakova /* odnosno */ i prenosi se na više linija

Mala/velika slova C# pravi razliku između malih i velikih slova

Ako bi u prethodnom primeru napisali “console” (malim početnim slovom) umesto “Console” (velikim početnim slovom) program se ne bi preveo,

a prevodilac bi prijavio grešku

Napomena: Odvajanje programskom jeziku C

C# je objektno orijentisan programski jezik i sve naredbe moraju stajati u klasama

Drugim rečima,

zapamtite da C# nema globalnog

NET platforme

Klasa u kojoj je smešten ceo kôd ovog primera zove se “HelloWorld” i ima jednu jedinu naredbu: Console

WriteLine( "Hello World

Osim imena klase ,

treba primetiti liniju using System

Ova naredba omogućava da se nadalje u kodu koriste sve metode iz prostora imena System,

a da eksplicitno ne navedete reč System

Tako se klasa Console sa metodama za rad sa konzolom,

koja pripada prostoru imena System,

WriteLine(“…

Umesto System

Console

WriteLine(“…

Metod Main U klasi HelloWorld nalazi se metod Main

Obratite pažnju da je prvo slovo veliko čime se pravi razlika u odnosu na C funkciju main

Ova funkcija je deklarisana kao static i public

Program može imati samo jednu ulaznu tačku (entry point) i ona se ostvaruje upravo preko ovog metoda

Prevođenje (kompajliranje) koda Da biste preveli ovaj kôd potrebno je da pozovete kompajler sa komandne linije ili koristite integrisano okruženje

Kao primer pokazaćemo upotrebu linijskog kompajlera za ovaj kôd

U jedan DOS prozor unesite: csc HelloWorld

Ako se kompajliranje uspešno odradilo u istom direktorijumu naći ćete fajl

Pokretanje ovog programa vrši se ako otkucate samo ime ( sa ili bez ekstenzije ) a zatim pritisnete ENTER

Kompajliranje iz okruženja je jednostavno i radićemo ga u narednim primerima

Primer: Postavljanje kompajlera u “path” Verovatno da ste imali problem sa pokretanjem kompajlera

Ukoliko imate instaliran

NET Framework morate postaviti folder u kome se nalazi kompajler csc u putanju koja će se pretraživati pri startovanju nekog programa

Ove putanje označene su posebnom promenljivom okruženja koja se naziva PATH

Kliknite na Start->Control Panel oo 2

Zatim kliknite na System 3

Na dijalogu System Properties kliknite na tab Advanced,

a zatim na Environment Variables 4

U sekciji System Variables odaberite Path a zatim kliknite na Edit 5

Dodajte na kraju

sa putanjom do direktorijuma gde se nalazi csc

Na primer: %SystemRoot%\system32

%SystemRoot%

%SystemRoot%\System32\ Wbem

C:\WINDOWS\Microsoft

NET\Framework\v2

Potvrdite pritiskom na OK

Uvod u Visual C#

UVOD U VISUAL C#

IDE – Integrisano Razvojno Okruženje

Visual Studio

Net IDE (Integrated Development Environment) predstavlja izuzetan interfejs za stvaranje i testiranje aplikacija

Tipovi aplikacija koje VS

NET podržava su najrazličitiji i ne postoji jedinstven šablon za sve

Zbog toga se u projektovanju nove aplikacije ona mora pridružiti nekoj od grupa

Primer: Kreiranje novog projekta korišćenjem osnovnog menija

Izaberite File->New->Project

Na Project dialog prozoru izaberite Visual C# Projects u listi Project Types 3

Na listi Templates izaberite Windows Application 4

U tekst polje Name unesite ime vašeg projekta ili možete prihvatiti već ponuđeno ime,

Potvrdite unos pritiskom na dugme OK

Nova aplikacija će biti kreirana sa podrazumevanom formom

Da biste preveli i pokrenuli vašu aplikaciju odaberite iz glavnog menija Debug->Start Without Debugging

Uvod u Visual C#

Test aplikaciju možete zatvoriti pritiskom na dugme se u programsko okruženje

Toolbar ( paleta sa alatima ) Inače,

ispod glavnog menija nalazi se paleta sa dugmićima (na kojima su slike koje asociraju na funkciju ) koji pokreću neke najčešće korišćene komande

Ta paleta se naziva toolbar

Postoji više tipova kontrole toolbar

Ako pored njega kliknete desnim dugmetom miša videćete spisak sa ozačenim objektima toolbar koji su aktivni

Sličice koje vidite pripadaju tzv

Bar nazivamo posebnim prozorom,

koji je deo aplikacije i na kome se uobičajeno nalazi neka paleta alatki

Takođe,

uobičajeno je da se ta paleta “lepi” za neku stranu prozora glavne aplikacije,

ali može stajati i samostalno

Ako sa glavnog menija odaberete Tools->Customize možete podešavati alatke koje će biti na radnoj površini ili dodavati nove

Ovo podešavanje izvodite na tabu ( kartici ) Toolbars,

kao što je prikazano na slici ispod

Na kartici Commands možete dodavati sopstvene komande nekom od objekata toolbar

Kao što je i pomenuto radno okruženje se može podesiti (customize) po slobodnoj volji,

tako da pruža mogućnost programeru da se u njega lako uklopi i “udobno smesti”

Toolbox (kutija sa alatima) Uz levu ivicu ekrana nalazi se bar (traka) sa natpisom Toolbox (kutija sa alatima dizajnera) vertikalno orijentisan

U objektu toolbox razvrstane su kontrole po kategorijama

Na liniji gde je naslov postoji dugme pribadača (sa skraćenim opisom Auto hide) ,

kojim se menja ponašanje ove kontrole

Pritiskom na pribadaču bar može biti fiksiran za ivicu glavnog prozora

Ukoliko je pribadača u gornjem položaju bar je podešen tako da nestaje kada se miš pomeri sa njega

Ovo je podrazumevano ponašanje okruženja,

sa idejom da se poveća korisna površina ekrana kada se kutija sa alatima ne koristi

Uvod u Visual C#

Solution Explorer,

Class View,

Resource View,

Properties

Na desnoj strani ekran je podeljen u dve sekcije

Gornja sekcija uključuje različite tabove,

Resource View i Solution Explorer

U donjoj sekciji na desnoj strani nalazi se prozor koji prikazuje svojstva stavki koje su selektovane na gornjoj

Uvod u Visual C#

Naravno,

izgled radne površine je potpuno proizvoljan i moguće ga je prilagođavati sopstvenim željama

Opis koji je dat važi za inicijalni izgled IDE okruženja

Zbog značaja koji ima u kreiranju aplikacija sada ćemo pokazati neke mogućnosti koje nam pruža Class View

Upotrebu ostalih alata pikazaćemo kasnije na konkretnim primerima

Class View Class View daje prikaz klasa u projektu koji stvarate i ujedno vam omogućava da dodajete i menjate postojeće klase

Prikaz klasa dat je u obliku stabla,

Na slici je dat jedan primer projekta test

Čvor najvećeg nivoa predstavlja sam projekat test

Sledeći nivo čvorova su prostori imena iz projekta

U gornjem primeru postoji samo jedan

U prostoru imena,

sadržane su dve klase: Form2 i Form3

Klasa Form2 sadrži dva privatna polja button1 odnosno components,

InitializeComponent() i button1_Click (

Klasa Form2 sadrži i konstruktor Form2(),

zaštićenu metodu Dispose(bool)

Ako proširimo čvorove Bases and Interfaces videćemo da je u korenu klasa Object

Ova klasa se nalazi u korenu svih klasa jezika C#

Ovo smo pominjali kada smo nabrajali prednosti C# jezika

Dodavanje nove klase projektu Pomoću Class View prikaza možete dodati novu klasu vašem projektu

U ovom prikazu pritisnite desnim tasterom miša projekat i odaberite stavku u meniju Add Class

Drugi način je izborom stavke menija Project->Add Class

Pojavljuje se čarobnjak za kreiranje klasa – C# Class Wizard,

Uvod u Visual C#

Značenje polja dato je u tabeli ispod

Naziv polja

Class Name

Ime nove klase

Namespace

Naziv prostora pridružuje

File Name

Ime fajla u kome će biti smeštena definicija klase

Definiše mogućnost pravljenja referenci u drugim delovima i drugim aplikacijama

Class Modifiers

Apstraktne i zapečaćene klase kontrolišu korišćenje klase u vezama nasleđivanja

Kasnije će biti govora o ovome

Comment

Komentar koji se kasnije i vidi u IDE editoru preko Intelli-Sense programa

Kartica Base Class

Definisanje osnovne klase za klasu koju kreirate

Dostupne su ne samo klase iz

NET Frameworka već i klase iz vašeg projekta

Kartica Inheritance

Definisanje interfejsa koje implementirate u vašoj klasi

Dodavanje metoda i polja Na sličan način kao što smo dodali novu klasu projektu možemo dodati novo polje jednoj klasi

koristeći Class View pritiskom na desni taster na klasu kojoj želite da dodate novo polje dobijate meni gde birate stavku Add a zatim birate stavku koju dodajete klasi,

Uvod u Visual C#

Na slikama ispod dati su čarobnjaci za dodavanje novog polja klasi,

odnosno za dodavanje novog metoda

Ne zaboravite da ovi čarobnjaci služe da programeru olakšaju posao

Sve što oni urade možete uraditi i ručno ukoliko niste zadovoljni kodom koji generišu ili smatrate ( volite ) da ovo treba da radite ručno

Tipovi aplikacija Pre nego što nastavimo sa novim stvarima vratimo se na primer kreiranja novog projekta

Na listi Templates odabrali smo Windows application

Ovo smo uradili prećutno,

sa namerom da što pre kreirate vašu

NET Windows aplikaciju i osetite bar na trenutak mogućnosti okruženja koje je ispred vas

Sada ćemo pojasniti neke od opcija koje vam stoje na raspolaganju

Šablon ( Template )

Kreira se

Windows Application

Windows aplikacija sa jednom praznom početnom formom,

sa svim osobinama koje takva aplikacija mora da ima

Console Application

aplikacija koja se izvršava iz komandne linije ili sa konzolnog prozora

Empty Project

Sav aplikaciju

Windows Service

servis koji se izvršava u pozadini

Class Library

NET klasa koja se može pozvati iz drugog koda

NET Web Service

klasa koja radi kao Web servis

NET Web App

stranice i klase koje generišu HTML odgovor poslat pretraživaču sa ovih stranica

Promenljive u C# Postoje dve vrste promenljivih u C#

Promenljive

Uvod u Visual C#

Vrednosni tip promenljive Ove promenljive sadrže podatak

One su slične kao primitive types u Javi

Svi tipovi su izvedeni iz klase Object

Vrednosne promenljive ne mogu da sadrže null vrednost za razliku od referentnih tipova

Ove promenljive se čuvaju na steku

C# Type

NET Framework Ozna Dužina Type čen [bajt]

Opseg vrednosti

Defa ult

0 do 255

0 do 65535

Decimal

Boolean

Primer upotrebe vrednosnih promenljivih

U gornjem primeru prikazana je osnovna karakteristika vrednosnih tipova

Promenljiva y čuva kopiju vrednosti koja je inicijalno postavljena u promenljivoj x,

Ako se vrednost promenljive x promeni na 138 u sledećoj liniji koda ovo nema uticaja na vrednost promenljive y

Referentni tip promenljive Ovaj tip promenljivih čuva reference na memorijske adrese sa vrednostima i one se alociraju na tzv

Heap je deo memorije u kome se dinamički alociraju promenljive

Ovaj tip promenljivih poznat je još i kao objekti

Ovo je razlika u odnosu na C++

Ove promenljive čuvaju reference na stvarne podatke tj

Primer: Kôd koji prikazuje razlike vrednosnog i referencijalnog tipa promenljive

namespace Project1 { class Class1 { public int Value = 0

} class Test { static void Main() { int val1 = 0

Class1 ref1 = new Class1()

Class1 ref2 = ref1

Value = 123

Console

WriteLine("Values: {0},

Console

WriteLine("Refs: {0},

Console

WriteLine("Press ENTER to end")

Console

Rezultat:

Uvod u Visual C#

Rezimirajmo: Promenljiva referencnog tipa pravi se svaki put kada deklarišete promenljivu kao: •

Promenljiva vrednosnog tipa se pravi kada deklarišete promenljivu tipa: •

Integer

Floating

Boolean

Enumeration

Structure

Svojstva u C# Svojstvo daje (postavlja) informacije o objektu kome pripada

Svojstvo je jedan metod ili par metoda ( što se klijentskog koda tiče ),

Na primer,

kada pomerate neku kontrolu svojstvo Location daje vam informaciju o poziciji gde se ta kontrola nalazi

Tekstualni sadržaj je opisan svojstvom Text,

Svojstvo može da da informaciju o objektu i/ili da postavlja neku vrednost za objekat

Drugim rečima svojstva mogu da budu read-write,

Svojstva su neobična i po tome što su preuzeta iz programskog jezika VB,

Svojstva se ponašaju kao atributi,

ali za razliku od njih svojstva ne predstavljaju samo vrednost neke promenljive,

već su po prirodi funkcije kao i metode

Na primer,

upotreba jednog svojstva definisanog u klasi Form: //frm1

Windows

Form frm1

Height = 500

Prilikom izvršenja ovog koda prozor će dobiti visinu 500,

a korisnik će moći da vidi ovu promenu na ekranu

Sintaksno,

kôd je isti kao da smo izvršili podešavanje nekog polja,

ali suštinska razlika je u tome što je pozvan metod koji vrši promenu visine

Sintaksa za definisanje jednog svojstva najbolje se vidi iz sledećeg primera: public string myProperty { get { // podesvanja return “Ovo je samo primer

Svojstvo se definiše u okviru neke klase kojom se opisuje objekat

U gornjem primeru svojstvo je tipa string i nosi naziv myProperty

Drugim rečima,

vrši se čitanje i podešavanje vredosti nekog stringa uz sve ostale akcije koje su skrivene iza metoda koje definišu svojstvo

Ukoliko svojstvo ima metode get i set za njega kažemo da je readwrite

Ukoliko ima samo metodu get kažemo da je read-only,

Uvod u Visual C#

Programski jezik C# ne dozvoljava podešavanje različitih modifikatora pristupa (private,

public ili protected) pristupnim metodama get i set

Napomena: Čitaoca molimo da pogleda priručnike za OOP ili C++ ukoliko nije siguran u značenje prethodno pomenutih modifikatora pristupa

Primer: U klasi Property dodato je svojstvo Name,

a u klasi Class1 pokazana je upotreba tog svojstva

namespace ConsoleApplication1 { public class Property { public string Name // Svojstvo (Properitet) { get { return name

// Field/Polje } class Class1 { static void Main() { Console

Write("Name: ")

Property property = new Property()

Name = Console

ReadLine()

Console

WriteLine(property

Dodavanje svojstava iz IDE Osim što se mogu programski dodati na način koji je prikazan kroz primer,

IDE daje sopstveni alat pomoću koga možete dodati proizvoljno

Pretpostavimo da ste kreirali neku aplikaciju na način: 1

Pokrenite Microsoft Visual Studio

Na stranici Start Page izaberite New Project (ili,

File->New->Project

Na New Project dijalogu u Project Types listi birate Visual C# Projects 4

U Templates listi birate Windows Application (

U Name tekst polju zamenite sa test 6

U kombo polju Location prihvatite predlog ili otkucajte sami 7

Pritisnite F5 da biste testirali program 9

Zatvorite ga i vraćate se u VS Ovo je standardni deo za pravljenje okvira jedne windows aplikacije u kome dalje delujemo

Otvorite pogled na klase u vašoj aplikaciji Class View 11

Desnim tasterom miša kliknite na klasu Form1 u koju dodajemo novi metod 12

Pošto se otvara pomoćni meni,

Uvod u Visual C#

A zatim odaberite Add Property 14

Otvara se novi dijalog u kome podešavate parametre koji se tiču svojstva koje dodajete,

Pošto ste sve popunili završavate dugmetom Finish

Automatski se vraćate u kôd na mesto gde je kreirano telo novog svojstva zajedno sa komentarom

/// /// // test primer /// public string myProperty { get { return null

Pošto smo dodali naše svojstvo nekoj klasi ono postaje za IDE potpuno ravnopravno kao i sva ostala svojstva

Nadalje ovo svojstvo se nalazi u listi ponuđenih komandi koje nudi IDE pri pisanju koda

Pri tome je pravilno pridružena sličica koja označava da je reč o svojstvu,

a dodatni žuti pravougaonik sa upustvom predstavlja onaj komentar koji ide uz svojstvo

Za IDE editor se kaže da ima osobinu Intelli-Sense

Kada počnete da kucate prikazuje imena klasa,

Takođe,

prikazuje listu parametara metoda kada se odabere ime metode

Ukoliko postoje preopterećene metode (mada je pojam poznat iz C++ objasnićemo ga kasnije) prikazuje listu metoda sa odgovarajućim parametrima

Dizajn kontrola

DIZAJN KONTROLA

Kada kreirate neku aplikaciju koja sadrži interakciju sa korisnikom ( teško je zamisliti primer bez toga ) sasvim sigurno je da ćete morati da imate objekte kojima obezbeđujete razmenu informacija između aplikacije i korisnika

Ti objekti će prikazivati podatke korisniku ili će prenositi podatke od korisnika do vašeg programa

Ovi objekti se nazivaju kontrole ( i to Windows kontrole )

Osobine Windows kontrola Kontrole koje se postavljaju na forme po svojoj prirodi i nameni različite su

Istovremeno,

postoje i mnoge sličnosti među njima koje su veoma značajne za programere

kada pominjemo kontrole u ovom poglavlju mislimo na kategoriju Windows kontrola

Ovo je napomena koju autori namerno ističu zbog raznovrsnosti kontrola koje ovo okruženje nudi korisniku – tj

Zajedničko za sve kontrole je da su po svojoj prirodi takođe i prozori

Šta to znači videćemo kasnije

Za sada recimo to da sve imaju većinu sličnih svojstava

Prihvatanje određenih događaja tipično je za kontrole

Neki događaji su specifični samo za određenu kontrolu dok su drugi zajednički

Veoma je dobro i važno za programere da koriste određenu nomenklaturu kada je reč o dodeljivanju imena kontrolama,

formama pa i tekućim promenljivima

Ime treba da bude što više opisno tj

da što više opisuje ono što predstavlja

Nekada je za to potrebno više od jedne reči

U nepisanoj C# nomenklaturi takva imena počinju malim slovom a svaka nova reč velikim

Na primer: firstName,

dateOfBirth… Ukoliko ste nekada pisali duže programe jasno vam je o čemu se radi

Teško je održavati veći kôd bez ovakvih pravila

Ukoliko pak radite u timu razlog je još veći

U tom slučaju morate ulagati dodatan napor da razumete tuđi kôd,

ali ako je on sličan vašem i ako postoje ovakva pravila to predstavlja manji problem

Relacija roditelj-dete Postoji nekoliko različitih relacija između prozora koji čine jednu ili više aplikacija

Za nas u ovom trenutku,

kada govorimo o pozicijama kontrola,

bitan odnos je roditelj-dete tzv

Na primer,

kontrola koju ste postavili na neku formu predstavlja prozor čiji roditelj je drugi prozor tj

Ovo je podrazumevana relacija kada se kontrole postavljaju i manifestuje se “lepljenjem” kontrole za tu formu

Pomeranjem forme pomeraju se sve kontrole na njoj,

Ista relacija postoji između formi koje pripadaju nakoj MDI aplikaciji

( Pojam MDI aplikacija biće kasnije detaljnije razmatran,

za sada je dovoljno da pomenem kao primer “Word” ili “Exel” gde se istovremeno mogu otvoriti nekoliko dokumenata u posebnim prozorima i svi prozori su u zajedničkom prozoru glavne aplikacije

) (Osim odnosa između prozora roditelj-dete postoji i druga relacija,

koja bi na ovom mestu unela konfuziju,

a ne bi doprinela razumevanju i nju autori svesno preskaču

Koordinatni sistem Da bi bolje razumeli svojstvo Location daćemo neka dodatna objašnjenja u vezi koordinatnog sistema koji se primenjuje kada je reč o postavljanju objekata na ekran i odnosima između prozora u Windows operativnom sistemu

Dizajn kontrola

Pozicija nekog prozora čiji je roditelj desktop računa se od gornjeg levog ugla ekrana,

kao što je to prikazano na slici

Ose koordinatnog sistema orijentisane su tako da rastu od leve strane nadesno za x osu i od vrha nadole za y osu

Rastojanje od koordinatnog početka tačke do leve ivice je svojstvo “Left”

Adekvatna ostala svojstva zovu se “Right”,

Postavljanje kontrole na formu Kontrola se bira sa toolbox palete na levoj strani ekrana

Kategorije na paleti toolbox obezbeđuju nam brži izbor tražene kontrole

Kada se željena kontrola nađe ona se mišem selektuje,

a zatim “prebaci” na tekući (current-važeći,

tekući) prozor ( formu ) takođe pritiskom miša

Kontrola će se naći na poziciji gde je bio kursor miša

Izgled jedne forme sa nekim kontrolama dat je ispod

Postoje još neke varijante dodavanja kontrola na formu

Ukoliko uradite dvostruki klik na neku kontrolu ona će biti automatski dodata formi u gornjem levom uglu

Ukoliko morate da postavite puno istih kontrola na formu ( što nije tako redak slučaj ) pokušajte se tasterom Ctrl

selektujte kontrolu ali sa pritisnutim Ctrl tasterom ( toolbox treba da bude fiksiran )

Kontrola ostaje selektovana pa možete običnim klikom na miša da postavite ovu kontrolu proizvoljan broj puta na formu

Selektovanje kontrole,

podešavanje pozicije i veličine Da biste mogli da vršite naknadne promene pozicije kontrole ili nekih svojstava,

Ovo se izvodi jednostavnim klikom miša na nju

Oko kontrole se pojavljuje pravougaonik sa 8 malih kvadratića koji nam olakšavaju promene dimenzija kontrole u određenim pravcima

Dizajn kontrola

Da bismo selektovali više od jedne kontrole moramo držati pritisnute tastere Shift ili Ctrl

Zatim se pritiska jedna po jedna željena kontrola

Poslednja ima pravougaonik sa crnim kvadratićima oko nje

Drugi način da se selektuje skup kontrola je pritiskom na površinu forme i povlačenjem miša se formira pravougaonik,

a sve controle u njemu da postaju selektovane

Pomeranje određene kontrole vršite tako što mišem “pritisnete” tu kontrolu a zatim dok držite miš pritisnut povlačite kontrolu preko forme

Pošto je pomerite na željenu poziciju otpustite taster miša i kontrola zauzima novu poziciju

Ako ste selektovali više od jedne kontrole na isti način možete pomerati i grupu kontrola

Drugi način je da selektujete kontrolu a onda koristeći “strelice” na tastaturi izvodite pomeranje kontrole po formi

Korak pomeraja odgovara mreži na formi (grid)

Ukoliko želite preciznije pomeranje koristite pritisnut taster Ctrl

Zajednička svojstva Windows kontrola

Name Svaka kontrola ima svojstvo Name

Ovo svojstvo omogućava da se preko imena pristupi nekoj kontroli ili formi

Ime mora postojati i ono

se automatski dodaje pri kreiranju,

pri postavljanju neke kontrole/forme

Na primer,

kada se neka aplikacija formira automatski se postavlja prva forma i njoj se dodeljuje ime Form1

Svaka sledeća forma dobija novo ime sa narednim brojem: Form1,

Isto pravilo važi i za kontrole koje se postavljaju na forme

One dobijaju imena po automatizmu koje im IDE okruženje dodeljuje a bazira se na tipu kontrole

Tako na primer tekst polja dobijaju imena text1,

Location Drugi primer uobičajenog svojstva svih kontrola je njihova lokacija (Location)

Naravno ovo svojstvo je veoma bitno za vizuelni izgled forme,

ali moram pomenuti da postoje kontrole koje se postavljaju na formu sa namerom da obezbede dodatnu funkcionalnost bez potrebe da budu vidljive

To je izuzetak kada pozicija kontrole nije od značaja

Ovo svojstvo je opisano koordinatama X i Y

Ovo je pozicija gornjeg levog ugla kontrole u odnosu na prozor na kome se kontrola nalazi

Obratite pažnju da je reč o vrednosnom tipu,

jer su X i Y definisani kao celi brojevi) a celi brojevi se realizuju kao strukture

Size Kada je reč o grafičkim svojstvima kontrole,

treba spomenuti i njenu veličinu Size

Svi objekti su po prirodi pravougaonog oblika pa se veličina jednostavno opisuje

Svojstva koja opisuju veličinu su: širina ( Width ),

Ukoliko se kontrola ne postavlja programski već u toku dizajna forme,

promena veličine se obavlja jednostavnim korišćenjem miša,

uz pomoć pravougaonika koji označava selektovanu kontrolu

Na pravougaoniku se mišem pritisne kvadratić zavisno od dimenzije koju želimo da promenimo,

a zatim se povlačenjem miša menja dimenzija kontrole

Funkcija Promena visine Promena širine

Promena i visine i širine u različitim pravcima

Dizajn kontrola

Drugi način da se promene parametri kontrole ( ne samo veličina ) je koristeći Properties prozor

Među svojstvima kontrole lako se prepoznaje svojstvo Size ispred koga se nalazi znak +

Ovaj znak,

omogućuje ekspandovanje stavke

Ispod ove stavke se nalaze posebno Width i Height

Naravno,

sva svojstva mogu se postavljati i programski

Bilo na samom startu pri kreiranju kontrola/formi,

Na primer: static void Main() { Form1 Fm = new Form1()

Size = new System

Drawing

Size(450,

Application

Run(Fm)

Bounds Pozicija zajedno sa veličinom smeštene su u jednom svojstvu kontrole koje se naziva Bounds

Ovo svojstvo daje pravougaonik kontrole/forme

U kodu ovim svojstvom lako se vrši repozicioniranje i promena veličine kontrole

Text Veoma korisno svojstvo svake kontrole/forme je Text

Naravno da postoji kod kontrola koje mogu prikazati tekst

Na primer,

kod kontrole labela Text svojstvo čuva tekst koji kontrola prikazuje

Kod kontrole dugme predstavlja tekst koji se prikazuje na dugmetu

kod forme predstavlja tekstualni sadržaj u naslovnoj liniji itd,

Promena ovog svojstva izvodi se u toku dizajna koristeći Properties prozor i biranjem Text polja a zatim ukucavanjem sadržaja

Obratite pažnju da je podrazumevani tekst u Unicode formatu,

lako možete koristiti srpska ili neka druga slova

Naravno da se tekst može menjati i programski

Na primer: static void Main() { Form1 Fm = new Form1()

Text = "Employment Application"

Size = new System

Drawing

Size(450,

Application

Run(Fm)

Visible Ranije smo pomenuli svojstvo koje određuje da li je kontrola vidljiva ili ne

Ovo svojstvo se naziva Visible a vrednosti su bulovog tipa ( Boolean type ) True/False

Ako kontrola nije vidljiva onda se uobičajeno kaže da je sakrivena

- hidden

Ovo svojstvo takodje se može programski menjati jednostavnim dodeljivanjem vrednosti

Ukoliko kontrola nije vidljiva onda nije ni dostupna – logično

Drugim rečima ona je za korisnika sa stanovišta unosa i prikaza informacija potpuno bez funkcije

To ne znači da su takve kontrole nepotrebne – naprotiv

U toku izvršavanja programa one se mogu učiniti vidljivim i dostupnim,

ili nevidljivim i nedostupnim,

u zavisnosti od toga kakva vrsta podataka se unosi i šta se sa kontrolom radi

Enabled Kada je kontrola vidljiva to ne znači obavezno da je i dostupna korisniku

Posebno svojstvo definiše da li kontrola može primiti ulaz od korisnika čak i kada je vidljiva

Ovo svojstvo se naziva Enabled i takođe je bulovog tipa

Ako je kontrola vidljiva,

a Enabled svojstvo postavljeno na vrednost false,

to znači da korisnik može samo čitati vrednosti te kontrole bez mogućnosti da ih menja

Podrazumevani izgled kontrole u tom slučaju je blago zasivljenje (dimmed)

Ovo svojstvo se često programski,

Obično kada unos nekih podataka povremeno (ili stalno) treba zabraniti,

Fokus kontrole i aktivan prozor Pojam fokusa i aktivnog prozora bitni su za razumevanje relacija među prozorima i za objašnjavanje nekih svojstava ( a kasnije i događaja )

Za kontrolu se kaže da je u fokusu ako kontrola može da primi ulaz sa tastature

Takvo stanje poseduju kontrole,

ali na primer i stavke u listi

Ono se može posebno grafički označiti što se u podrazumevanom vizuelnom podešavanju i radi

Dizajn kontrola

Pojam aktivnog prozora ne vezuje se za kontrolu koja pripada nekoj formi već za samu formu

Kontrola koja ima fokus nalazi se na aktivnom prozoru

Samo jedan prozor je aktivan u jednom trenutku

Na gornjoj slici dat je prikaz jednog primera

Jasno je da je Form1 aktivni prozor a textBox1 u fokusu i da se nalazi na tom prozoru

TabIndex i TabStop Ovde ćemo pomenuti još jedno veoma bitno svojstvo u programiranju na grafičkim okruženjima (GUI)

Ovo svojstvo nije vidljivo – bar ne na prvi pogled

Obično ga nazivamo tab redosled ili u origi