OSNOVE PROGRAMIRANJA

Size: px
Start display at page:

Download "OSNOVE PROGRAMIRANJA"

Transcription

1 OSNOVE PROGRAMIRANJA Struktura aplikacije Visual Basica Za svaku formu u aplikaciji postoji pripadajući modul forme (.frm) koji sadrži njen programski kod Modul forme sadži event procedure - dijelovi koda koji će se izvršiti kao odgovor na određene događaje (za svaku kontrolu na formi postoji skup event procedura) Moduli forme mogu sadržavati opće procedure koje će biti izvršene kao odgovor na poziv bilo koje event procedure 1

2 Programski kod koji nije vezan uz određenu formu ili objekt može se nalaziti u drugom tipu modula, standardnom modulu (.bas) i sadrži samo programski kod Modul klase (.cls) koristi se kod stvaranja objekata koji mogu biti pozivani od procedura unutar aplikacije, sadrži i kod i podatke (može se shvatiti kao kontrola koja nema vidljivi dio) 2

3 Način pisanja koda Moduli koda: forme standardni moduli moduli klase Svaki standardni modul, modul klase ili forme može sadržavati: Deklaracije - na razini svih vrsta modula mogu se postaviti deklaracije konstanti, tipova, varijabli i dinamički povezanih biblioteka (DLL-ova) Procedure (potprogrami). Sub, Function i Property procedure sadržavaju dijelove koda koji mogu biti izvršeni kao cjelina 3

4 Moduli Forme (.frm) Temeljsuvećine aplikacija u VB-u Mogu sadržavati event procedure, opće procedure, deklaracije varijabli, konstanti i tipova i vanjskih procedura na razini forme Standardni moduli (.bas) Spremnici su procedura i deklaracija obično pozvanih od drugih modula unutar aplikacije, mogu sadržavati općedeklaracije (dostupne cijeloj aplikaciji) ili deklaracije na razini modula za varijable, konstante, tipove, vanjske ili opće deklaracije. Standardni modul može biti korišten u više različitih aplikacija. 4

5 Moduli klase (.cls) Temelj su objektno orjentiranog programiranja u Visual Basicu U modulima klase može se upisivati programski kod za stvaranje novih objekata koji mogu imati vlastita svojstva (properties) i postupke (methods) Forme su samo moduli klase koji mogu imati kontrole postavljene na njih i mogu prikazivati prozor forme 5

6 Korištenje kodnog prozora Prozor u kojem ćete pisati većinu programskog koda. 6

7 Automatsko završavanje koda Auto List Members opcija - kad u programski kod upišete ime kontrole, pojavi se spuštajući popis svojstava dostupnih za tu kontrolu 7

8 Auto quick info - automatska brza pomoć prikazuje sintaksu naredbi i funkcija 8

9 Bookmarks (zabilješke) mogu biti upotrebljene za označavanje linija programskog koda tako da im se kasnije možete lako vratiti (u glavnom meniu Edit - Bookmarks) 9

10 Temelji kodiranja Lomljenje jedne linije u više linija - korištenjem oznake za nastavak linije ( _) razmak i podvučena linija. Iza oznake za nastavak linije ne smije se nalaziti komentar u istoj liniji Data1.RecordSource = _ "SELECT * FROM Titles, Publishers" _ & "WHERE Publishers.PubId = Titles.PubID" _ & "AND Publishers.State = 'CA'" Spajanje naredbi u jednoj liniji - u jednu liniju se može postaviti dvije ili više naredbi korištenjem dvotočke Text1.Text = "Hello" : Red = 255 : Text1.BackColor = _ Red 10

11 Dodavanje komentara u kod - simbol ' označavadase riječi koje se nalaze iza njega zanemare ' This is a comment beginning at the left edge of the ' screen. Text1.Text = "Hi!" ' Place friendly greeting in text ' box. 11

12 Razumijevanje sustava brojeva Ponekad je osim decimalnih prikladno koristiti i heksadecimalne (s bazom 16) i oktalne brojeve (s bazom 8) Visual Basic prikazuje heksadecimalne brojeve s prefiksom &H a oktalne s prefiksom &O. Heksadecimalni sustav koristi se za postavljanje boja ekrana i kontrola. 12

13 Uobičajeni načini nazivanja u Visual Basicu (procedura, varijabli, konstanti...) moraju počinjati slovom ne mogu sadržavati točku ili oznaku tipa podatka (posebni znakovi za određivanje tipa podatka) ne smiju biti dulji od 255 znakova, imena kontrola, formi, klasa i modula ne smiju biti dulji od 40 znakova ne smiju biti ista kao i ograničene ključne riječi 13

14 Uvod u varijable, konstante i tipove podataka Varijable Koriste za privremenu pohranu podataka tijekom rada aplikacije Imaju ime i tip podatka Varijabla se može shvatiti kao oznaka mjesta u memoriji za nepoznatu vrijednost 14

15 Deklariranje varijabli Deklarirati varijablu znači unaprijed reći aplikaciji o njoj. Varijable deklariramo naredbom Dim pridodajućijojime varijable Dim imevarijable [As tip] Varijable deklarirane unutar procedure naredbom Dim postoje samo dok se izvodi ta procedura Vrijednost varijable u proceduri je lokalna za tu proceduru, tj. ne možete pročitati varijablu jedne procedure iz druge procedure (ovo svojstvo omogućava korištenje istog imena varijabli u različitim procedurama) 15

16 Pravila za dodjeljivanje imena varijablama: moraju počinjati slovom ne mogu sadržavati točku ili oznaku tipa podatka (posebni znakovi za određivanje tipa podatka) ne smiju biti dulji od 255 znakova mora biti jedinstveno u svom opsegu (području u kojem varijabla može biti pozivana - proceduri, modulu ili sl.) 16

17 Još o varijablama: Neobavezan uvjet As tip dopušta deklariranje tipa podataka ili objekta. Tipovi podataka određuju vrstu informacije koju će varijabla čuvati. Varijable osim tipova podataka (String, Integer, Currency...) mogu sadržavati i objekte Visual Basica i drugih aplikacija (Object, Form, Text Box...) 17

18 Postoje i drugi načini deklariranja varijabli: deklariranje varijable u odjeljku Declarations forme, standardnog modula ili modula klase čini varijablu dostupnom svim procedurama u modulu deklariranje varijable korištenjem ključne riječi Public čini je dostupnom cijeloj aplikaciji deklariranje lokalne varijable korištenjem ključne riječi Static čuva vrijednost varijable dok program ne završi 18

19 Implicitna i eksplicitna deklaracija varijabli Implicitna deklaracija Ne morate deklarirati varijablu prije korištenja. Visual Basic automatski kreira varijablu tog imena. Zgodan ali opasan način jer pogrešno napisanu varijablu VB smatra kao novu Function SafeSqr(num) TempVal = Abs(num) SafeSqr = Sqr(TemVal) End Function 19

20 Eksplicitna deklaracija VB zahtijeva eksplicitnu deklaraciju varijabli VB upozorava kad otkrije ime koje nije izričito određeno kao varijabla To se postiže tako da se u Declarations odjeljak klase, forme ili standardnog modula postavi izraz Option Explicit ili se u izborniku Tools-Options-Editor potvrdi kućicazaizbor Require Variable Declaration Function SafeSqr(num) Dim TempVal TempVal = Abs(num) SafeSqr = Sqr(TemVal) End Function VB bi u ovom primjeru prikazao poruku pogreške za nepravilno napisano ime varijable 20

21 Razumijevanje područja varijabli Područje varijable određuje koji dijelovi vašeg programskog koda će biti svjesni njenog postojanja područje privatne (private) javne (public) Procedura Varijable su privatne za proceduru u Neprimjenjivo. Ne možete odrediti kojoj se pojavljuju javnu varijablu unutar procedure Modul Varijable su privatne za modul u kojem se pojavljuju Varijable su dostupne svim modulima Varijable unutar procedure: lokalne varijable prepoznatljive samo unutar procedure u kojoj se nalaze deklariraju se sa Dim (postoje dok se izvršava procedura) ili Static (postoje cijelo vrijeme rada aplikacije) može se koristiti isto ime za lokalnu varijablu unutar više procedura 21

22 Varijable unutar modula dostupne svim procedurama unutar modula deklariraju se sa Private ili Dim u Declarations odjeljku modula na vrhu programskog koda modula Private inttemp As Integer Varijable za sve module da bi varijable na razini modula učinili dostupnima ostalim modulima upotrebljava se riječ Public za deklariranje varijable Public inttemp As Integer 22

23 Napredne teme o varijablama Javne protiv lokalnih varijabli Mogu postojati varijable istog imena u različitim područjima, npr: javnu varijabla imena Temp, i lokalnu varijablu unutar procedure imena Temp Pozivanje varijable Temp unutar procedure će pristupiti lokalnoj varijabli, a pozivanje varijable Temp izvan procedure će pristupiti javnoj varijabli. Javna varijabla na razini modula može biti pozvana iz procedure određivanjem te varijable s imenom modula. 23

24 Public Temp As Integer Sub Test() Dim Temp As Integer Temp = 2 ' Temp has a value of 2. MsgBox Form1.Temp ' Form1.Temp has a value of 1. End Sub Private Sub Form_Load() Temp = 1 ' Set Form1.Temp to 1. End Sub Private Sub Command1_Click() Test End Sub Općenito kad varijable imaju isto ime ali različito područje djelovanja, lokalnija varijabla uvijek zasjenjuje (prije joj se pristupa) manje lokalnu varijablu. 24

