480 likes | 805 Views
Programiranje. Izvaja predmet: Jože Zupančič Asistent: Borut Werber. VB - Uvod 2. Skripta : Borut Verber: Uvod v programiranje - Visual Basic , MO 2000 Knjige (na primer): Aleš Šuler: Spoznajmo Visual Basic, Flamingo 1999
E N D
Programiranje Izvaja predmet: Jože Zupančič Asistent: Borut Werber
VB - Uvod 2 Skripta: • Borut Verber: Uvod v programiranje - Visual Basic, MO 2000 Knjige (na primer): • Aleš Šuler: Spoznajmo Visual Basic, Flamingo 1999 • G.B. Shelley, T.J. Cashman, J.F. Repede: Visual Basic - Complete Concepts and Techniques, Course Technology, Cambridge 1998 • Diane Zak: Programming with microsoft Visual Basic 6, Course Technology, Cambridge 1999
VB - Uvod 3 • Zakaj Visual Basic? • Po anketi na ISWorld - podatki za 79 univerz, največ v ZDA (konec 1999): • 43 (54%) COBOL • 65 (82%) Visual Basic • 40 (51%) C++ • 48 (61%) Java • 46 (58%) HTML
VB - Uvod 4 VSEBINA: 1. Uvod (Osnovne tehnike programiranja, značilnosti VB, objektno usmerjen pristop, …) 2. Osnove (gradniki, spremenljivke, konstante, podatkovni tipi, …) 3. Osnovne krmilne strukture (pogojni in ponavljalni stavek, podprogrami) 4. Sestavljeni podatkovni tipi (tabele) 5. Sekvenčne in naključne datoteke 6. Povezovanje VB in baz podatkov (Access) 7. Vleci in spusti (Drag and Drop)
VB - Uvod 5 • Program: Natančen opis zaporednih korakov (ukazov, akcij, ...), ki naj jih izvede računalnik. • Programiranje: pisanje (oblikovanje, ...) tega zaporedja ukazov • Aplikativni programi (aplikacije, uporabniške rešitve)
VB - Uvod 6 • Uporabniški vmesnik • Metode in tehnike razvoja programov: • Modularno programiranje, hierarhični (strukturni) diagrami • Strukturirano programiranje • Diagrami poteka (Flow Chart) • Akcijski diagrami • Dogodkovni diagrami
VB - Uvod 7 • Hierarhični strukturni (drevesni) diagram
VB - Uvod 8 1. Zaporedje • Strukturirano programiranje: osnovni gradniki: • Za prikaz so uporabljeni diagrami poteka
VB - Uvod 9 1. oblika 2.oblika 3.oblika • Pogojni stavek: Enako kot druga oblika, le en del je prazen
VB - Uvod 10 • Ponavljalni stavek: 1. oblika 2.oblika
VB - Uvod 11 Primer strukturiranega programa:
VB - Uvod 12 Primer dogodkovnega diagrama
VB - Uvod 13 Življenjski cikel razvoja aplikacije (System Development Life Cycle - SDLC) • Razčlenjen je lahko na različne načine, odvisno od avtorja (knjige) oziroma internih standardov v posameznih okoljih (podjetjih), pa tudi z vidika posameznih funkcij in vlog v razvoju uporabnik, analitik, vodja projekta, …). Faze: 1. Analiza problema • Precizno definiramo problem oz. področje, ki ga pokriva aplikacija, napišemo programske specifikacije: opis vhodov, obdelave, izhodov in uporabniških vmesnikov
VB - Uvod 14 2. Zasnova programa izdelaj podrobno logiko programov z uporabo orodij kot so akcijski diagrami, psevdokoda, diagrami strukture objektov, dogodkovni diagrami, ..in razčleni funkcije programa v module, izdelaj algoritme za obdelavo podatkov, preveri algoritme 3. Kodiranje “pretvori” zasnovo v delujočo aplikacijo: v izbranem programskem jeziku ali orodju izdelaj vmesnike in programsko kodo, vključno z interno dokumentacijo: komentarji, ki razložijo pomen in delovanje posameznih ukazov in segmentov programa
VB - Uvod 15 4. Testiranje in popravljanje napak S testiranjem najdi čim več napak 5. Dokumentiranje aplikacije Preveri in popravi in integriraj interno dokumentacijo, izdelaj uporabnikovo dokumentacijo 6. Vzdrževanje Omogoči usposabljanje in podporo končnim uporabnikom; popravljaj napake, ki se pokažejo med uporabo aplikacije, prilagaja program spremenjenim oz. novim zahtevam uporabnikov
VB - Uvod 16 Objektno orientirano programiranje in razvoj Razvilo se je kot način kako : • bolje “izolirati (osamiti)” logično med seboj povezane dele aplikacije, da sprememba enega od njih ne bi vplivala na druge • ponovno uporabiti posamezne (po možnosti čim večje) segmente programske kode
VB - Uvod 17 Objekt je karkoli, realnega ali abstraktnega, o čemer zbiramo podatke in opredelimo operacije (aktivnosti) ki obdelujejo te podatke (zaslon na računalniku, ukazni gumb na zaslonu, tekoči račun, dobavitelj, ...) • Obstoj enega od objektov ni odvisen od obstoja drugega • Posamezni objekti so enolični, vsak objekt pa pripada določeni klasifikaciji (skupini) - razredu, ki jo določajo lastnosti objekta • Objekt se odziva na vnaprej opredeljene zunanje dogodke • Način odziva na vsak dogodek je v naprej opredeljen
VB - Uvod 18 Objekti imajo: • Lastnosti (properties): tipi (razredi) objektov se razlikujejo v lastnostih • Dogodke (events) na katere reagirajo objekti • Metode (methods): objektom lastne funkcije, ki so jih le-ti sposobni izvesti; prožijo jih dogodki • Konkretni objekti so pojavki svojega razreda • Vsak objekt ima lahko enega ali več podrazredov (subclass) in/ali pripada enemu ali več nadrazredom (superclass)
VB - Uvod 19 Microsoft Visual Basic orodje, ki omogoča razvoj programov (aplikacij, ...) za Windows Štiri (+ 2 dodatni) različne verzije (za VB5): Learning Edition, Control Creation Edition Professional edition Enterprise edition Application Edition (VBA) - vgrajen v nekatere MS aplikacije (Access, Excel, ...) Scripting Edition - za internet aplikacije
VB - Uvod 20 Ali je VB objektno orientiran programski jezik? Pri vizualnih programskih jezikih ves program izdelamo s pomočjo vizualnih orodij • VB torej ni v celoti vizualen jezik, ker pri VB tako izdelamo le uporabniški vmesnik, program pa večinoma še vedno kodiramo • VB je “event driven” in “object-based” programski jezik, vendar ne izpolnjuje vseh zahtev (oblikovanje podrazredov), ki jim morajo ustrezati objektno usmerjeni programski jeziki.
VB - Uvod 21 Razvoj programov (aplikacij) v VB: 1. Oblikujemo uporabniški vmesnik 2. Poimenujmo gradnike 3. Nastavimo (začetne) lastnosti 4. Pišemo programsko kodo Vsako aplikacijo v VB razvijemo kot projekt.
VB - Uvod 22 ¸¸ Gradnik (control): uporabljamo jih pri načrtovanju uporabniškega vmesnika (orodjarna - toolbox) • če je potrebno, dodajamo nove gradnike (ActiveX) • njihov videz določajo lastnosti (properties), vedenje pa odzivni podprogrami (event procedures) • metoda je zaokroženo opravilo, ki ga zna opraviti gradnik: podprogram vezan na posamezno vrsto gradnika (n. pr. Move, PopUpMenu, AddItem, Hide, SetFocus, ...)
VB - Uvod 23 RAZVOJNO OKOLJE • Zagon VB - pogovorno okno New Project • Programsko okno • Naslovna vrstica • Vrstica z menuji VB • Orodna vrstica (Toolbar) • Okvir z orodji (orodjarna - Toolbox) • Obrazec (Form) • Okno Project • Okno Properties • Okno s programsko kodo • Okno form Layout
VB - Uvod 27 Prilagoditev programskega okolja: • do ustreznega pogovornega okna pridemo preko menujev • Tools • Options
VB - Uvod 28 Spremenljivke, konstante, tipi podatkov • V spremenljivke shranjujemo začasne vrednosti, ki se praviloma spreminjajo med izvajanjem programa • Konstante shranjujejo vrednosti, ki se ne spreminjajo med izvajanjem programa • Vsako spremenljivke najavimo preden jo uporabimo v programu (opišemo tip, dolžino, …) (priporočeno) • VB omogoča, da spremenljivko najavimo v programu implicitno: za imenom dodamo poseben znak (ni priporočljivo!)
VB - Uvod 29 Imena spremenljivk (in konstant) • Na prvem mestu naj bo črka angleške abecede; v imenih slovenskih črk ne uporabljamo • sledijo lahko črke, številke, spodnji vezaji • pika, presledek, posebni znaki, (%,$,/, …) ne smejo biti del imena; izjema: posebni znak na koncu označuje lahko podatkovni tip (ni priporočeno!) • ne sme vsebovati rezerviranih besed (ukazov, vgrajenih konstant, …) VB • ime naj bo pomensko • dolga imena so laže berljiva, če se vsaka beseda v imenu začne z veliko črko
VB - Uvod 30 Podatkovni tipi: • Byte (malo število; 0 do 256) • Boolean (logična vrednost (True, False) • Integer % celo število z manjšo natančnostjo • Long & celo število z večjo natančnostjo • Single ! realno št. z manjšo natančnostjo • Double # realno št. z večjo natančnostjo • Currency @ denarni znesek • Variant katerikoli podatkovni tip • Date # datum • String $ besedilo • Objekt ime gradnika v VB
VB - Uvod 31 Označevanje tipa podatka s predpono pri imenu (ni obvezno) • Po dogovoru lahko uporabljamo naslednje predpone za označevanje podatkov: • bln Boolean (n. pr. blnVeljaven) • byt Byte • cur Currency (n.pr curZnesek) • dat Date • int Integer • dbl Double • …….
VB - Uvod 32 Poimenovanje (name) gradnikov: predpone (močno priporočeno!) Gradnik Predpona Form (Obrazec) frm CheckBox (potrditveno polje) chk ComboBox (kombinirani seznam) cbo CommandButton (ukazni gumb) cmd Data (podatki) dat DirListBox (seznam imenikov) dir FileListBox (seznam datotek) fil
VB - Uvod 33 Poimenovanje gradnikov: predpone (nadalj.) GradnikPredpona HScrollBar (vodoravni drsnik) hsb VScrollbar (navpični drsnik) vsb Image (slika) img Label (oznaka) lbl Line (črta) lin ListBox (seznam) lst Menu (meni) mnu
VB - Uvod 34 Poimenovanje gradnikov: predpone (nadalj.) GradnikPredpona OLE (OLE) ole OptionButton (izbirni gumb) opt PictureBox (okvir za sliko) pic Shape (oblika) shp TextBox (okence za besedilo) txt Timer (ura) tmr Frame (okvir) fra
VB - Uvod 35 Dosegi spremenljivk (in konstant) • Public: se najavi v delu splošne napovedi (general declaration) na začetku obrazca: velja za vse obrazce in module projekta • Private: najavi (definira) se v podprogramu (proceduri), velja le za ta podprogram (lokalna spremenljivka) • Dim: spremenljivka, o dostopu enaka Private • Če s Private ali Dim najavimo spremenljivko v delu splošne napovedi, velja za celotni obrazec ali modul
VB - Uvod 36 Statične in dinamične spremenljivke: • Spremenljivke, najavljene na začetku obrazca (s Private ali Public), zadržijo vrednost dokler se program izvaja (globalne spremenljivke) • Lokalne spremenljivke, najavljene z Dim ali Private, zadržijo vrednost le v času izvajanja procedure. Pri novem klicu procedure se postavijo na začetne vrednosti • Če najavimo lokalno spremenljivko s Static, (namesto Dim ali Private) le-ta zadrži vrednost tudi potem, ko se konča izvajanje procedure
VB - Uvod 37 Konstante: • Konstante, ki jih definiramo v programu, n. pr.: • ConstPi As Double = 3.14159 • ConstPiKvadrat As Double = Pi ^ 2 • ConstAvtor As String = “Pepe Poprečnik” • V Visual Basic vgrajene konstante (figurativne konstante), n. pr.: • vbYellow (shpElipsa.FillColor = vbYellow) • vbRightJustify (lblZnak.Allignment = vbRightJustify) • vbTab • ...
VB - Uvod 38 Uporabniški tipi podatkov • Uporabnik lahko pripravi svoje strukture, ki so kombinacija osnovnih tipov podatkov • Opišemo jo s stavkom Type, na začetku obrazca ali modula • Uporabimo Public ali Private, odvisno od želenega dosega
VB - Uvod 39 • Primer: Private Type Oseba Ime as String Priimek as String RojstniDatum As Date StatusOsebe as String * 2 EndType • Spremenljivko tipa Oseba najavimo na običajen način, n. pr. • Dim Uporabnik As Oseba
VB - Uvod 40 Pretvarjanje in preverjanje podatkovnih tipov • Podatke lahko pretvarjamo iz enega tipa v drugega z ustreznimi funkcijami (na primer CDate, Ccur, Cint, Val,…, skripta str. 45): • pogosto jih uporabljamo, da pretvorimo vnesene podatke v tip želene spremenljivke • Ustreznost nekega (vnesenega) podatka preverimo s funkcijami IsNumeric, IsDate, … (skripta str. 47). Primer: If IsDate (Besedilo.text) then …..
VB - Uvod 41 Primer gradnika v VB: obrazec (form) Gradnike (control) uporabljamo pri načrtovanju uporabniškega vmesnika (orodjarna - toolbox) • če je potrebno, dodajamo nove gradnike (ActiveX) • njihov videz določajo lastnosti (properties), vedénje pa odzivni podprogrami ali procedure (event procedures) • metoda je zaokroženo opravilo, ki ga zna opraviti gradnik: podprogram vezan na posamezno vrsto gradnika (n. pr. Move, PopUpMenu, AddItem,Hide,...)
VB - Uvod 42 Gradnik Obrazec (form) je temelj vsakega vmesnika; predstavnik vsebnikov (containers) - gradnikov, ki lahko vsebujejo druge gradnike Značilne lastnosti (properties); mnoge od njih imajo tudi drugi gradniki: • Backcolor - barva površine gradnika. To lastnost ima tudi večina drugih gradnikov; izjema je le ukazni gumb (Command Button), kjer se barva sklada s sistemskimi nastavitvami • Borderstyle - obroba gradnika (od 0 do 5, vsi gradniki nimajo vseh možnosti) nastavljamo le med načrtovanjem
VB - Uvod 43 • Nastavitve posameznih lastnosti so med seboj odvisne, na primer: • Lastnosti MaxButton in MinButton (ali je gumb za maksimiranje okna omogočen) pri obrobah 0 (ni obrobe), 3 (Fixed Dialog), 4 (FixedToolWindow) in 5 (SizableToowindow) nimata vpliva • Lastnost WhatIsThisButton (določa omogočenost gumba za opisno pomoč) je na voljo samo pri obrobah 1, 3 in pogojno pri 2 (če sta MinButton in MaxButton na False)
VB - Uvod 44 • Oznaka (Caption) • Oblika kazalca (Mousepointer): oblika kazalca ko je le-ta nad gradnikom; izbiramo med 16 pripravljenimi oblikami, lahko pa izberemo datoteko z ustrezno ikono • Movable: ali je mogoče premikati okno med izvajanjem programa • StartUpPosition • WidowState(običajno, minimizirano, maksimizirano) • Picture - slika v odzadju
VB - Uvod 45 • Enabled - ali je gradnik omogočen (ali se odziva na uporabniško povzročene dogodke, vedno pa se odziva na programsko kodo); običajno jo nastavljamo za posamezne gradnike na obrazcu, ne za celoten obrazec • Visible - gradnik je/ni viden
VB - Uvod 46 Metode: • Večina metod, ki jih podpira obrazec, je vezana na izpisovanje besedila in/ali grafike • Metoda Show prikaže skriti obrazec • Metoda Hide • Metoda SetFocus prestavi vnosno točko na izbrano okno • PrintForm - izpiše popolno podobo okna
VB - Uvod 47 Dogodki • Dogodek Load: po tem dogodku obrazec še ni viden • DogodekActivateobrazec se prikaže in je dejaven (ima vnosno točko oz. focus);če je v projektu le en obrazec, se bo dogodek pripetil le ob prvem prikazu okna; če je več obrazcev, se pripeti vsakokrat, ko se vnosna točka prestavi v to okno • Dogodek Deactivate če obrazec izgubi vnosno točko “v korist” drugega obrazca • Dogodek DblClick: če ne površini obrazca, ki je ne prekriva noben drug gradnik, dvakrat kliknemo • ….