OSNOVE PROGRAMIRANJA
|
|
- Matilda Day
- 5 years ago
- Views:
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 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 informationPrva 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 informationVRIJEDNOSTI 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 informationNaredbe 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 informationVB 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 informationOsnove 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 informationCSS 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 informationUputa: 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 informationProgramiranje 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 informationPARALELNO 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 informationUč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 informationPROGRAMIRANJE. 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 informationJavaScript 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 informationOsnove 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 informationSVEUČ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 informationPREDMET. 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 informationSvi 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 informationString. 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 informationSberbank 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 informationVež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 informationdr. 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 informationNizovi. 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 informationpojedinač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 informationb) 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 informationUvod 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 informationIzrada 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 informationvar 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 informationUputstvo 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 informationUpute 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 informationUvod, 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 informationRAČ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 informationProgramiranje 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 informationIskoč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 informationProgramske 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 informationSveuč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 informationVidljivost 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 informationBinarne 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 informationPrirodno-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 informationPrimjer 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 informationNumerič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 informationProgramiranje 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 information9. 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 informationVHDLPrimeri 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 informationUputa 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 informationGUI - 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 informationNIZOVI.
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 informationInformatika 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 informationUNIVERZITET 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 informationBlokovska 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 informationUputstvo 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 informationRač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 informationPROGRAMIRANJE. 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 informationSadrž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 informationVjež 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 informationSELECT 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 informationProgramski 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 informationUPUTSTVO 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 informationPush(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 informationVeliki 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 informationMaš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 informationSveuč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 information4.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 informationMicrosoft 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 informationPKI 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 informationPITANJA 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 informationProgramiranje 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 informationRekurzivne 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 informationnamespace 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 informationLab. 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 informationUvod 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 informationWindows 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 informationAktuelna 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" />
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 information16. 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 information6. 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 informationPRINCIPI 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 // 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 informationVEŽ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 informationCase 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 informationAlgoritmi 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 informationRač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
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 informationVDSL 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 informationOracle 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 information8. 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 information24/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 informationObjektno 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 informationCAD 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 informationOperacijski 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 informationUniverzitet 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 informationNAPREDNO 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 informationmodifier 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 information2. 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 informationKURSORI 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 informationUgradjena 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 informationRAČ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 informationZadatci 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 informationfor 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 informationBroj 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 informationI 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