25 Zasjenjivanje svojstava forme i kontrola Unutar modula forme, lokalne varijable koje imaju isto ime kao i kontrola na formi, zasjenjuju te kontrole: Private Sub Form_Click() Dim Text1,BackColor Pretpostavimo da postoji i kontrola na formi nazvana Text1. Text1 = Variable Varijabla zasjenjuje kontrolu. Me.Text1 = Control Morate označiti s Me za pristup kontroli. Text1.Top = 0 Ovo će izazvati pogrešku! Me.Text1.Top = 0 Morate označiti s Me za pristup kontroli BackColor = 0 Me.BackColor = 0 End Sub Varijabla zasjenjuje kontrolu. Morate označiti s Me za pristup svojstvu kontrole. 25

26 Korištenje varijabli i procedura istog imena Varijabla u modulu ne može imati isto ime kao i bilo koja procedura ili tip postavljen u modulu, ali može imati isto ime kao i javna procedura, tip ili varijabla iz drugog modula U tom slučaju kad se pristupa varijabli iz drugog modula ona mora biti označena imenom modula Bolje je u modulima forme koristiti imena varijabli drugačija od imena kontrola na toj formi 26

27 Statičke varijable Osim područja djelovanja varijable imaju i vrijeme trajanja (vrijeme tijekom kojeg zadržavaju svoju vrijednost). Javne varijable i varijable na razini modula - čuvaju se cijelo vrijeme trajanja aplikacije Lokalne varijable deklarirane sa Dim postoje samo za vrijeme izvođenja procedura u kojoj su deklarirane Statičke varijable su lokalne varijable deklarirane sa neredbom Static ali za razliku od onih deklariranih sa Dim čuvaju vrijednost za čitavo vrijeme trajanja aplikacije Function RunningTotal(num) Static ApplesSold ApplesSold = ApplesSold + num RunningTotal = ApplesSold End Function 27

28 Isti rezultat mogli ste dobiti i deklariranjem varijable ApplesSold na razini modula, ali u tom slučaju pošto je to javno dostupna varijabla na razini modula postoji opasnost da joj ostale procedure mogu pristupiti i promijeniti vrijednost Kako bi sve lokalne varijable u proceduri učinili statičkim, postavite naredbu Static na početak poglavlja procedure, pa će sve lokalne varijable u proceduri biti statičke bez obzira da li će biti deklarirane sa Static, Dim ili Private. Static Function RunningTotal(num) 28

29 Konstante Konstanta je smisleno ime koje zauzima mjesto broja ili teksta koji se neće mijenjati, a koristi se radi poboljšanja čitljivosti koda i radi lakšeg održavanja. Postoje dvije vrste konstanti: Ugrađene ili sistemski određene konstante dane od aplikacija i kontrola (popisane su u bibliotekama objekata VB i VBA u Object browseru i počinju sa prefiksom vb) Simbolične ili korisnički određene konstante se postavljaju korištenjem naredbe Const Može se desiti da dvije biblioteke objekata imaju istoimene konstante različitih vrijednosti, pa da bi se izbjegla greška poziv konstante se može odrediti slijedećom sintaksom: [imebiblioteke.][imemodula.]imekonstante 29

30 Stvaranje vlastitih konstanti Pravila za dodjeljivanje imena su ista kao i za varijable [Public Private] Const constantname[as type] = expression Expression - sastoji od broja ili teksta te operatora, te u njemu ne možete koristiti pozive funkcija. Const conpi = Public Const conmaxplanets As Integer = 9 Const conreleasedate = #1/1/95# Public Const conversion = "07.10.A" Const concodename = "Enigma Možete čak i odrediti konstante pozivom prethodno određenih konstanti: Const conpi2 = conpi * 2 30

31 Za područje korisnički određenih konstanti vrijede ista pravila kao i za varijable 31

32 Tipovi podataka Osim imena, varijable imaju i tip podatka koji određuje kakav podatak može biti pohranjen u nju Tip podatka varijable određuje kako će u računalnoj memoriji biti posloženi bitovi koji sadrže podatak. Ako ne odredite tip podatka varijabla će biti određena tipom podatka Variant. Variant može sadržavati puno različitih tipova podataka u različitim situacijama. Bolje je ako znate da će varijabla uvijek sadržavati podatke određenog tipa dodijeliti tip varijabli. Osim varijablama tipovi podataka dodjeljuju se i argumentima funkcija, matricama... 32

33 Private I As Integer Dim Amt As Double Static YourName As String Public BillsPaid As Currency U liniji Declarations odjeljka može biti više definicija Private I As Integer, Amt As Double Private YourName As String, BillsPaid As Currency Private Test, Amount, J As Integer 33

34 Brojčani tip podatka Integer (cijeli broj) - 16 bita (2 bajta) - % Long (dugi cijeli broj) - 32 bita (4 bajta) - & - za varijable sa decimalnim dijelom: Single (jednostruka preciznost pomičnog zareza) -32 bita (4 bajta) -! Double (dvostruka preciznost pomičnog zareza) - 64 bita (8 bajta) - # Currency (valuta - do 4 znamenke desno od decimalnog zareza i petnaest znamenki lijevo) - precizan tip podatka s nepomičnim zarezom - 64 bita (8 bajta) 34

35 Single i Double - veći opseg od Currency ali manja preciznost Single i Double mogu biti izraženi kao: mmmeeee (za Single), npr E+38 ( *10 38 ) mmmdeee (za Double), npr D+308 (1.797* ) gdje mmm predstavlja mantisu a eee eksponent (potenciju broja 10). 35

36 Tip podatka Byte Ako varijabla sadrži binarne podatke, odredite je kao matricu tipa Byte Opseg tipa Byte (0-255) U memoriji zauzima 8 bita (1 bajt) 36

37 Tip podatka String Varijabla koja uvijek sadržava tekst, a nikad brojčanu vrijednost definira se tipom String On je u pravilu promjenljive duljine, a može se definirati i string stalne duljine sintaksom String * veličina Dim Ime As String * 50 string koji će uvijek biti dug 50 karaktera, ako mu dodijelimo manje, on će sadržavati razmake, ako mu dodijelimo više, Visual Basic će odbaciti višak 37

38 Razmjena stringova i brojeva Moguće je dodijeliti string brojčanoj vrijednosti, i brojčanu vrijednost varijabli stringa: Private Sub Command1_Click() Dim intx As Integer Dim stry As String stry = "100.23" intx = stry Prosljeđivanje stringa brojčanoj varijabli. List1.AddItem Cos(strY) Ispisuje kosinus broja u stringu u okvir s popisom. stry = Cos(strY) Prosljeđuje kosinus u varijablu stringa Text1.Text = stry Varijabla stringa se ispisuje u text box-u End Sub 38

39 Visual Basic će automatski prilagoditi varijable prikladnom tipu podatka Treba biti oprezan kod razmjene stringova i brojeva, prosljeđivanje vrijednosti koja nije brojčana u string u ovom primjeru uzrokovat će pojavu pogreške tijekom izvođenja. 39

40 Tip podatka Boolean Varijabla koja će sadržavati točno/netočno, da/ne, uključeno /isključeno informaciju Default vrijednost Boolean tipa je False U memoriji zauzima 16 bita (2 bajta) 40

41 Tip podatka Date Dodjeljuje se varijablama koje sadrže datum Kad se ostali brojčani tipovi podataka pretvaraju u tip Date, vrijednosti lijevo od decimalne točke predstavljaju podatak datuma, dok vrijednosti s desne strane decimalne točke predstavljaju vrijeme U memoriji zauzima 64 bita (8 bajta) 41

42 Tip podatka Object Spremaju se u memoriji kao 32-bitne adrese koje označuju objekte unutar vaše ili neke druge aplikacije Varijabla definirana kao Object kasnije može biti određena naredbom Set tako da pokazuje na bilo koji postojeći objektprepoznatodaplikacije Dim objdb As Object Set objdb = OpenDatabase( c:\vb6\biblio.mdb ) Umjesto varijable tipa Object bolje je koristiti određene klase (kao TextBox umjesto Control ili Database umjesto Object) Kad radite s objektima drugih aplikacija, umjesto korištenja tipa Variant ili općenitog tipa Object, odredite objekte onako kako su ispisani u popisu klasa unutar Object Browsera 42

43 Tip podatka Variant Varijabla tipa Variant je sposobna spremiti sve sistemski određene tipove podataka, a Visual Basic izvodi sve potrebne pretvorbe Dim NekaVrijednost podrazumijevano Variant NekaVrijednost = 17 NekaVrijednost sdržava 17 (dvoslovni string) NekaVrijednost = NekaVrijednost 15 NekaVrijednost sad sadrži brojčanu vrijednost 2. NekaVrijednost = U & NekaVrijednost NekaVrijednost sad sadrži U2 (dvoslovni string) Iako možete izvoditi ovakve radnje na varijablama tipa Variant bez puno brige o tipu podatka koji sadrže, postoje neke zamke koje bi trebalo zaobići: Kod izvođenja aritmetičkih operacija na varijablama tipa variant, ona mora sadržavati neku brojčanu vrijednost Ako spajate stringove umjesto operatora + upotrijebite operator & 43

44 Tip Variant može sadržavati i tri posebne vrijednosti: Empty, Null i Error: Empty - varijabla tipa variant ima vrijednost Empty prije nego joj se neka vrijednost doda If IsEmpty(Z) Then Z=0 Null - se obično koristi u aplikacijama baza podataka za ukazivanje na nepoznati ili nepostojeći podatak. Vrijednost Null ima neke jedinstvene osobine: Izrazi koji uključuju vrijednost Null uvijek će kao rezultat dati vrijednost Null Prosljeđivanje Null-a, varianta koji sadrži Null ili izraza koji rezultira sa Null, kao argument većini funkcija, uzrokuje rezultatom funkcije Null Null se širi kroz ugrađene funkcije koje vraćaju podatke tipa Variant 44

45 Z=Null If IsNull(X) And IsNull(Y) Then Z = Null Else Z = 0 End If Vrijednost Null može se dodijeliti samo varijabli tipa Variant. Kao rezultat bilo koje Function procedure možete dobiti vrijednost Null ako je rezultat spremljen u varijabli tipa Variant Error - posebna vrijednost koja se u varijabli tipa Variant koristi za ukazivanje na stanje pogreške koja se pojavila u proceduri što omogućava poduzimanje postupaka temeljenih na vrijednosti pogreške 45

46 Pretvaranje tipova podataka Funkcija pretvaranja Cbool Cbyte Ccur Cdate CDbl Cint CLng CSng CStr Cvar CVErr Pretvara izraz u tip Boolean Byte Currency Date Double Integer Long Single String Variant Error Vrijednosti koje prosljeđujete funkcijama za pretvorbu moraju biti ispravne za tip podatka u koji će biti pretvorene ili će se pojaviti pogreška 46

47 Uvod u procedure Aplikacija u Visual basicu sastoji se od manjih logičkih dijelova nazvanih procedurama (potprogramima) Dvije su velike prednosti programiranja s procedurama: dopuštaju razbijanje aplikacija u zasebne logičke cjeline mogu se upotrijebiti kao blokovi za izgradnju drugih aplikacija Vrste procedura: Sub procedure - ne vraćaju vrijednost Function procedure - vraćaju vrijednost Property procedure - vraćaju i dodjeljuju vrijednosti i postavljaju pokazivače prema objektima 47

48 Sub procedure Sub procedura je dio programskog koda koji se izvršava kao odgovor na događaj [Private Public][Static]Sub imeprocedure (argumenti) izrazi End Sub Sub procedure mogu biti postavljeni u standardnim modulima, modulima klase i modulima forme. Sub procedure su u pravilu tipa Public u svim modulima što znači da mogu biti pozvani bilo gdje iz aplikacije. 48

49 Dva su tipa Sub procedura: opće procedure (general procedures) procedure događaja (event procedures) 49

50 Opće procedure (general procedures) Kazuju aplikaciji kako izvršiti određeni zadatak. Kad se jednom odredi opća procedura, nju mora pozvati aplikacija Kreiraju se zbog moguće potrebe izvođenja iste akcije u različitim procedurama događaja (event procedurama) Dobra strategija programiranja je postavljanje zajedničkih izraza u odvojenu proceduru (opću proceduru) te omogućavanje procedurama događajadaihpozivaju 50

51 Procedure događaja (event procedures) Kad objekt u Visual Basicu prepozna pojavljivanje događaja, automatski poziva proceduru događaja s imenom jednakom događaju ime procedure događaja kontrole sastoji se od imena kontrole, podvlake (_), i imena događaja cmdplay_click ime procedure događaja forme sastoji se od riječi Form, podvlake i imena događaja Form_Click MDIForm_Load (za MDI formu) Visual Basic sam automatski kreira predloške za event procedure tako da se u okviru s popisom objekata odabere objekt, a zatim se u okviru s popisom procedura za taj objekt odabere procedura. 51

52 Function procedure Visual Basic sadrži ugrađene ili stvarne funkcije kao što su Sqr, Cos ili Chr Za pisanje vlastite procedure tipa Function možete upotrijebiti naredbu Function [PrivateđPublic][Static]Function procedurename (arguments) [As type] statements End Function Function procedure su odvojene procedure koje mogu prihvatiti argumente, izvršiti niz izraza i promijeniti vrijednost njenih argumenata Function procedure mogu vratiti neku vrijednost proceduri iz koje su pozvani 52

53 Funkciju pozivate postavljanjem imena Function procedure s argumentima na desnu stranu veće naredbe ili izraza ( povratnavrijednost=funkcija() ) Function procedure imaju tipove podataka kao i varijable. Tako je određen i tip povratne vrijednosti Vrijednost vraćate dodjeljujući je samom imenu Function procedure (imepotprograma) Function Hypotenuse (A As Integer, B As Integer) As String Hypotenuse = Sqr(A ^ 2 + B ^ 2) End Function 53

54 Rad s procedurama Pozivanje Sub procedure Ne možete je pozvati korištenjem njenog imena unutar izraza Poziv Sub procedure je samostalni izraz Sub procedura ne vraća vrijednost u svom imenu kao funkcija, ali subprocedure mogu mijenjati vrijednosti bilo koje varijable koja im je proslijeđena Dva su načina pozivanja Sub procedure: Call MyProc (FirstArgument, SecondArgument) MyProc FirstArgument, SecondArgument 54

55 Pozivanje Function procedure All of the following statements would call a function named ToDec Print 10 * ToDec X = ToDec If ToDec = 10 Then Debug.Print "Out of Range" X = AnotherFunction(10 * ToDec) Također je moguće pozvati funkciju na isti način kao i Sub proceduru: Call Year(Now) Year Now 55

56 Pozivanje procedura u drugim modulima Procedure u formama (moraju pokazivati na modul forme u kojem se nalazi procedura) Call Form1.SomeSub(arguments) Procedure u modulima klase. Pozivanje procedure u modulu klase zahtijeva da poziv procedure bude označen varijablom koja pokazuje na pojavu klase. DemoClass je pojava klase Class1. Dim DemoClass as New Class1 DemoClass.SomeSub Za razliku od forme ime klase ne smije biti korišteno kao pokazivač kod poziva procedure iz te klase. Pojava klase mora prvo biti određena kao varijabla objekta (u ovom slučaju DemoClass), pa onda pozvana imenom varijable. 56

57 Procedure u standardnim modulima Ako je ime procedure jedinstveno, u poziv ne morate uključiti i ime modula, poziv unutar ili izvan modula će uvijek ukazivati na tu jedinstvenu proceduru Ako dva ili više modula sadrže procedure istog imena, treba ih označiti s imenom modula Modul2.ObicnoIme(argumenti) 57

58 Prosljeđivanje argumenata procedurama Programski kod u proceduri obično treba neku informaciju o stanju aplikacije kako bi obavila svoj posao. Takva informacija se obično sastoji od varijabli koje se prosljeđuju proceduri kad je se poziva. Kad se varijabla prosljeđuje proceduri ona se naziva argument Ako se drukčije ne navede, argumenti su tipa Variant, a mogu biti i bilo kojeg drugog tipa 58

59 Prosljeđivanje argumenata s vrijednošću (By Value) Kad se argument proslijedi s vrijednošću, prosljeđuje se samo kopija varijable Ako joj procedura promijeni vrijednost, promjena utječe samona kopiju a ne na samu varijablu KoristimoByVal kako bi ukazali na argument kojem je dodijeljena vrijednost. Sub PostAccounts(ByVal intacctnum as Integer).. ' Ovdje postavite izraze. End Sub 59

60 Prosljeđivanje argumenta upućivanjem (By Reference) Prosljeđivanje argumenta upućivanjem daje proceduri pristup stvarnom sadržaju varijable na položaju njezine memorijske adrese Kao rezultat, vrijednost varijable može biti trajno promijenjena od procedure kojoj je proslijeđena Ovaj način prosljeđivanja je standardni način u Visual Basicu Ako definirate tip podatka argumenta proslijeđenog upućivanjem, u argument morate staviti vrijednost takvog tipa Ovo načelo možete zaobići tako da proslijedite izraz umjesto podatka kao argument 60

61 Sub PozivPotprograma() Dim intx As Integer intx = 12 * 3 Napisi(intX) End Sub Sub Napisi(Traka As String) MsgBox Traka Vrijednost varijable Traka je string 36. End Sub 61

62 Korištenje neobaveznih argumenata Argumente procedure možete odrediti kao neobavezne postavljanjem naredbe Optional u popisu argumenata Ako odredite neobavezan argument, slijedeći argumenti u popisu argumenata također moraju biti neobavezni i određeni naredbom Optional Dim strname As String Dim straddress As String Sub ListText(Optional x As String, Optional y _ As String) List1.AddItem x List1.AddItem y End Sub 62

63 Private Sub Command1_Click() strname = "yourname" straddress = Pribavljena su oba argumenta. Call ListText(strName, straddress) End Sub 63

64 Slijedeći kod ne pribavlja sve neobavezne argumente: Dim strname As String Dim varaddress As Variant Sub ListText(x As String, Optional y As Variant) List1.AddItem x If Not IsMissing(y) Then List1.AddItem y End If End Sub Private Sub Command1_Click() strname = "yourname" Call ListText(strName) End Sub Drugi argument nije pibavljen Prethodni primjer pokazuje kako provjeriti nedostaje li neki neobavezni argument korištenjem funkcije IsMissing. 64

65 Pribavljanje standarda za neobavezni argument Također je moguće odrediti standardnu vrijednost za neobavezni argument, ako neobavezni argument ne bude proslijeđen proceduri: Sub ListText(x As String, Optional y As Integer = 12345) List1.AddItem x List1.AddItem y End Sub Private Sub Command1_Click() strname = "yourname" Drugi argument nije pribavljen Call ListText(strName) Dodaje "yourname i "12345" End Sub 65

66 Korištenje neodređenog broja argumenata Broj argumenata u pozivu procedure mora biti isti kao i u određivanju procedure Korištenje naredbe ParamArray omogućuje vam da odredite kako će procedura prihvatiti neodređen broj argumenata Dim x As Integer Dim y As Integer Dim intsum As Integer Sub Sum(ParamArray intnums()) For Each x In intnums y = y + x Next x intsum = y End Sub Private Sub Command1_Click() Sum 1, 3, 5, 7, 8 List1.AddItem intsum End Sub 66

67 Stvaranje jednostavnijih izraza s imenovanim argumentima Zavećinu ugrađenih funkcija, izraza i postupaka Visual Basic pruža mogućnost korištenja imenovanih argumenata kao prečica za pisanje vrijednosti argumenta S imenovanim argumentom možete pribaviti bilo koji ili sve argumente, bilo kojim redom, dodjelom vrijednosti imenovanom argumentu na slijedeći način: MojArgument:="Neka vrijednost Function ListText(strName As String, Optional straddress As _ String) List1.AddItem strname List2.AddItem straddress End Sub Private Sub Command1_Click() ListText straddress:= 12345, strname:="your Name" End Sub 67

68 Uvod u strukturu kontrola Strukture odluke Procedure Visual Basica mogu ispitivati uvjete te ovisno o rezultatima ispitivanja, izvesti različite operacije. Strukture odluke koje Visual Basic podržava uključuju: If...Then If...Then...Else Select Case 68

69 If...Then Sintaksa s jednom linijom Sintaksa višelinijskog bloka If uvjet Then izraz If uvjet Then izrazi End If Uvjet Visual Basic tumači kao vrijednost True ili False Uvjet je obično usporedba ali može biti bilo koji izraz koji se tumači kao brojčana vrijednost Brojčana vrijednost nule jednaka je False, a svaka brojčana vrijednost različita od nule smatra se kao True Ako je uvjet jednak True, VB izvršava sve naredbe koje slijede naredbu Then 69

70 If...Then...Else If...Then...Else blok se upotrebljava za određivanje nekoliko blokova izraza, od kojih će se izvršiti jedan: If uvjet1 Then [blokizraza-1] [ElseIf uvjet2 Then [blokizraza-2]]... [Else [blokizraza-n]] End If Blok izraza koji počinje naredbom Else, će Visual Basic izršiti ako ni jedan od uvjeta ne da rezultat True If...Then...ElseIf je samo poseban slučaj If...Then...Else 70

71 Na primjer vaša aplikacija mogla bi izvesti različite akcije ovisno o tome koja je kontrola kliknuta. Private Sub mnucut_click (Index As Integer) If Index = 0 Then Cut command. CopyActiveControl Call general procedures. ClearActiveControl ElseIf Index = 1 Then Copy command. CopyActiveControl ElseIf Index = 2 Then Clear command. ClearActiveControl Else Paste command. PasteActiveControl End If End Sub 71

72 Select Case Alternativa strukturi If...Then...Else, ali je programski kod čitljiviji kad postoji više izbora Select Case testexpression [Case expressionlist1 [statementblock-1]] [Case expressionlist2 [statementblock-2]]... [Case Else [statementblock-n]] End Select 72

73 Primjer: Private Sub mnucut_click (Index As Integer) Select Case Index Case 0 ' Cut command. CopyActiveControl ' Call general procedures. ClearActiveControl Case 1 ' Copy command. CopyActiveControl Case 2 ' Clear command. ClearActiveControl Case 3 ' Paste command. PasteActiveControl Case Else frmfind.show ' Show Find dialog box. End Select End Sub IzrazSelect Case ocjenjuje izraz jednom na početku strukture dok struktura If...Then...Else može ocijeniti različit izraz u svakom izrazu ElseIf 73

74 Strukture petlje Strukture petlje omogućuju vam ponavljajuće izvođenje jedne ili više linija programskog koda Strukture petlje koje VB podržava uključuju: Do...Loop For...Next For Each...Next 74

75 Do...Loop Upotrijebite petlju tipa Do za izvođenje bloka izraze neodređeni broj puta. Postoji nekoliko varijacija izraza Do...Loop, ali svaka ocjenjuje brojčani uvjet kako bi odlučila hoće li nastaviti izvođenje. Kao i kod strukture If...Then, uvjet mora biti vrijednost ili izraz koji se može ocijeniti kao False (nula) ili True (različit od nule). Do While uvjet izrazi izrazi će se izvršavati sve dok uvjet ima vrijednost True Loop Akouvjet ima vrijednost False (nula), preskaču se svi izrazi. 75

76 Ako uvjet ima vrijednost True (različit od nule), Visual Basic izvršava sve izraze i zatim se vraća na naredbu Do While te ponovno provjerava uvjet Naredbe se nikad ne izvode ako uvjet ima početnu vrijednost False. 76

77 Function BrojiStringove (dugistring, cilj) Dim položaj, brojač položaj = 1 InStr vraća pol. prvog pojav. cilja Do While InStr(položaj, dugistring, cilj) položaj = InStr(položaj, dugistring, cilj)+ 1 brojač = brojač + 1 Loop BrojiStringove = brojač End Function Ako ciljni string ne postoji u drugom stringu, funkcija InStr ćeimati vrijednost 0, i petlja se neće izvršiti. 77

78 Ovakva varijacija garantira barem jedno izvođenje izraza: Do izrazi Loop While uvjet Dvije druge varijacije su slične prethodnim dvjema, osim što se petlja vrti sve dok je vrijednost uvjeta False, a ne True. petlja nikad ili više puta Do Until uvjet izrazi Loop petlja barem jednom Do izrazi Loop Until uvjet 78

79 For...Next Petlja For...Next je bolji izbor od Do...While kad znate da morate izvesti izraze određen broj puta Za razliku od petlje tipa Do...Loop, Petlja tipa For koristi varijablu nazvanu brojač kojoj se vrijednost povećava ili smanjuje kod svakog ponavljanja petlje For brojač = početak To kraj [Step korak] izrazi Next [brojač] Svi argumenti brojač, početak, kraj i korak su brojčani. Argument korak može biti pozitivan ili negativan. 79

80 Akojekorak pozitivan,početak mora biti manji ili jednak kraju ili se izrazi unutar petlje neće izvršiti. Akojekorak negativan, početak mora biti veći ili jednak kraju kako bi se izveo glavni dio petlje. Ako Step nije zadan, vrijednost koraka je 1. 80

81 Private Sub Form_Click() Dim I As Integer For I = 0 To Screen.FontCount Print Screen.Fonts(I) Next End Sub Sub HightlightButton(MyControl As Variant) Dim i As Integer For i = 0 To frmvcr.controls.count 1 If TypeOf frmvcr.controls(i) Is Shape Then If frmvcr.controls(i).name = MyControl Then frmvcr.controls(i).visible = True Else frmvcr.controls(i).visible = False End If End If Next End Sub 81

82 For Each...Next Petlja tipa For Each...Next je slična petlji tipa For...Next, ali ponavlja grupu izraza za svaki element u kolekciji elemenata ili u matrici umjesto ponavljanja izraza određen broj puta Ovaj način je posebno koristan ako ne znate koliko se elemenata nalazi u kolekciji For Each element In grupa izrazi Next element 82

83 Sub ListTableDefs() Dim objdb As Database Dim MyTableDef As TableDef Set objdb = OpenDatabase( c:\vb\biblio.mdb _, True, False) For Each MyTableDef In objdb.tabledefs() List1.AddItem MyTableDef.Name Next MyTableDef End Sub 83

84 Kod korištenja petlji tipa For Each...Next imajte na umu sljedećaograničenja: Za kolekcije, element može biti smo varijabla tipa Variant, opća varijabla tipa Object ili objekt ispisan u pretraživaču objekata. Za matrice, element može biti smo varijabla tipa Variant. Ne možete koristiti petlju tipa For Each...Next s matricama korisničkog tipa jer varijabla tipa Variant ne može sadržavati korisnički tip podatka. 84

85 Rad s strukturama kontrola Ugniježđene strukture kontrola Možete postaviti strukture kontrola unutar drugih struktura kontrola (kao blok If...Then unutar petlje tipa For...Next) Za strukturu kontrole koja je postavljena unutar druge strukture kontrole kaže se da je ugniježđena Strukture kontrola u Visual Basicu mogu biti ugniježđene u proizvoljnom broju razina Uobičajenajepraksauvući tijelo strukture ili petlje kako bi ugniježđene strukture odluka ili petlje bile čitljivije 85

86 Private Sub Form_Click() Dim EPismo, TPismo For Each EPismo In Screen.Fonts() For Each TPismo In Printer.Fonts() If EPismo = TPismo Then Print EPismo End If Next TPismo Next EPismo End Sub Prva naredba Next zatvara unutarnju petlju tipa For a posljednja naredba Next zatvara vanjsku petlju tipa For Slično je i sa ugniježđenim petljama If...End If i Do Loop 86

87 Izlaz iz strukturne kontrole Naredba Exit omogućuje vam direktan izlaz iz petlji tipa For i Do, te potprograma tipa Sub i Function. Sintaksa naredbe Exit je jednostavna; izraz Exit For može se pojaviti koliko je potrebno puta unutar petlje tipa For, a izraz Exit Do može se pojaviti koliko je potrebno puta unutar petlje tipa Do For brojač = početak To kraj [Step korak] [blokizraza] [Exit For] [blokizraza] Next [brojač[, brojač][,...]] Do [{While Until} uvjet] [blokizraza] [Exit Do] [blokizraza] Loop 87

88 Private Sub Form_Click() Dim EPismo, TPismo For Each EPismo In Screen.Fonts() For Each TPismo In Printer.Fonts() If EPismo = TPismo Then Print EPismo Exit For Izlaz iz unutarnje petlje. End If Next TPismo Next EPismo End Sub Efikasnija verzija dane funkcije će izaći iz petlje čim se pronađe prvo zajedničko pismo Kao što pokazuje ovaj primjer, naredba Exit gotovo se uvijek pojavljuje unutar petlji tipa If ili Select Case ugniježđenih unutar druge petlje 88

89 Izlaz iz potprograma tipa Sub ili Function IzrazExit Sub se može pojaviti potreban broj puta, bilo gdje unutar tijela potprogramatipasub (istovrijedii zaexit Function unutar potprograma tipa Function) Izrazi Exit Sub i Exit Function su korisni kad je potprogram napravio sve što je trebao i može se trenutno vratiti program ispisuje samo prvo pismo zajedničko pisaču i ekranu koje nađe Private Sub Form_Click() Dim EPismo, TPismo For Each EPismo In Screen.Fonts() For Each TPismo In Printer.Fonts() If EPismo = TPismo Then Print EPismo Exit Sub Izlaz iz potprograma. End If Next TPismo Next EPismo End Sub 89

90 Matrice Matrice su nizovi varijabli koje imaju isto ime, ali koriste broj (indeks) koji ih razlikuje Matrice imaju donje i gornje granice. Svi elementi matrice imaju isti tip podatka. Možete odrediti matricu bilo kojeg osnovnog tipa podatka, uključujući i korisnički definirane tipove. Postoje dvije vrste matrica: matrice stalne veličine (uvijek ostaju iste veličine) tri su načina definiranja matrice stalne veličine: - Public za stvaranje javne matrice (u declarations sectionu modula) 90

91 - Private za stvaranje matrice na području modula (u declarations sectionu modula) - Private za stvaranje lokalne matrice (u proceduri) dinamičke matrice (veličina im se može mijenjati tijekom rada aplikacije) Kod matrica varijabli (o kojima se sada govori) ne mogu se ubacivati ni vaditi elementi iz sredine matrice za razliku od matrica kontrola koje određujemo postavljanjem svojstva Index kontrole tijekom izrade aplikacije. 91

92 Određivanje gornje i donje granice matrice Gornja granica ne smije biti izvan opsega tipa podatka Long (od 2,147,483,648 do 2,147,483,647). Dim Brojač(14) As Integer Dim Zbrojevi(20) As Double 15 elemenata s indeksima od 0 do element s indeksima od 0 do 20 Standardna donja granica je 0 ako drukčije izričito ne navedemo, npr: Dim Brojač(1 To 15) As Integer Dim Zbrojevi(100 To 120) As String 92

93 Matrice koje sadrže druge matrice Moguće je stvoriti matricu tipa Variant i napuniti je drugim matricama drugačijeg tipa podatka. Private Sub Command1_Click() Dim intx As Integer Definiranje varijable brojača. Definiranje i popunjavanje matrice s cijelim brojevima. Dim countersa(5) As Integer For intx = 0 To 4 countersa(intx) = 5 Next intx Definiranje i popunjavanje matrice sa stringovima. Dim countersb(5) As String For intx = 0 To 4 countersb(intx) = "hello Next intx Dim arrx(2) As Variant Definiranje nove matrice sa dva elementa 93

94 arrx(1) = countersa() arrx(2) = countersb() MsgBox arrx(1)(2) MsgBox arrx(2)(3) End Sub Popunjavanje ove matrice sa prethodne dvije matrice. Prikaz članova 94

95 Višedimenzionalne matrice dvodimenzionalna matrica veličine 10 puta 10 Static Matrica (9, 9) As Double dvodimenzionalna matrica veličine 10 puta 10 sa izričitim donjim granicama Static Matrica (1 To 10, 1 To 10) As Double trodimenzionalna matrica čiji ukupni broj elemenata je umnožak 4*10*15=600 Dim MultiD(3, 1 To 10, 1 To 15) 95

96 Dinamičke matrice Dinamičke matrice su jedna od najelastičnijih i najprikladnijih osobina Visual Basica Imaju sposobnost promjene veličine tijekom rada - djelotvornije se iskorištava memorija Kako stvoriti dinamičku matricu: Definirajte matricu jednim od prije navedenih načina dajućijoj praznu listu dimenzija Dim DinMatrica() Postavite potreban broj elemenata naredbom ReDim ReDim DinMatrica(X+1) 96

97 Naredba ReDim može se pojaviti samo unutar procedure Svaka naredba ReDim može mijenjati broj elemenata, kao i donje i gornje granice, svakoj dimenziji, ali broj dimenzija matrice ne može biti promijenjen ReDim DinMatrica(4 To 12) Granice dinamičke matrice mogu biti određene koristeći varijable: ReDim DinMatrica(X, Y) 97

98 Čuvanje sadržaja dinamičkih matrica Svaki put kad izvršite naredbu ReDim, sve vrijednosti trenutno spremljene u matrici su izgubljene Visual Basic postavlja sve vrijednosti matrice na Empty (u matrice tipa Variant), nulu (u brojčane matrice), prazni string (u matrice stringa) ili Nothing (u matrice objekata). Ako želite promijeniti veličinu matrice bez gubljenja podataka u njoj koristite naredbu ReDim zajedno s naredbom Preserve ReDim Preserve DinMatrica(UBound(DinMatrica)+1) Korištenjem naredbe Preserve možete promijeniti samo gornju granicu posljednje dimenzije u višedimenzionalnoj matrici ReDim Preserve Matrica(10,UBound(Matrica,2)+1) 98

99 Rad s objektima Kod stvaranja aplikacije u Visual Basicu možete: Koristiti objekte koje pruža Visual Basic kao što su kontrole, forme i objekti za pristup podacima Koristiti objekte drugih aplikacija Stvoriti vlastite objekte, i odrediti im pripadajuća svojstva i postupke 99

100 Što je objekt? Objekt je kombinacija programskog koda i podataka koji mogu biti obrađivani kao cjelina Objekt može biti dio aplikacije, kao kontrola ili forma. Cijela aplikacija također može biti objekt primjer objekta Naredbeni gumb Forma Baza podataka Dijagram opis Kontrole na formi, kao naredbeni gumb i okviri, su objekti Svaka forma u projektu Visual Basica je zaseban objekt Baze podataka su objekti, i sadrže druge objekte, kao polja i indekse Dijagram u Microsoft Excelu je objekt. 100

101 Otkud dolaze objekti? Svaki objekt u Visual Basicu je određen klasom Odnos između klasa i objekata u Visual Basicu bi mogla pojasniti ova dva primjera: Kontrole u alatnom okviru Visual Basica predstavljaju klase. Objekt poznat kao kontrola ne postoji dok ga ne stvorite na formi. Kad stvorite kontrolu, stvorili ste kopiju primjera klase te kontrole. Taj primjer klase je objekt kojeg pozivate u svojoj aplikaciji. Forma s kojom radite za vrijeme stvaranja aplikacije je klasa. Kad se aplikacija izvodi, Visual Basic stvara objekt - primjer klase forme. 101

102 Svi objekti stvaraju se kao jednake kopije njihove klase Jednom kad postoje kao samostalni objekti, njihova se svojstva mogu mijenjati (na primjer, ako na formi kreirate tri naredbena gumba, svaki naredbeni gumb je primjer klase naredbenog gumba) Svaki objekt dijeli zajednički komplet svojstava i mogućnosti (svojstva, postupke i događaje), određenih klasom 102

103 Što možete s objektima? Objekt pruža programski kod koji ne morate pisati Visual Basic može kombinirati objekte iz drugih izvora Možete graditi korisnička rješenja kombinirajući najmoćnije osobine Visual Basica i aplikacija koje podržavaju automatizaciju Automatizacija je osobina komponentnog objektnog modela (Component Object Model, COM), industrijskog standarda kojeg koristi aplikacija za izlaganje objekata razvojnim alatima i drugim aplikacijama Osim ugrađenih kontrola Visual Basica, možete koristiti i objekte koje pružaju druge aplikacije (MSExcell Chart objekt, MSWord dokument, MSExcell radni list...) 103

104 Osnove rada s objektima Objekti Visual Basica podržavaju svojstva, postupke i događaje Na primjer za objekt Radio, jedno od svojstava je Glasnoća pa bi u programskom kodu to ovako izgledalo: Radio.Glasnoća = 3 Na primjer za objekt Telefon jedan od postupaka je Zovi: Telefon.Zovi Na primjer, Radio bi mogao imati događaj PromjenaGlasnoće, Telefon bi morao imati događaj Zvoni Svojstvima mijenjamo karakteristike objekata, postuci su akcije koje objekti mogu izvesti, a događaji su pokrenuti kad se promijeni neki dio objekta 104

105 Kontroliranje objekata njihovim svojstvima (properties) Neka svojstva mogu se odrediti tijekom stvaranja aplikacije (design time) Neka svojstva nisu dostupna tijekom stvaranja, pa zbog toga morate napisati programski kod koji će ih odrediti tijekom rada aplikacije (run time) Svojstva koja možete postavljati i čitati tijekom rada aplikacije zovu se svojstva za čitanje i pisanje (read-write) Svojstva koja možete samo čitati tijekom rada zovu se svojstva samo za čitanje (read-only) 105

106 Postavljanje vrijednosti svojstava Vrijednosti svojstava postavljate kad želite promijeniti izgled ili ponašanje objekta Za postavljanje vrijednosti u svojstvo, upotrijebite sljedećusintaksu: objekt.svojstvo = izraz Text1.Top = 200 Postavljanje svojstva Top na 200 twips. Text1.Visible = True Prikaz okvira s tekstom. Text1.Text = pozdrav Ispis pozdrav u okviru s tekstom. 106

107 Čitanje vrijednosti svojstava Vrijednost svojstva čitate kad želite saznati stanje objekta prije nego što vaš programski kod izvrši određenu akciju Koristite sljedeću sintaksu za čitanje vrijednosti svojstva: varijabla = objekt.svojstvo Vrijednost svojstva možete pročitati i u sklopu složenijeg izraza, bez dodjeljivanja vrijednosti svojstva varijabli Private Sub cmddodaj_click() [izrazi] optgumb(n).top = optgumb(n 1).Top [izrazi] End Sub 107

108 Korištenje postupaka (methods) u kodu Kad postupak ne treba argumente, napist ćete programski kod koristeći sljedeću sintaksu: objekt.postupak Picture1.Refresh Forsira iscrtavanje kontrole. (postupak Refresh nema argumente i ne vraća vrijednost) Ako postupak traži više od jednog argumenta, argumente ćete razdvojiti zarezima Crtanje plavog kruga s polumjerom od 1200 twips. Forma1.Circle (1600, 1800), 1200, vbblue Ako želite sačuvati vrijednost postupka, morate zatvoriti argumente u zagrade Slika = Clipboard.GetData (vbcfbitmap) Ako ne postoji povratna vrijednost, argumenti se zadaju bez zagrada List1.AddItem = vaše ime Dodaje tekst vaše ime u okvir s popisom. 108

109 Povezanost objekata Rad sa zbirkama objekata Objektizbirke imaju svoja vlastita svojstva i postupke Objektima u objektu zbirke pristupa se kao članovima zbirke Na primjer, zbirka kontrola Controls sadrži sve kontrole na određenoj formi Zbirke možete koristiti za pojednostavljivanje programskog koda ako trebate obaviti jednu operaciju na svim objektima u zbirci Dim MyControl As Control For Each MyControl In Form1.Controls Dodavanje imena svake kontrole u okvir s popisom. List1.AddItem MyControl.Name Next MyControl 109

110 Dodavanje svojstava i postupaka članovima zbirke Postoje dvije općenite tehnike koje možete koristiti za adresiranje člana zbirke: Controls( List1 ) preko imena člana Controls!List1 Controls(3) preko rednog broja člana Kad jednom budete sposobni adresirati sve članove zbirno, ili pojedine članove osobno, možete im dodavati svojstva i postupke koristeći jedan od sljedeća dva pristupa: Controls!List1.Top = 200 Postavljanje svojstva Top - ili - kontrole okvira s popisom na 200. DimMyControl As Control For Each MyControl In Form1.Controls() MyControl.Top = 200 Postavljanje svojstva Top svakog Next MyControl člana na

111 Objekti koji mogu sadržavati druge objekte Prednost posjedovanja objekata kao spremnika za druge objekte je u tome da u vašem kodu možete pozvati spremnik kako bi razjasnili koji objekt želite koristiti Na primjer, forma obično sadržava jednu ili više kontrola Slika prikazuje dvije različite forme koje bi mogli imati u aplikaciji. Obje forme mogu imati okvir s popisom nazvan lstacctno. Možete točno odrediti koji okvir želite koristiti pozivanjem forme koja sadrži taj okvir s popisom: frmreceivable.lstacctno.additem ili - frmpayable.lstacctno.additem

112 Opće zbirkeu Visual Basicu U Visual Basicu postoje neki opći slučajevi gdje jedan objekt sadrži druge objekte. zbirka Forms Controls Printers opis Sadrži učitane forme. Sadrži kontrole na formi. Sadrži dostupne objekte tipa Printer. Svojstvo Container Svojstvo Container možete upotrijebiti za promjenu spremnika objekta unutar forme. Sljedeće kontrole mogu sadržavati druge kontrole: Kontrola okvira (frame) Kontrola okvira za sliku (picture box) Kontrola alatne trake (toolbar, samo Professional i Enterprise verzije) 112

113 Ovaj primjer prikazuje pomicanje naredbenog gumba naokolo po formi iz spremnika u spremnik Private Sub Form_Click() Static intx As Integer Select Case intx Case 0 Set Command1.Container = Picture1 Command1.Top = 0 Command1.Left = 0 Case 1 Set Command1.Container = Frame1 Command1.Top = 0 Command1.Left = 0 Case 2 Set Command1.Container = Form1 Command1.Top = 0 Command1.Left = 0 End Select intx = intx + 1 End Sub 113

114 Stvaranje objekata Dvoklikom na kontrolu u alatnom okviru (najlakši način) Korištenjem programibilnosti Visual Basica za stvaranje objekata tijekom rada aplikacije: Možete stvoriti pozive objekta uz pomoć varijabli objekata. Možete stvoriti vlastite objekte iz dijelova s modulima klase. Možete stvoriti vlastite zbirke korištenjem objekta Collection. 114

115 Korištenje varijabli objekata Korištenje varijable objekta je slično korištenju uobičajene varijable, ali s jednim dodatnim korakom dodjeljivanjem objekta varijabli: Prvo morate odrediti varijablu: Dim varijabla As klasa Zatim joj možete dodijeliti objekt: Set varijabla = objekt 115

116 Deklariranje varijabli objekata Razlika kod deklariranja od ostalih varijabli je neobavezna ključna riječ New i argument klase {Dim ReDim Static Private Public} varijabla As [New] klasa Dim FormVar As New frmglavna Dim nekaforma As Form Određivanje varijable objekta tipa frmglavna. Opća varijabla forme. Dim nekitekst As TextBox Može upućivati na bilo koji okvir s tekstom (ali samo okvir s tekstom). Dim nekakontrola As Control opća varijabla kontrole. 116

117 Možete odrediti varijablu forme koja upućujenaodređenu formu u aplikaciji, ali ne možete odrediti varijablu kontrole koja će upućivati na određenu kontrolu Unatoč tome, određenu kontrolu možete dodijeliti varijabli tog tipa Dim objdemo As ListBox Set objdemo = lstprimjer 117

118 Dodjela varijabli objekata Objekt dodjeljujete varijabli objekta naredbom Set: Set varijabla = objekt If frmprikazračuna!txtstanjeračuna.text < 0 Then frmprikazračuna!txtstanjeračuna.backcolor = 0 frmprikazračuna!txtstanjeračuna.forecolor = 255 End If Gornji programski kod možete značajno skratiti korištenjem varijable kontrole: Dim Bal As TextBox Set Bal = frmprikazračuna!txtstanjeračuna If Bal.Text < 0 Then Bal.BackColor = 0 Bal.ForeColor = 255 End If 118

119 Specifični i opći tipovi objekata Varijable specifičnih objekata moraju upućivati na jedan određen tip objekta ili klase Varijabla specifične forme može upućivati smo na jednu formu u aplikaciji (iako može upućivati i na jedan od puno primjera te forme) Varijabla specifične kontrole može upućivati na samo jedan određeni tip kontrole u vašoj aplikaciji, kao što je okvir s tekstom ili okvir s popisom Private Sub Form_Click() Dim nekitekst As TextBox Set nekitekst = Text1 nekitekst.text = pozdrav End Sub 119

120 Varijable općih objekata mogu upućivati na jedan od puno specifičnih tipova objekata Varijabla opće forme, na primjer, može upućivati na bilo koju formu u aplikaciji; varijabla opće kontrole može upućivati na bilo koju kontrolu na bilo kojoj formi u aplikaciji Private Sub Form_Click() Dim nekakontrola As Control Set nekakontrola = Form1.Controls(3) nekakontrola.caption = pozdrav End Sub 120

121 U Visual Basicu postoje tri tipa općeg objekta: tip općeg objekta Form Control Object upućivanje na objekt Bilo koja forma u aplikaciji (uključujući MDI djecu i MDI formu). Bilo koja kontrola u vašoj aplikaciji. Bilo koji objekt. Varijable općih objekata korisne su kad ne znate specifičan tip objekta na koji će varijabla upućivati tijekom izvođenja aplikacije (npr. ako pišemo univerzalni program koji će raditi s bilo kojom formom u aplikaciji) 121

122 Forme kao objekti Forme su objekti koje mogu pozivati ostali moduli u vašoj aplikaciji i blisko su povezane s modulima klase Dodavanje korisničkih postupaka i svojstava Za stvaranje novog postupka na formi, dodajte potprogram određen korištenjem naredbe Public. Korisnički postupak na Form1 Public Sub BrojačNovihPoslova().. <izrazi>. End Sub Potprogram BrojačNovihPoslova možete pozvati iz drugog modula korištenjem ovog izraza: Form1.BrojačNovihPoslova 122

123 Stvaranje novog svojstva forme može biti jednostavno kao određivanje javne varijable u modulu forme: Public IDBroj As Integer Vrijednost svojstva IDBroj možete postaviti i pročitati iz drugog modula korištenjem ova dva izraza: Form1.IDBroj = 3 Text1.Text = Form1.IDBroj Za dodavanje korisničkih svojstava formi također možete upotrijebiti i potprograme tipa Property 123

OSNOVE PROGRAMIRANJA

OSNOVE PROGRAMIRANJA OSNOVE PROGRAMIRANJA Struktura aplikacije Visual Basica Za svaku formu u aplikaciji postoji pripadajuci modul forme (.frm) koji sadrži njen programski kod Modul forme sadži event procedure - dijelovi koda

More information

Prva recenica. Druga recenica.

Prva recenica. Druga recenica. Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

Naredbe za kontrolu toka

Naredbe za kontrolu toka Naredbe za kontrolu toka Naredbe za kontrolu toka Nakon odslušanog bit ćete u stanju: objasniti semantiku naredbi za kontrolu postupaka navesti sintaksu naredbi if, if-else i case u programskom jeziku

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2 Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 Baze podataka 2 Web: http://www.fpmoz.ba/gkraljevic Pitanja, primjedbe,

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

More information

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String

More information

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

dr. sc.. Josip Musić Originalne slideove izradio:

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (550) Poglavlje 3 Strukture odluka i ponavljanja dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo Žuljević, dipl.. ing. teo.zuljevic@fesb.hr Pregled

More information

Nizovi. Programiranje 1

Nizovi. Programiranje 1 Nizovi Programiranje 1 VB Nizovi Zamislite da imate 10,000 šešira i da morate svakome od njih dati jedinstvenu oznaku. Kako biste to napravili? Bilo bi razumno svakom šeširu dati njegov broj. Sada možete

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi. 1 PANEL komponenta kontejnerska, slična GropBox. Roditeljska komponenta za komp. postavljene na nju. Zajedno se pomeraju. Caption svojstvo za naziv; Alighment pomera svojstvo Caption levo i desno; Align

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

Upute za postavljanje Outlook Expressa

Upute za postavljanje Outlook Expressa Upute za postavljanje Outlook Expressa Prije postavljanja klijenata morate obavezno obaviti prvu prijavu na web mail kako bi aktivirali vaš račun na novom sustavu. Ukoliko niste obavili prvu prijavu, nećete

More information

Uvod, varijable, naredbe, petlje

Uvod, varijable, naredbe, petlje 8. JavaScript Uvod, varijable, naredbe, petlje M. Zekić-Sušac 1 Što je JavaScript? JavaScript je najpopularniji skriptni jezik na Internetu kojeg podržavaju svi poznatiji preglednici (Internet Explorer,

More information

RAČUNARSKI PRAKTIKUM II

RAČUNARSKI PRAKTIKUM II Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM II Predavanje 07 - Uvod u PHP 4. svibnja 2015. Sastavio: Zvonimir Bujanović PHP PHP Interpretirani skriptni

More information

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

Iskočni okviri (eng. popup boxes)

Iskočni okviri (eng. popup boxes) 9. JavaScript 2.dio Iskočni okviri, funkcije, petlje, događaji M. Zekić-Sušac 1 Iskočni okviri (eng. popup boxes) U JavaScriptu mogu se koristiti 3 vrste iskočnih okvira: Upozoravajući okviri (eng. alert

More information

Programske paradigme Funkcionalna paradigma

Programske paradigme Funkcionalna paradigma Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju

More information

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

More information

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije } 1. FUNKCIJE I STRUKTRUE PROGRAMA Složeni problemi lakše se rašavaju ako se podele na manje celine koje mogu nezavisno da se rešavaju. Rešenje celokupnog složenog problema dobija se kombinovanjem rešenja

More information

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133 Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost

More information

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici 7-8 Definicija, inicijalizacija promenljivih 2/21 u C-u Program napisan u programskog

More information

Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu

Primjer ispisuje rečenicu Dobro dosli na brzi tecaj C-a na ekranu Osnove programiranja p. 1/27 Brzi tečaj C-a Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu Programiranje se sastoji od nekoliko koraka - pisanje programa u tekstualnom editoru (joe,

More information

Numeričke metode i praktikum

Numeričke metode i praktikum Numeričke metode i praktikum Aleksandar Maksimović IRB / 23/03/2006 / Str. 1 vektori Vektor u 3D prostoru. C: int v1[3]; v1[0]=a;v1[1]=b;v1[2]=c; Fortran: INTEGER V1(3) V1(1)=a V1(2)=b V1(3)=c Skalarni

More information

Programiranje kroz aplikacije. Kontrola toka programa Nizovi

Programiranje kroz aplikacije. Kontrola toka programa Nizovi Programiranje kroz aplikacije Kontrola toka programa Nizovi Kontrola toka u VBA If naredba Select Case naredba GoTo naredba For petlja While petlja Do While petlja Do Until petlja If naredba Opšti oblik

More information

9. RAD S DATOTEKAMA PODATAKA

9. RAD S DATOTEKAMA PODATAKA Rad s datotekama 7-1 9. RAD S DATOTEKAMA PODATAKA U programiranju se često radi sa skupovima podataka koji se čuvaju na jedinicama perfernih memorija, a koji se organizuju u posebne cjeline koje nazivamo

More information

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Uputa za instaliranje programske potpore za operativni sustav WINDOWS ZABA SignErgy Desktop aplikacija Uputa za instaliranje programske potpore za operativni sustav WINDOWS SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE

More information

GUI - događaji (Events) i izuzeci. Bojan Tomić

GUI - događaji (Events) i izuzeci. Bojan Tomić GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša

More information

NIZOVI.

NIZOVI. NIZOVI LINKOVI ZA KONZOLNI C# OSNOVNO http://www.mycity.rs/net/programiranje-u-c-za-osnovce-i-srednjoskolce.html http://milan.milanovic.org/skola/csharp-00.htm Niz deklarišemo navođenjem tipa elemenata

More information

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Blokovska struktura C++ programa ima četiri razine:

Blokovska struktura C++ programa ima četiri razine: Blokovska struktura C++ programa ima četiri razine: 1. razina datoteke (temeljna kompilacijska jedinica) 2. razina definicije (tijela) funkcije 3. razina bloka kontrolnih struktura (sekvenca, iteracija,

More information

Uputstvo za podešavanje mail klijenta

Uputstvo za podešavanje mail klijenta Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Packages Reference objekata Inheritance nasljeđivanje Exceptions Packages API Application Programmer Interface Sve klase ponuđene u sklopu Java jezika, uključujući i kompajler

More information

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int Sadržaj predavanja 02 Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka Realni tip podataka Aritmetički operatori Izrazi Operatori inkrement i dekrement Kontrola toka programa Naredba za jednostruki

More information

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom U ovoj vježbi trebate dodati sljedeće view-ove u OnlineVrijednosnice aplikaciju: Details view za Graf model objekte ovaj view će prikazivati

More information

SELECT CASE i FOR NEXT. Programiranje 1

SELECT CASE i FOR NEXT. Programiranje 1 SELECT CASE i FOR NEXT Programiranje 1 VISUAL BASIC SELECT SELECT komanda služi umjesto višestrukih IF THEN naredbi u slučaju grananja programa, zavisno o vrijednosti ispitivanog izraza početak v1 var

More information

Programski jezik JAVA PREDAVANJE

Programski jezik JAVA PREDAVANJE Programski jezik JAVA PREDAVANJE 8 2018 www.etf.ac.me Polja za potvrdu i Radio tasteri Polja za potvrdu i radio tasteri nijesu uzajamno isključivi, što znači da ako imate pet polja za potvrdu u jednom

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

More information

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom.

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom. tog (tack) tog je posebna vrsta liste: od svih operacija dozvoljeno je ubacivanje, brisanje i gledanje sadržaja elementa samo na jednom kraju liste koji zovemo vrh stoga. tog zovemo i lifo last in first

More information

Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju

Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju Staša Vujičić Čas 9 Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju sve od početka. Odgovarajuće funkcije

More information

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka

More information

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje WEB programiranje HTML & CSS Autor/i: Juraj Benić 2018 1. Zadatak Kreirati stranicu kojoj će naslov biti Zadatak 1. i veličina teksta 20px te staviti

More information

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7 Java zadaci Zadaci 1. Priprema novog projekta... 1 2. Organizacija klasa u fajlove... 2 3. Ispis vrijednosti u konzolni prozor... 3 4. Učitavanje vrijednosti sa konzolnog prozora... 4 4.1 Učitavanje podatka

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

PKI Applet Desktop Application Uputa za instalaciju programske potpore

PKI Applet Desktop Application Uputa za instalaciju programske potpore 1 SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE POTPORE 3 4. INSTALACIJA PROGRAMSKE POTPORE 3 5. DEINSTALACIJA PROGRAMSKE POTPORE 6 2 1. Uvod PKI

More information

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Konverzija tipova Konverzija tipova Prilikom komunikacije aplikacije sa korisnikom, korisnik najčešće unosi ulazne podatke koristeći tastaturu.

More information

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n.

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n. Rekurzivne metode Rekurzivan metod je onaj metod koji u nekoj svojoj instrukciji sadrži poziv samog sebe. Svakako prilikom kreiranja rekurzivnog metoda moramo voditi računa da ne dodje do beskonačne rekurzije

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

More information

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) CSS3

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) CSS3 Lab. vježba 6 PROGRAMIRANJE ZA INTERNET Upute za laboratorijske vježbe (izradio: Marin Bugarić) CSS3 P R O G R A M I R A N J E Z A I N T E R N E T Općenito Posljednja verzija Cascading Style Sheetsa, verzija

More information

Uvod u relacione baze podataka

Uvod u relacione baze podataka Uvod u relacione baze podataka Ana Spasić 5. čas 1 Podupiti, operatori exists i in 1. Izdvojiti imena i prezimena studenata koji su položili predmet čiji je identifikator 2001. Rešenje korišćenjem spajanja

More information

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne.

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne. 1. MATLAB UVOD Matlab predstavlja vrlo razvijen skup alata za računanje (matrice, kompleksni brojevi, simbolička matematika), vizualiziranje (2D i 3D), modeliranje, simulaciju i programiranje. Karakterizira

More information

<A rel="stylesheet" B="mystylesheet.css" C="text/css" />

<A rel=stylesheet B=mystylesheet.css C=text/css /> 1 od 9 9.4.2013 7:18 EFOS_kol1_2011 - RJEŠENJA 16.4.2011. Uključivanje vanjske mystylesheet.css datoteke sa određenim stilovima, postiže se zadavanjem naredbe unutar HTML koda, koja izgleda ovako:

More information

16. Sigurnije programiranje

16. Sigurnije programiranje 16. Sigurnije programiranje 16.1 Pretvorba tipova Pretvorba realnog broja u cijeli broj se može izvršiti naredbama: int i; double d; ili: i = (int) d; i = int(d); U cilju bolje kontrole pretvorbe tipova

More information

6. SWITCH IZRAZ I PETLJE

6. SWITCH IZRAZ I PETLJE 6.. Switch izraz i petlje 6. SWITCH IZRAZ I PETLJE SADRŽAJ 1. switch izraz (kontrolna struktura) 2. while petlja. 3. do-while petlja. for petlja. Kontrola izvršavanja petlje - break i continue naredbe

More information

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA SPECIFIKACIJA BAZE PODATAKA ZA PROJEKAT NAZIV_PROJEKTA Veb knjižara - Specifikacija baze podataka 1 10.04.2017. Verzija V 1.0 Datum: 20. mart 2017. Istorija

More information

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

/*#include <iostream> // Prvi zadatak sa integralnomg ispita /*#include // Prvi zadatak sa integralnomg ispita 27.01.2015 #include using std::setw; using std::cout; const int red(5), kolona(4); void unos(int[]); void ispis(int[][kolona]); float

More information

VEŽBA 5 do while petlja, switch case

VEŽBA 5 do while petlja, switch case VEŽBA do while petlja, switch case Petlja sa ulaznim uslovom do while U slučaju do while petlje obavezno izvršavanje bar jedne iteracije se postiže tako što je upravljački izraz petlje na samom dnu petlje.

More information

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, Case Study Hrvatska pošta: Korisničko iskustvo iz snova Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, 27.12.2018. Sadržaj Hrvatska pošta prije projekta Izazovi projekta Tehnologije korištene

More information

Algoritmi i programiranje

Algoritmi i programiranje Algoritmi i programiranje Metode Prof. dr. sc. Tonči Carić Sadržaj Definicija metoda Argument i parametar Metode s više parametara Metode bez rezultata Metode s rezultatom Logičke metode Globalne i lokalne

More information

Računarski praktikum 4

Računarski praktikum 4 Sveučilište u Zagrebu PMF Matematički odjel Klase i objekti Računarski praktikum 4 Vježbe 08 Matko Botinčan Vinko Petričević Krunoslav Puljić 6.11.2007. Računarski praktikum 4 - Vježbe 07 2 Proceduralni

More information

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML PHP, ASP.NET

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML PHP, ASP.NET PHP, ASP.NET Što ćete naučiti Internet općenito HTML CSS XML XHTML Javascript DOM DHTML AJAX jquery PHP ASP.NET Ruby On Rails MS Silverlight FLASH, SMIL, SVG... 2 1 PHP i ASP.NET Uvod u PHP i ASP.NET Samo

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

More information

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu: Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 7-1 Oracle Equijoin and Cartesian Product Prethodna sekcija se bavila upitima preko više od jedne tabele

More information

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama 8. NIZOVI Niz je indeksirani skup podataka - elemenata niza. Niz se deklarira imenom iza kojeg se u uglatim zagradama zapisuje broj elemenata niza, a ispred imena se zapisuje tip elemenata. // deklaracija

More information

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

More information

Objektno orjentirano programiranje

Objektno orjentirano programiranje Objektno orjentirano programiranje Predavanje 4 Objektno orijentirani koncepti Konstruktori Metoda koja se poziva prilikom stvaranja novog objekta Svojstveni su OO programiranju Imaju isto ime kao i klasa

More information

CAD u građevinarstvu. v.prof.dr. Samir Lemeš. Predavanja za predmet CAD u građevinarstvu. Politehnički fakultet Univerziteta u Zenici, 2018.

CAD u građevinarstvu. v.prof.dr. Samir Lemeš. Predavanja za predmet CAD u građevinarstvu. Politehnički fakultet Univerziteta u Zenici, 2018. CAD u građevinarstvu v.prof.dr. Samir Lemeš Predavanja za predmet CAD u građevinarstvu Politehnički fakultet Univerziteta u Zenici, 2018. Korisnički interfejsi AutoCAD interfejsi Komandna linija Visual

More information

Operacijski sustavi. Laboratorijska vježba 2. Petra Lončar, mag. ing. el., asistent FESB, 2016.

Operacijski sustavi. Laboratorijska vježba 2. Petra Lončar, mag. ing. el., asistent FESB, 2016. Operacijski sustavi Laboratorijska vježba 2 Petra Lončar, mag. ing. el., asistent ploncar@fesb.hr FESB, 2016. Linux procesi procesi su programi koji se izvršavaju i pritom zauzimaju sredstva sustava (spremnik,

More information

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje. Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje Milica Ćirić Ciklična algoritamska struktura Ciklična struktura (petlja)

More information

NAPREDNO I OBJEKTNO ORIJENTIRANO PROGRAMIRANJE

NAPREDNO I OBJEKTNO ORIJENTIRANO PROGRAMIRANJE NAPREDNO I OBJEKTNO ORIJENTIRANO PROGRAMIRANJE Objektno orijentirani jezici Kod proceduralnih jezika podaci su pasivan element. OO jezici imaju i proceduralne i neproceduralne elemente, procedure i podaci

More information

modifier returnvaluetype methodname(list of parameters) { // Method body; }

modifier returnvaluetype methodname(list of parameters) { // Method body; } Početna grupa, 28.11.2015. Metodi 1. Metodi opšti oblik metoda: modifier returnvaluetype methodname(list of parameters) // Method body; 2. Ime metoda: početno slovo je malo, a zatim slijede slova, cifre

More information

2. Linijska algoritamska struktura

2. Linijska algoritamska struktura Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 2. Linijska algoritamska struktura Milica Ćirić Blokovi za prikaz algoritma Algoritam se vizuelno može prikazati pomoću blok dijagrama,

More information

KURSORI BAZE PODATAKA U ORACLE 11g

KURSORI BAZE PODATAKA U ORACLE 11g KURSORI BAZE PODATAKA U ORACLE 11g SAŽETAK Kursor baze podataka je privatno SQL područje u kojem se čuvaju informacije za procesiranje određene SQL naredbe. Oracle PLSQL jezik koristi implicitne i eksplicitne

More information

Ugradjena promenljiva ans cuva poslednju vrednost koja nije dodeljena ni jednoj promenljivoj >> ans+3

Ugradjena promenljiva ans cuva poslednju vrednost koja nije dodeljena ni jednoj promenljivoj >> ans+3 Ugradjena promenljiva Pi >> pi 3.1416 Ugradjena promenljiva NaN (Not A Number) >> NaN NaN Beskonacno >> Inf Inf Ugradjena funkcija exp() za eksponencijalnu funkciju (npr. e na 3 stepen) >> exp(3) 20.0855

More information

RAČUNARSKI PRAKTIKUM II

RAČUNARSKI PRAKTIKUM II Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM II Predavanje 04 - Uvod u PHP 14. ožujka 2016. Sastavio: Zvonimir Bujanović PHP PHP Interpretirani skriptni

More information

Zadatci Small Basic za 7. Razred ( programa)

Zadatci Small Basic za 7. Razred (  programa) Zadatci Small Basic za 7. Razred (www.smallbasic.com-preuzimanje programa) 1. Nacrtaj slijedeći crtež pomoću naredbi u small basic-u. Boje odaberite po svojim željama. GraphicsWindow.Width = 600 Visina

More information

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end; {*Na Evroviziji je ucestvovalo n izvodjaca. Koji od njih je osvojio najvise glasova publike?*} program Evrovizija; glasovi:array[1..50] of integer; max,k:integer; writeln('unosi se broj izvodjaca:'); writeln('unose

More information

Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog pristupa? 2. Što je klasa u programskom jeziku?

Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog pristupa? 2. Što je klasa u programskom jeziku? Veleučilište u Rijeci Poslovni odjel Ispit iz OOT I - Grupa A 28.6.2008 Stručni studij informatike Ime i prezime: JMBAG: Bod/ocj: Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog

More information

I PISMENI ZADATAK III6 I GRUPA IME I PREZIME

I PISMENI ZADATAK III6 I GRUPA IME I PREZIME I PISMENI ZADATAK III6 I GRUPA IME I PREZIME 1.1.Pronaci najveći i najmanji element unete matrice dimenzija n x m i mesto na kome se nalaze. Korististi 2.1. Na osnovu unete matrice A (nxn) celih brojeva

More information