VBA Exceli. Visual Basic for Applications Excel 2010 baasil Erki Savisaar

Size: px
Start display at page:

Download "VBA Exceli. Visual Basic for Applications Excel 2010 baasil Erki Savisaar"

Transcription

1 VBA Exceli Visual Basic for Applications Excel 2010 baasil Erki Savisaar

2 Sisukord Sissejuhatus PROGRAMMIDE LOOMISE ÜLDPÕHIMÕTTED VBA KASUTAMINE EXCELIS Turvalisus Üksikute failide usaldamine Usaldusväärsete asukohtade määramine Digitaalselt allkirjastatud makrod VBA programmiüksused Rakenduse põhikomponendid ja töökeskkond Makrode lindistamine Makrode käivitamine Käivitamine Developer nupulindilt Kävitamine Klaviatuurilt Nupulindilt Objekt töölehel VBA JA PROGRAMMEERIMISE PÕHIMÕISTED Programmi ja keele põhielemendid Kokkulepped keele süntaksireeglite esitamiseks Skalaarandmed: konstandid ja muutujad Omistamine, omistuslause ja avaldised Andmete lugemine töölehelt ja kirjutamine töölehele Dialoogibokside kasutamine Programmide silumisest ja testimisest ALAMPROGRAMMID Protseduurid ja makrod FUNKTSIOONID ANDMED Andmete organisatsioon, liigid ja tüübid Konstandid Nimelised loendid (Enum) Massiivid Andmete skoop ja väärtuste eluiga VALIKULAUSED If-laused Select Case-lause KORDUSLAUSED Do Loop-lause For Next- ja For Each Next-laused Erki Savisaar 2

3 Sissejuhatus Käesolev materjal on mõeldud abivahendiks programmeerimise õppimiseks Visual Basicus, MS Excel baasil. Visual Basicul põhinev arendussüsteem (Visual Basic for Application - VBA) leiab laialdast kasutamist mitmes üldotstarbelises rakendusprogrammis. Eeskätt kuuluvad siia firma Microsoft tooted (Excel, Access, Word, Project jt), kuid viimasel ajal üha rohkem ka mitme teise firmade tooted: Autodesk (AutoCAD), Intergraph (Imagineer) jt. Keelevahendite osas on ta ühilduv üldotstarbelise programmeerimissüsteemiga Visual Basic, Visual Basic.NET ning WWW-dokumentide arednusel ja Windowsi skriptimisel kasutatava VBScript keelega. Omandades Exceli baasil põhitõed programmeerimisest saate neid lihtsa vaevaga kasutada ka kõigi teiste Office paketti kuuluvate programmide automatiseerimisel, samuti ka veebilehtede loomisel ning Windowsi skriptimisel ja programmeerimisel. VBA-d võib Excelis kasutada mitmel viisil ja tasemel. Tema abil saab realiseerida keerulisi ja arvutusmahukaid andmetöötluse protseduure, automatiseerida Exceli korralduste täitmist, luua spetsialiseeritud kasutajaliideseid, korraldada andmevahetust ja koostööd teiste rakendustega jm. Exceli rakenduses saab kasutada üksikuid VBA protseduure, mis võimaldavad tõsta töötluse efektiivsust või lihtsustada rakenduse kasutamist. Luua saab ka selliseid rakendusi, kus kogu töötlus ja kasutajaliides on realiseeritud VBA abil ning Excelit kasutatakse ainult algandmete ja tulemite salvestamiseks ning nende vormindamiseks ja kujundamiseks. Materjal ei hõlma kaugeltki kõiki VBA võimalusi, ta sisaldab ainult teatud valiku selle põhielementidest. Erki Savisaar 3

4 1 PROGRAMMIDE LOOMISE ÜLDPÕHIMÕTTED Programm on eeskirjade (käskude) kogum, mis määrab, milliseid operatsioone ja tegevusi peab arvuti täitma andmetega antud ülesannete lahendamiseks. Andmed on informatsiooni formaliseeritud esitus kujul, mis võimaldab informatsiooni salvestamist ja töötlemist arvutis. Eristatakse mitut liiki andmeid: arve, tekste, graafikakujundeid, heli jm. Programmide koostamiseks on loodud spetsiaalsed programmeerimiskeeled. Taolisi keeli on palju, kuid enamiku ülesehitus ja kasutamise põhimõtted on analoogilised. Kasutamisvaldkonna järgi jagatakse keeled kahte rühma: universaalsed ehk üldkeeled ja spetsialiseeritud keeled. Üldisi programmeerimiskeeli kasutatakse suvaliste rakendus- ja süsteemiprogrammide loomiseks, mis töötavad autonoomselt või koos teiste programmidega. Praegusel ajal on levinud järgmised üldised programmeerimiskeeled Java, C, C++, C#, Visual Basic, Visual Basic.NET, Perl, JavaScript. Spetsialiseeritud keel on tavaliselt otseselt seotud kindla rakendusprogrammiga või -süsteemiga ning selle keele abil saab luua ja kasutada tarkvara ainult antud süsteemi jaoks. Enamiku nüüdisaegsete rakendusprogrammide juurde kuuluvad arendusvahendid, milles kasutatakse ühte või mitut spetsialiseeritud keelt. Programmeerimiskeeled on formaalsed keeled, mis on ette nähtud arvutiprogrammide koostamiseks. Keel määrab kindlad reeglid programmi võimaliku struktuuri, selle komponentide ning töödeldavate andmete ja objektide jaoks. Programm koosneb tavaliselt mitmest suhteliselt sõltumatust osast ehk programmiüksusest. Keeled nimetavad neid mitmeti ja programmiüksustel võib olla erinev struktuur ja töökorraldus. Samas keeles võib kasutata erinevat tüüpi üksusi. Visual Basicu programmide baasüksusi nimetatakse protseduurideks ja nad jagunevad alamprogrammideks ja funktsioonideks. Programmid ja protseduurid koosnevad korraldustest ehk lausetest. Lausete abil määratakse vajalikud tegevused ja nende täitmise järjekord, esitatakse programmi ja protseduuride struktuur, kirjeldatakse andmed jm. Igas programmeerimiskeeles on fikseeritud hulk kindla funktsionaalsusega (otstarbega) lausetüüpe. Iga laustüübi jaoks on keele spetsifikatsiooniga määratletud kaks põhiasja: struktuur ja komponendid ehk lause süntaks ja tähendus ja täitmise reeglid ehk lause semantika Lausete põhielementideks on konstandid, nimed, avaldised ja võtmesõnad. Viimased on kindla esitusviisi ja tähendusega ingliskeelsed sõnad või fraasid (If, Else, For, End Sub jmt), mida kasutatakse ainult kindla lause kindlas kohas. Toome näiteks Visual Basicu programmi, mis koosneb ühest protseduurist. Selle saab panna tööle nii üldises Visual Basicus kui ka MS Office erinevates rakendusprogrammides (näiteks Excel, Word jt). Sub arvuti() aasta = InputBox ("Mis aastal loodi personaalarvuti?") If aasta = 1976 Then teade = "Õige! " Else teade = "vale" MsgBox teade End Sub Toodud protseduur koosneb viiest lausest. Esimene ja viimane lause moodustavad omavahel seotud paari: esimene määrab protseduuri alguse ja selle nime, viimane protseduuri lõpu. Teise lause täitmisel kuvatakse Visual Basicu sisendaken, milles on esitatud lauses toodud küsimus. Akna tekstivälja saab sisestada vastuse ning peale klõpsatust nupule OK võetakse vastus muutuja aasta väärtuseks. Järgnev IF-lause võrdleb muutuja aasta väärtust konstandiga 1975, kui need on võrdsed, siis omistatakse muutuja teade väärtuseks tekst Õige!, vastupidisel juhul Vale!. Eelviimane lause kuvab teateakna, milles on esitatud muutuja teade väärtus. Erki Savisaar 4

5 Programmide loomiseks ja arendamiseks kasutatakse spetsiaalseid programmeerimissüsteeme, mis sisaldavad vahendeid programmide töötlemiseks, silumiseks ja käivitamiseks ning ka mitmesuguseid valmis programmiüksusi, mida saab kasutada loodavas programmis. Iga programmeerimissüsteemi aluseks on kindel programmeerimiskeel. Nüüdisaegsed programmeerimissüsteemid võib jagada kahte rühma: üldised programmeerimissüsteemid ning rakendusprogrammide arendussüsteemid. Üldised programmeerimissüsteemid võimaldavad luua autonoomselt töötavaid süsteemi- ja rakendusprogramme, mis ei pea olema seotud teise rakendusprogrammiga. Seda tüüpi süsteemides on tavaliselt kasutusel laia levikuga universaalsed programmeerimiskeeled, millest peamisi nimetati eespool. Rakendusprogrammide arendussüsteemid ehk arendusvahendid on tavaliselt spetsialiseeritud ning iga taoline süsteem kuulub konkreetse rakendusprogrammi koosseisu. Tema abil saab luua ja kasutada programme ainult antud rakendusprogrammi keskkonnas. Enamasti kasutatakse neis ka ainult süsteemile omast keelt ja muid vahendeid. Visual Basicul põhinev rakenduste arendussüsteem VBA (Visual Basic for Application) oli üks esimene võrdlemisi universaalne arendussüsteem. Esialgu võeti ta kasutusele Microsofti toodetes (Excel, Access, PowerPoint, Word, Project), kuid viimasel ajal leiab kasutust ka teiste firmade rakendusprogrammides: AutoDesk (AutoCAD), Integraph (Imagineer) jt. Rääkides mingis programmeerimiskeeles esitatud programmi täitmisest või lause täitmise reeglitest, öeldakse tavalisel lühidalt (nagu eespool), et andud lause täidab mingeid tegevusi. Kui olla täpne, siis tekstina esitatud programmi lause kui selline ei tee üldiselt midagi. Ta sisaldab korraldusi (eeskirju), mida tegelikult lõppkokkuvõttes täidavad arvuti seadmed, millest peamine on protsessor. See juhib kõikide teiste seadmete tööd etteantud programmi(de) alusel ning täidab põhiosa andmete töötlemisega seotud operatsioone (arvutused, teisendused jm). Igal protsessoritüübil ehk perel (näiteks Inteli protsessorid) on kindel käsustik ehk masinakeel, mis koosneb võrdlemisi elementaarsetest kahendkoodis esitatud käskudest (nt liitmine, lahutamine, võrdlemine jm). Selleks et mingis programmeerimiskeeles esitatud programmi oleks võimalik täita antud tüüpi protsessoriga arvutis, peab programmi tõlkima masinakeelde, milleks kasutatakse eriprogramme translaatoreid (tõlkijaid). Translaatorid on programm, mis tõlgib mingis kõrgemas programmeerimiskeeles kirjutatud programmi masinkoodi. Translaatorid on orienteeritud kindlale programmeerimiskeelele (näiteks Fortran, Visual Basic, C# jmt) ja tihtipeale ka teatud tüüpi protsessorite masinakeelele (näiteks Intel-protsessorid). Lihtsustatult võib programmi loomist, töötlemist ja täitmist kujutada ette järgmiselt. Kõigepealt koostatakse mingis programmeerimiskeeles lähteprogramm, kasutades programmeerimissüsteemi kuuluvat spetsiaalset redaktorit. Translaatori abil tõlgitakse (transleeritakse) lähteprogramm masinakeelde ning saadud masinaprogrammi käsud täidab protsessor. Tööpõhimõtte järgi eristatakse kahte liiki translaatoreid: kompilaatoreid ja interpretaatoreid. Kompilaatori puhul toimub programmi transleerimine (tõlkimine) täitmisest eraldi. Kompilaator transleerib kõigepealt terve programmi masinakeelde, ning alles seejärel toimub selle täitmine. Interpretaatori puhul transleeritakse ja täidetakse programmi paralleelselt. Lihtsamal juhul transleerib ja täidab interpretaator programmi lausete kaupa. Sõltuvalt kasutatava translaatori liigist jagunevad programmeerimissüsteemid ja ka -keeled kahte rühma: kompileerivad ja interpreteerivad süsteemid ja keeled. Enamik üldistest programmeerimissüsteemidest ja -keeltest on orienteeritud kompilaatorile. Erandiks on Visual Basic ja Java, mis võimaldavad kasutada mõlemat varianti. Rakendusprogrammide arendussüsteemides kasutatakse enamasti interpretaatoreid. Erki Savisaar 5

6 Kompilaatori loodud masinakeelse programmi võib salvestada eraldi faili, mida hiljem saab kasutada sõltumatult süsteemist, millega ta on loodud. Windowsis on näiteks taoliste programmifailide tüübiks tavaliselt.exe ja.dll. Interpreteeritavaid programme saab kasutada (täita) ainult selle süsteemis, kus on olemas vastav interpretaator. Taolised programmid töötavad tunduvalt aeglasemalt kui kompileeritud programmid, kuid nende loomine, arendamine ja töötlemine on lihtsam ja kiirem. Erki Savisaar 6

7 2 VBA KASUTAMINE EXCELIS VBA kasutamiseks on vaja lisaks programmi loomisele teada üht-teist ka erinevatest Exceli failiformaatidest ning Excelis olevatest turvamehhanismidest, mis võivad VBA programme peatada. 2.1 Turvalisus Kuigi VBA on loodud selleks, et aidata Teil lihtsustada ja automatiseerida Teie igapäevaseid töid on sellega võimalik kirjutada ka programme, mis teevad pisut pahandust nt kasutavad Teie aadressiraamatut rämpsposti saatmiseks või viiruste levitamiseks, saadavad Teie arvutist konfidentsiaalset või salajast infot programmi loojale või kasutajale, kustutavad Teie arvutist andmeid jne. Tulenevalt sellest tuleb äärmiselt ettevaatlikult suhtuda igasugustesse töövihikutesse ja ka teistesse failidesse, mis sisaldavad programme! Tulenevalt sellest on Microsoft loonud oma Office paketti kuuluvatesse toodetesse üsna kihilise struktuuri, mille abil püütakse eristada head programmid halbadest. Selle struktuuri esimeseks kihiks on alates Office 2007 versioonist faili laiend. Tavalised Exceli tööraamatud.xlsx failid ei saa sisaldada programmi ja on täiesti ohtud. Makrod saavad olla vanades Exceli tööraamatutes.xls failides, binaarsetes Exceli failides.xlsb ja makrodega Exceli tööraamatutes.xlsm. Sellest tulenevalt on soovitus salvestada kõik tööraamatud, milles ei ole VBA koodi.xlsx failidesse! See kiirendab nende avamist ning ühtlasi välistab igasuguse aktiivse/programse sisu. Teine kiht on Office Usalduskeskus (File Options Trust Ceter). Varasemates Excelites Macro Security. Usalduskeskuse seadetest on võimalik määrta, millised on usaldusväärsed programmeerijad/programmeerimisfirmad (eeldam, et makrod on digitaalselt allkirjastatud); millised on kasutad, milles olevaid programme Te usaldate; alates Office 2010 millised on failid, mida Te usaldate. Vaikimisi on Excel seadistatud nii, et kõik makrod keelatakse informeerides Teid sellest vastava teatega. Seejärel saate ise hakta määrama tööraamatuid ning programmeerijaid, keda Te usaldate. Seda vaikekäitumist on samuti võimalik usalduskeskusest muuta kuid see pole soovitav! Üksikute failide usaldamine Kui Officed enne 2010 versiooni küsisid iga kord, kas makrod lubada või keelata siis Office 2010 jätab Teie vastuse meelde. Seega kui avate tööraamatu ning lubate seal käivitada makrosid/programme siis käivitatakse edaspidi sellest raamatust alati programmid ka siis kui neid on vahepeal muudetud. Seega tuleb hoolega mõelda, enne kui kuulutate töövihiku usaldusväärseks. Makrodis sisaldava tööramatu avamis kuvatakse nupulindi all olevale informatsioonireale turvahoiatus markod on keelatud. Vajutades teate järel olevale nupule Enable Content kuulutatakse töövihik usaldusväärseks ning rohkem selle raamatu avamisel enam makrode eest ei hoiatata! Kui Te ei ole valmis nii suurt otsust vastu võtma siis võite jätta nupule vajutamata ning markod jäävatki keelatusk või valida nupulindilt File Info ning sealt Advanced Options, mille alt on võimalik lubada makrod vaid üheks korraks. Erki Savisaar 7

8 Avades faili läbi Open dialoogi püsivat usaldust ei pakutagi. Selle asemel kuvatakse dialoog, mille abil on võimalik makrod vaid lubada vaid üheks korraks Usaldusväärsete asukohtade määramine Usaldusväärseid asukohti saab määrata nii süsteemi administraator globaalselt kui ka oma arvuti tarbeks iga kasutaja ise. Asukohtade määramiseks tuleb avada usalduskeskus: File Trust Center Trust Center Settings Trusted Locations. Erki Savisaar 8

9 Avanevas dialoogiaknas saate läbi nupu Add new location lisada kas ühe usaldusväärse kausta või terve kaustapuu (kaust koos alamkaustadega). Kui makrot sisaldav vihik asub mõnes usaldusväärses asukohas siis seal olevad makrod lubatakse ilma hoiatusteta Digitaalselt allkirjastatud makrod Makrosid saab digitaalselt allkirjastada läbi Visual Basic Editori Tools Digital Signature dialoogi. Kui sel viisil allkirjastatud tööraamat avada ning allkirjastaja ei ole veel usaldusväärne saate läbi informatsioonirea kuulutada antud sertifikaadiga allkirjastatud töövihikud usaldusväärseteks. Erki Savisaar 9

10 Kõik sellise kinnituse saanud sertifikaadid ilmuvad ka usalduskeskusesse Usaldusväärsete kirjastajate loetellu mille kaudu on neid ka võimalik eemaldada. Digitaalsete allkirjade juures tuleb eristada Excelis kahte erinevat allkirja: allkirja, millega on allkirjastatud töövihik ning allkirja, millega on allkirjastatud VBA kood. Markode usaldusväärsust saab kinnitada vaid allkirjaga, mis on antud VBA koodile! Teiseks digitaalseid allkirju on kahte liiki ajatempliga allkirjad ning ilma ajatemplita allkirjad. Kui allkiri on ajatempliga siis kehtib allkiri igavesti. Kui allkiri on ilma ajatemplita siis kehtib ta vaid kuni sertigikaade aegumise ajani. Ajatempli olemasolu saab kahjuks kontrollida vaid allkirjastajate puhul, keda Te veel ei usalda ning seda töövihiku esmasel avalmisel e siis Securitu Notice Dialoogilt vajutades lingile Show Signature Details. Kui avanevas dialoogis on Countersignatures all ajatempli signatuur on allkiri ajatempliga, vastasel juhul on tegemist ilma ajatemplita allkirjaga. Erki Savisaar 10

11 Ajatempli lisamiseks pole Officel kahjuks graafilist liidest. Ajatempli saamiseks tuleb arvutis, mida kasutate allkirjastamiseks teha mõned muudatused registrivõtmetes. Võtme alla HKEY_CURRENT_USER\Software\Microsoft\VBA\Security Tuleb lisada String: TimeStampURL ajatempli serveri aadress so server, mis kinnitab teie sertifikaadi kehtivust allkirjastamise hetkel ning salvestab allkirjastamise aja allkirja juurde. DWORD: TimeStampRetryCount mitu korda üritatakse ajatemplit saada DWORD: TimeStampRetryDelay mitu sekundit oodata enne uut katset. Ajatemplit saab lisada ainult siis kui olete allkirjastamise hetkel Internetiühenduses ning URLis määrtaud server kon kättesaadav! 2.2 VBA programmiüksused VBA rakendustes võib kasutada kahte liiki protseduure: funktsioone ehk Function-protseduure ja alamprogramme ehk Sub-protseduure Alamprogramm kirjeldab üldisema iseloomuga tegevusi. Ta võib leida ja läbi argumentide tagastada suvalise hulga väärtusi, kirjutada andmeid Exceli töövihikutesse ja failidesse, täita mitmesuguseid tegevusi Exceli objektidega (töövihikud, töölehed, diagrammid jne). Alamprogramme ei saa kasutada avaldistes. Alamprogramme saab käivitada alamprogrammi väljakutse lausega. Ilma argumentideta alamprogramme saab kävitada ka läbi Exceli ning Exceli keskkonnas kutsutakse neid makrodeks. Funktsioonid on oma ülesehituselt sarnased alamprogrammidega, kuid nad saavad tagastada ühe väärtuse (arv, string jm), mida on läbi funktsiooni väljakutse võimalik otse kasutada avaldises. VBA abil on Excel keskkonnas võimalik luua järgmisi programme ehk rakendusi: programmid, mis käivituvad klõpsuga mõnel nupul, objektil, kiirkorraldusega või läbi makrode väljakutse akna ja täidavad mingi konkreetse ülesande. programmid, mis käivituvad mingi sündmuse peale Excelis nt tööraamatu avamine, printimine, liikumine töölehel jne ning aitavad neid tegevusi paremini hallata. Programmid, mis käivituvad teatud kellaaegadel ning täidavad mingei konkreetse ülessande Töölehefunktsioonid, mida saab kasutada Exceli töölehel olevates valemites analoogselt Exceli sisemiste funktsioonidega. Need rakendused erinevad üksteisest kasutamise ja käivitamise (pöördumise) viiside poolest ning neis rakendatakse erinevaid mehhanisme koostööks ja andmevahetuseks Exceliga. Üldjuhul võivad nii töölehefunktsioonid kui ka programmid koosneda mitmest koostoimivast erinevat tüüpi protseduurist. Taolisel juhul on üks protseduur alati peaprotseduur, teisi nimetatakse alamprotseduurideks. Erki Savisaar 11

12 Töölehefunktsiooni peaprotseduur on alati Function-protseduur, ning programmil/makrol alati Sub-protseduur. Protseduurid salvestatakse moodulilehtedele, mida saab lisada Exceli töövihikusse. 2.3 Rakenduse põhikomponendid ja töökeskkond VBA toega Exceli rakenduste loomisel ja kasutamisel toimub töö kahe sõltumatu süsteemi (Excel ja VBA) vahendusel, mis saavad täitmise ajal pöörduda üksteise poole ja vahetada andmeid. Mõlemal süsteemil on omaette töökeskkond: kasutajaliides, vahendid omapoolse rakenduse osa loomiseks ja täitmiseks. All oleval joonisel on mõlema süsteemi peamised funktsionaalsed allsüsteemid ning nende töötlemise põhiobjektid. EXCEL Exceli kasutajaliides VBA VBA kasutajaliides Andme- ja valemiredaktor Programmide ja vormide redaktor Korralduste interpretaator Valemite interpretaator Exceli sisefunktsioonide teek Interpretaator VBA sisefunktsioonide teek Exceli objektide teek VBA objektide teek Töölehed Worksheets Sheets Diagrammid Charts Moodulid VBA projekt Vormid Andme ja programmiplokid Töövihikud (Workbooks) VBA tööpiirkond Alates Excel 97 salvestatakse ja säilitatakse VBA-poolse rakenduse komponendid Exceli töövihiku eraldi osas, mida nimetatakse VBA projektiks (VBA Project). Projektis võib esineda kahte tüüpi lehti: moodulilehti ja vormilehti. Olgu märgitud, et Exceli varasemates versioonides projekti mõistet ja sellega seotud vahendeid ei kasutatud ning mooduli- ja vormilehti käsitleti lihtsalt omaette leheliigina kõrvuti töö- ja diagrammilehtedega. Moodulilehed ehk lihtsalt moodulid (Modules) on ette nähtud VBA protseduuride salvestamiseks. Ühes moodulis võib olla üks või mitu protseduuri ning iga moodul on suhteliselt sõltumatu teistest moodulitest. Moodulid jagunevad üldmooduliteks, klassmooduliteks ja objektimooduliteks. Erki Savisaar 12

13 Üldmoodulid (General Modules) sisaldavad protseduure, mis on ühised kogu rakenduse jaoks. Rakenduses võib olla kasutusel üks või mitu üldmoodulit. Neid saab lisada ja eemaldada, nende nimedeks on vaikimisi Module1, Module2,... Klassmoodulid (Class Module) on mõeldud objektmudelisse uute klasside kirjeldamiseks. Iga klassmooduliga saab kirjeldada ühe uue klassi. Objektimoodulid (Object Modules) on seotud kindlate Exceli objektidega: töövihikute, töölehtede, diagrammilehtede ja vormidega. Objektil saab olla ainult üks moodul, see luuakse ja eemaldatakse koos objektiga. Objekti moodulisse võib paigutada protseduure, mis määravad selle objektiga seotud tegevusi. Eeskätt on nad ette nähtud sündmusprotseduuride jaoks. Sündmusprotseduur käivitub automaatselt, kui objektiga toimub ettenähtud sündmus: töövihiku avamine, töölehe aktiveerimine, lahtri või lahtriploki sisu muutmine jm. Vormilehed võimaldavad luua ja kasutada nn kasutajavorme (User Forms), mille abil luuakse rakenduse jaoks spetsialiseeritud kasutajaliidese komponente. Iga kasutajavorm on dialoogiboks (- aken), mis võib sisaldada kõiki Windowsi dialoogiboksidele iseloomulikke elemente: käsunuppe, tekstivälju, loendeid, märkeruute jm. Vormiga ja tema elementidega saab siduda VBA protseduure, mis täidavad elemendi kasutamisega seotud tegevusi. Näiteks võib käsunupuga siduda protseduuri, mis käivitub siis, kui nuppu klõpsatakse hiirega. VBA rakenduse komponente luuakse spetsiaalses VBA projekti aknas, milles võivad omakorda paikneda projektihalduri aken, moodulite ja vormide aknad jm. Protseduuride sisestamine ja redigeerimine toimub programmiredaktori abil, mis on orienteeritud VBA programmide töötlemisele. Ta toetab lausete ja korralduste üksikelementide sisestamist mitmesuguste abivahenditega, võimaldab nende süntaksi automaatset kontrolli ja protseduuride käivitamist, sisaldab spetsiaalseid silumisvahendeid jne. Erki Savisaar 13

14 Vorme luuakse vormiredaktori abil, mis kujutab endast spetsialiseeritud graafikaredaktorit. Ta võimaldab joonestada ja kujundada vorme ja nende elemente ning siduda neid vajalike protseduuridega. VBA-poolse rakenduse täitmisel on keskne osa interpretaatoril, mis on VBA programmide (protseduuride) vahetu täitja. Interpretaator tõlgib (transleerib) VBA laused masinakeelde ja tagab masinakäskude täitmise protsessori poolt ning vajaliku koostöö Exceliga. Interpretaatori jaoks on töötlemise ja täitmise põhiüksuseks protseduur. Saades ühel või teisel viisil korralduse protseduuri täitmiseks, eraldab ta kõigepealt selle jaoks ajutise mälu- ehk tööpiirkonna ning kopeerib sinna moodulilehelt protseduuri teksti. Analüüsides protseduuri lauseid ja korraldusi, teeb interpretaator kindlaks kasutatavad andmed ning eraldab ka nende jaoks ajutised mäluväljad. Seejärel hakkab ta järjest täitma protseduuri lauseid, tõlkides (transleerides) nad masinakeelde ning edastades vastavad käsud täitmiseks protsessorile. Kui protseduuris esineb Exceli korraldusi, siis suunab interpretaator need täitmiseks Excelile. Peale protseduuri töö lõppu likvideerib inerpretaator selle tööpiirkonna. VBA koosseisu kuulub ka sisefunktsioonide kogum ehk teek (library), mis sisaldab valmisprotseduure VBAs kasutatavate funktsioonide jaoks. Analoogiline, kuid täiesti sõltumatu sisefunktsioonide teek on olemas ka Excelis. VBA koostöös Exceliga on oluline osa Exceli objektide teegil. Excelit ennast ja tema rakendust käsitletakse omavahel seotud objektide kogumina. Süsteemis on ette nähtud kindel valik objektitüüpe ehk objektiklasse (töövihik, tööleht, diagramm, lahtriplokk jm). Kõikidel ühte klassi kuuluvatel objektidel (näiteks töölehtedel) on analoogiline struktuur ja ühetaolised omadused ning nendega saab täita samu tegevusi, mis on omased antud objektiklassile. Exceli objektide teek sisaldab iga võimaliku objektiklassi jaoks tema tüüpstruktuuri ja omaduste kirjeldused ning nende standardväärtused. Antud klassi kuuluv uus objekt luuakse selle malli alusel. Iga objektiklassi jaoks on olemas ka kindel valik valmisprotseduure. Kui antakse korraldus täita mingi tegevus (näiteks salvestada töövihik, lisada tööleht jm) klassi kuuluva objektiga, käivitab Excel vastava protseduuri. Erki Savisaar 14

15 3 Makrode lindistamine Lindistamine on hea abivahend, et õppida pisut VBA süntaksit ning leida objekte, milda oma programmides manipuleerida. Lindistamine on ühtali ka kõige lihtsama meetodiga, kuidas muuta rutiinsed tegevused automaatseks. Samas tuleb meeles pidada, et vaid vähesed lindistatud makrod on võimelised töötama korduvalt! Lindistatud kood tuleb alati üle vaadata ning täiendada vastavalt vajadustele! Enne makro lindistamist tuleb hoolega läbi mõelda, mida ja kuidas teete, ning millised liigutused selles tegevuses on hädavajalikud ja mis võib ära jätta. Kasulik oleks kogu lindistatav tegevus ka eelnevalt läbi mängida, et lindistamisel tekiks vähem vigu. Kogu see ettevalmistuse protseduur on väga oluline, kuna lindistades makrot jätab Excel meelde kõik tehtud tegevused ja makro käivitamisel teeb ta kõik liigutused täpselt järele sh nupuribade peitmine ja nähtavaks muutmine, kerimine kerimisrea abil, liikumine hiire ja klaviatuuri abil jne. Makro lindistamiseks vali Developer nupulindilt Code sektsioonist Record Macro. Avanevas dialoogis tuleks kindlasti täita ära makro nimi, kuna ilma nimeta ei saa makrot lindistada. Kui Developer nupulint pole nähtaval siis saate selle nähtavaks muuta märgistades Developer märkeruudu File Options Customize Ribbon lehel. Makro nime esimene märk peab olema täht (A-Z). Edasi võivad tulla nii tähed kui ka numbrid või alakriips _. Makro nimes ei tohi olla tühikuid Ei soovita kasutada täppidega tähti: Õ, Ä, Ö, Ü ja nimesid, mis sarnanevad lahtrite nimedele kuna võib tekkida vigu stiilis ei leia sellist makrot ja makro nimi pole korrektne. NB! Kõik selle sessiooni ajal lindistatud makrod lähevad ühte moodulisse. Pannes vahepeal Makro nimi Kiirkorraldus klaviatuurilt makro käivitamiseks NB! kui selline kiirkorraldus on olemas siis see tühistatakse Makro tegevuste kirjeldus, aitab hiljem aru saada, mida teha üritati Kuhu makro salvestada: Personal Macro Workbook Makro on selles arvutis Exceli töö ajal alati kättesaadav New Workook Makro kirjutatakse uude raamatusse This Workbook Makro kirjutatakse sellesse raamatusse raamatu kinni ja avades uuesti, hakatakse makrosid salvestama uude raamatusse Kui olete Record Macro vormil kõik parameetrid ära täitnud ja vajutanud nupule OK, jätab Excel meelde kõik teie liigutused ja toimingud peale hiire ja menüü liikumise Lindistamise lõpetamiseks vali Developer nupulindilt või olekutelt Stop Recording. Makro käivitamiseks vali Developer nupulindilt Code sektsioonist Macros. Klõpsa soovitud makrol ning vajuta nupule Run. Kui olete kõik soovitu ära teinud siis tuleb lindistamine lõpetada. Selleks võib klõpsata kas Stop Recording nupul või valida menüüst Tools Macro Stop Recording Makrod paigutatakse moodulitesse. Korraga lindistatud makrod on ühes moodulites. Erki Savisaar 15

16 4 Makrode käivitamine 4.1 Käivitamine Developer nupulindilt Käivitatavate makrode loendi leiate Developer nupulindilt Code sektsioonist nupu Macros alt. Sama vormi saab saab avada ka klaviatuurilt kiirkorraldusega Alt+F8. Käivitab valitud makro Paneb selle vormi kinni Makrode nimed Laseb Teil selle makro rea kaupa läbi kammida Otsib makro Visual Basic Editor is ülesse Teeb uue makro lahtris Macro Name oleva nimega Kustutab valitud makro Kiirkorraldus käivitamiseks makro Makro kirjeldus 4.2 Kävitamine Klaviatuurilt Klaviatuurilt makro käivitamiseks vajuta makrole omistatud klahvikombinatsiooni. Klahvikombinatsiooni saad omistada makrot lindistades või hiljem läbi Macro dialoogiakna, valides sealt makro, millele soovite kiirkorraldust omistada ning valite Options 4.3 Nupulindilt Erki Savisaar 16

17 Nupu makro käivitamiseks saate teha nii kiirkäivituslindile kui ka nii olemasolevatele kui ka uutele nupulintidele. Makro käivitiusnupu lisamine nupulintidele Makro käivitiusnupu lisamine kiirkäivituslindile 4.4 Objekt töölehel Makro käivitust on võimalik kleepid peaaegu iga graafilise objekti külge. Kõige tavalisemad objektid on nupud (Forms nupurel Button), kuid on võimalik kasutada ka ükskõik millist teist objekti. Makro lisamiseks objekti juurde tuleb klõpsata graafilisel objektil hiire paremat nuppu ja avanenud kiirmenüüst valida ASSIGN MACRO. Avanevas dialoogiaknas saate valida, milline makro objektil klõpsates käivitatakse Lisaks makrodele saab enamusele graafilistele objektidele lisada teksti ning selle teksti võib sinna panna ka viitena exceli töölehele (vaata Joonis 1) Erki Savisaar 17

18 Joonis 1. Dünaamiliselt andmete leidmine graafilisele objektile Erki Savisaar 18

19 5 VBA JA PROGRAMMEERIMISE PÕHIMÕISTED 5.1 Programmi ja keele põhielemendid Programm koosneb ühest või mitmest protseduurist. Viimasel juhul on üks protseduuridest alati peaprotseduur. Programmi täitmine algab peaprotseduurist, täitmise ajal võib see pöörduda alamprotseduuride poole. Joonisel 3.3 on toodud ühest protseduurist koosneva makro ja funktsiooni struktuur. Siin on nimi protseduuri nimi, mille valib koostaja, arvestades üldisi reegleid nimede jaoks (vt allpool). Tühjad sulud makro nime järel on kohustuslikud. Nad on tunnuseks, et tegemist on makro peaprotseduuriga, milleks saab olla ainult parameetrita alamprogramm. Funktsioonil võivad olla parameetrid, nad näitavad sisendandmeid. Parameetrid saavad väärtused vastavatelt argumentidelt, kui pöördutakse protseduuri poole. Funktsiooni poolt leitav väärtus omistatakse funktsiooni nimele, mille kaudu ta tagastatakse pöördumiskohta. Sub nimi () Function nimi (parameetrid) ' laused ja ' Laused ja kommentaarid ' kommentaarid nimi = tulemus ' Tagastav väärus End Sub End Function Joonis 2. Makro/Protseduuri ja funktsiooni struktuur Kõik protseduurid koosnevad lausete jadast, mis määravad nii protseduuri enda kui ka tema poolt kasutatavad andmed ja täidetavad tegevused. Lauseid täidetakse selles järjekorras, nagu nad esinevad protseduuris. Täitmise järjekorda saab muuta spetsiaalsete juhtimislausete abil. Juhtmislausete kaheks põhiliigiks on valikulaused ja korduslaused. Lisaks lausetele esinevad protseduurides ja nende vahel ka kommentaarid. Kommentaaris olev tekst ei avalda mingit mõju protseduuri täitmisele. Kommentaarid algavad alati ülakomaga ning lõppevad rea lõpus. Komentaarid võivad paikneda nii eraldi real kui ka lause(te) järel rea lõpus. Kommentaaridega kirjeldatakse, mida antud protseduur või lause teeb ning, miks valisite just sellise konstruktsiooni antud küsimuse lahendamiseks. Kommentaarid on olulised selleks, et nii Teil endal kui ka teistel oleks hiljem lihtsam koodi lugeda ning täiendada. Struktuuri järgi jagunevad laused lihtlauseteks ja liitlauseteks laused mis sisaldavad teisi liht- ja liitlauseid. Üldreegel on selline, et iga lause paigutatakse eraldi reale. Erandkorras on kirjutada mitu lauset ühe rea peale. Sellisel juhul eraldatakse samal real olevad laused üksteisest koolonitega. Nt: Range("a1").Value= 5 : nr = Val(Range("a1").value) : nr = nr+1 Samuti võib pikki laused jagada mitmele reale. Tavaliselt kasutatakse seda võimalust selleks, et kood oleks paremini loetav. Lause jätkamiseks järgmisel real tuleb pooliku rea lõppu panna <tühik><alakriips> ( _), mille järel peab rida vahetuma. Näiteks: MsgBox Title:="Küsimus", _ Prompt:="Kas siiani on kõik arusaadav?", _ Buttons:=vbYesNo & vbquestion Reapoolitusmärgi ( _) järel ei tohi olla isegi mitte kommentaare sest lause pole veel lõppenud ning kommentaarid saavad olla vaid lause lõpus või omaette real aga on keelatud lause keskel. Lausete põhielementideks on võtmesõnad, nimed, konstandid, avaldised, piirajad ja eraldajad. Võtmesõnad on kindla esitusviisi ja tähendusega ingliskeelsed sõnad, fraasid või lühendid. Neid kasutatakse lausete identifitseerimiseks ja struktuuri määramiseks (Sub, End Sub, If, Then, Else, Do jne), sisefunktsioonide ja siseprotseduuride ning objektide omaduste nimede tähistamiseks (Sqr, Sin, Left, InputBox, MsgBox, Range jne) jm. Võtmesõnu võib kasutada ainult seal, kus ette nähtud, muuks otstarbeks neid kasutada ei tohi. Erki Savisaar 19

20 Nimesid ehk identifikaatoreid kasutatakse protseduuride, konstantide, muutujate jt elementide tähistamiseks. Nimede esitamiseks on kindlad reeglid. NB! Kõik nimed peavad algama tähega (Inglise tähestikust), alates teisest tähest võib sisaldada tähti, numbreid ja allkriipse. Nimes ei tohi olla tühikuid ja eesti täpitähti või muid sümboleid. Suur- ja väiketähti nimedes ei eristata, kuid need muudavad nimed loetavamaks. Nime pikkus võib olla kuni 255 märki. Mõned näited: a, S, Fy, x1, r_2, pikkus, RingiRaadius, LoeAlg, PriRu_1, p3s21k9 Piirajad esinevad alati paaris, neid kasutatakse mõne keelekonstruktsiooni alguse ja lõpu fikseerimiseks. Peamised piirajad on ( ) - ümarsulud - kasutatakse avaldise osade ning parameetrite ja argumentide piiritlemiseks nt Sqr ( ( a + b ) / ( c + d ) ): Function NatS2 ( n1, n2 ) " " - jutumärgid - kasutatakse stringkonstantide esitamisel nt "Pindala" Eraldajad on mõeldud keelekonstruktsiooni elementide teineteisest eraldamiseks. Peamised eraldajad on koolon - lausete eraldaja S = 0: n = 0 koma - eraldab loetelu elemente RuutVrd a, b, c, x1, x2 punkt - eraldab arvudes murdosa täisosast tühik - kasutatakse seal, kus ei ole teist eraldajat Sub Super1, End Sub, If tulu<=500 Then 5.2 Kokkulepped keele süntaksireeglite esitamiseks Keelekonstruktsioonide kirjeldamisel kasutatakse edaspidi kokkuleppeid, mis võimaldavad näidata kompaktselt ja ühemõtteliselt lausete ja nende elementide esitusviise. Neid kokkuleppeid kasutatakse nii selles materjalis kui ka VBA spikrites. Võtmesõnad, tehtesümbolid, piirajad ja eraldajad moodustavad tavaliselt keelekonstruktsiooni püsiva osa, nad peavad olema esitatud programmis täpselt nendes kohtades ja sellisel kujul, nagu on näidatud kirjelduses. Võtmesõnad on toodud kirjeldustes rasvases püstkirjas Sub, End Sub, Range, Sqr, If jne. Keelekonstruktsioonide muutuvad komponendid võib valida programmi koostaja, arvestades nende esitusreegleid. Kirjeldustes on nad toodud kaldkirjas nimi, avaldis, lause jne. Muutuv osa võib olla esitatud üldkujul, hiljem seda täpsustatakse täiendavate kirjeldustega. Näiteks näitab parameetriteta alamprogrammi struktuuri kirjeldus kujul Sub nimi () laused ja kommentaarid End Sub tähendab, et see peab algama Sub-lausega ning lõppema End Sub-lausega. Nende vahel võivad paikneda laused ja kommentaarid. Sub-lause algab võtmesõnaga Sub, millele järgnevad nimi ja tühjad sulud. Siin on nimi lause muutuv element, mille valib programmi koostaja, arvestades nimede esitusreegleid. Alamprogrammi lõppu määrav End Sub-lause koosneb aga ainult võtmesõnadest. Nurksulgudes olev element võib esineda keelekonstruktsiooni või lause antud kohas, kuid ei ole kohustuslik. Näiteks on Sub-lause kuju üldisem esitus järgmine: Sub nimi ( [ parameetrid ]) Kirjeldusest järeldub, et antud lauses võivad nime järel sulgudes olla parameetrid, kuid need võivad ka puududa. Teine näide. If lause kirjeldus: If tingimus Then laused1 [ Else laused2 ] näitab, et siin ei ole osa Else laused2 kohustuslik. Erki Savisaar 20

21 Looksulud väljendavad nende sees esineva konstruktsiooni esinemist null või enam korda, s.t mis tahes arv korda. Näiteks esitatakse protseduurirea struktuur formaalselt järgmiselt: [ lause [{: lause} ]] [ ' kommentaar ] Sellest esitusest järeldub, et üldjuhul võib rea alguses olla üks või mitu lauset, mis eraldatakse kooloniga. Lausetele võib pärast ülakoma järgneda suvaline tekst (kommentaar). Siit tulenevad ka mitmed erijuhud: rida võib olla tühi, real võib olla ainult üks lause, real võib olla ainult kommentaar. Püstkriipsu kasutakse tähenduses "või" ja tema abil esitatakse mingi elemendi võimalikud variandid. Kui variandid on nurk- või looksulgude vahel, siis näitab see, et mitmest võimalikust variandist võib valida ühe. Näiteks võib nimede esitusreeglid määratleda järgmiselt: täht{täht number allkriips} Siit on näha, et nimi koosneb ühest tähest või tähtede, numbrite ja allkriipsude jadast, mis peab algama tähega. Toodud kirjeldusest ei ilmne piirang nime pikkusele (255 märki) ning asjaolu, et nimedes ei eristata suur- ja väiketähti. 5.3 Skalaarandmed: konstandid ja muutujad Andmete põhiliikideks VBAs on arvud, stringid ehk tekstid, ajaväärtused ja tõeväärtused. Iga andmeliigi jaoks on määratud võimalikud väärtused ja nende diapasoon, lubatud tehted ja operatsioonid. Esialgu piirdume arvude ja stringidega. Lihtsamal juhul kasutatakse programmides skalaarandmeid, mis esinevad konstantide ja muutujatena. Konstandi väärtus esitatakse vahetult programmis ning programmi täitmisel seda muuta ei saa. Iga andmeliigi jaoks on ette nähtud kindlad konstantide esitamise reeglid. Arvkonstandid esitatakse tavaliste kümnendarvudena või kümne astme abil. Reaalarvudes kasutatakse murdosa täisosast eraldamiseks punkti. Näiteid Const n1 = 13, n2 = -532, pi = , n3 = Const n4 = 2.1E6 ' = Const n5 = 1e-12 ' =10-12 Stringkonstant paigutatakse jutumärkide vahele. Jutumärgid ei kuulu konstandi väärtuse sisse. Näiteid Const s1 = "a": Const s2 = "Pindala": Const s3 = "Summa=" Const s4 = "Sisestage raadius": Const s5 = "Yes" VBAs võib kasutada nimeta ja nimega konstante. Nimeta konstant esitatakse otse avaldises või lauses (a + b + c) / * (a^2 + b^2) * d^2 / 4 Nimega konstandid deklareeritakse Const-lause abil, mille struktuur on järgmine Const nimi = väärtus {, nimi = väärtus } Näiteks määrab järgnev lause kolm nimega konstanti Const pi = , n = 100, viga = "Andmed ei sobi!" Konstandi nime võib kasutada erinevates avaldistes ja lausetes viitamiseks vastavale väärtusele. Nt pi * r ^ 2 * h, 2 * pi * r, MsgBox viga Muutujad esitatakse programmides nimede abil. Nimi tähistab kohta arvuti mälus (väli või pesa), mis eraldatakse muutuja väärtuste salvestamiseks ja säilitamiseks programmi täitmise ajal. VBA eraldab igale muutujale koha (välja) oma andmepiirkonnas, kuhu arvuti saab programmi täitmise ajal salvestada tema väärtusi. Viimased leitakse ja salvestatakse (öeldakse - omistatakse muutujale) programmi lausete täitmisel. Igal ajahetkel saab lihtmuutujal olla ainult üks väärtus, mis võib ka puududa. NB! Enne kui muutujale pole omistatud väärtust, on ta määramatu! Olemuselt ja kasutuselt on muutuja analoogiline nimega varustatud Exceli töölehe lahtriga. Erki Savisaar 21

22 5.4 Omistamine, omistuslause ja avaldised Omistamine seisneb väärtuse salvestamises etteantud muutuja väljas. Muutujale saab omistada väärtusi mitmel viisil. Üheks peamiseks väärtuse omistamisvahendiks on omistuslause, mis võimaldab anda ka eeskirja selle väärtuse leidmiseks. Muutujale saab omistada väärtuse, lugedes selle Exceli töölehelt, sisendboksist või failist. Omistuslause põhivariandi kuju on järgmine: muutuja = avaldis Siin määrab avaldis eeskirja väärtuse leidmiseks, muutuja näitab koha arvuti mälus, kuhu väärtus salvestatakse, ning märk "=" on omistusoperatsiooni tähis. Omistuslause täitmine seisneb üldjuhul selles, et leitakse tema paremal poolel oleva avaldise väärtus ja saadud tulemus omistatakse vasakul poolel näidatud muutujale, s.t saadud väärtus salvestatakse muutujale eraldatud väljas. Muutuja eelmine väärtus (kui see oli) kaob. Nagu näha, on omistuslause üsna sarnane Exceli valemiga. Avaldise tähendus ja kasutamine on praktiliselt sama mis Excelis. Omistuslause oluline erinevus Exceli valemist on aga see, et temal on (ja peab alati olema) ka vasak pool, milleks põhivariandis on muutuja nimi. Viimane näitab kohta (välja), kuhu salvestatakse avaldise poolt leitud väärtus. Exceli valemi alusel leitav väärtus salvestatakse alati samasse kohta (lahtrisse), kus asub valem. VBA avaldiste tähendus, kasutamine ja esitusviisid on analoogilised Exceli avaldistega. Üldjuhul võib ta koosneda operandidest, tehtesümbolitest ja ümarsulgudest, mida kasutatakse tehete järjekorra reguleerimiseks. Operandideks võivad olla konstandid, muutujad ja funktsiooniviidad. Erijuhul võib avaldis koosneda ainult ühest operandist. Sõltuvalt andmete liigist ja tehetest jagunevad avaldised arvavaldisteks, stringavaldisteks ja loogikaavaldisteks. Arvavaldistes on operandideks arvud, põhitehteid tähistatakse järgmiste tehtesümbolitega +, -, *, /, ^, mod. Stringavaldistes on operandideks stringid (tekstid). Nende jaoks on üks tehe sidurdamine, mida tähistatakse märgiga & või +. Nt: "Esimene rida" & vbnewline & "Teine rida" Loogikaavaldiste erijuhuks on võrdlused. Võrdluse väärtuseks on alati tõeväärtus True või False. Võrdlusi ja loogikaavaldisi kasutatakse tingimuste esitamiseks valiku- ja korduslausetes. Võrdlustes saab kasutada võrratusoperande <, <=, <>, >, >=, =, And, Eqv, Imp, Not, Or, Xor 5.5 Andmete lugemine töölehelt ja kirjutamine töölehele Üksikväärtuse lugemiseks aktiivselt töölehelt kasutatakse järgmise kujuga omistuslauset: muutuja = lahtriviide Väärtuse saab kirjutada töölehele lausega Viide_lahtriplokile = avaldis Lahtritele ja lahtriplokkidele viitamiseks on mitmeid võimalusi. Peamised variandid on järgmised: Range (piirkonnaviit[, piirkonnaviit]) Cells([lahtrinr] [reanr, veerunr]) Esimene variant võimaldab viidata nii üksiklahtrile kui ka lahtriplokile, lahtriviit on lahtri või lahtriploki aadress või nimi. Need võib esitada stringkonstandi või -muutuja abil. Nime kasutamine eeldab, et see on eelnevalt määratud Excelis. Teine variant võimaldab viidata üksikule lahtrile, siin on rida töölehe reanumber ja veerg on veerunumber, neid arvestatakse töölehe algusest A1 - Cells(1, 1), B1 - Cells(1, 2), C1 - Cells(1, 3),... A2 - Cells(2, 1), B2 - Cells(2, 2),... Indeksite esitamiseks võib kasutada arvavaldisi A B C D E F Erki Savisaar 22

23 2 algus Joonis 3. Viited töölehele Cells(1, 1) Cells(3, 2) Cells(2, 5) Range("A1") Range("B3") Range("E2") Lahtri väärtuste omistamine muutujatele: a = Range("B3").Value: a = Cells(3, 2).Value a = Range("algus").value Väärtuste kirjutamine Exceli töölehele: Range("E2").Value = "Summa": Cells(3, 5).Value = summa Esimene lause kirjutab lahtrisse E2 stringi (teksti) Summa, teine kirjutab lahtrisse E3 muutuja summa väärtuse. Valemite kirjutamine Exceli töölehele: Range("y").Value = 3 * Sin(2 * x) Range("B3:B23").Formula = "=3*Sin(2*x)" Esimene lause kirjutab lahtrisse nimega y avaldise 3 * Sin(2 * x) väärtuse, teine lause kirjutab lahtriplokki B3:B23 Exceli valemi =3*Sin(2*x). Nimi x peab olema Excelis eelnevalt kirjeldatud. Viitamiseks töölehe lahtritele ja lahtriplokkidele konstruktsioonis Range(lahtriviit) on lahtriviit otstarbekas esitada nime abil. Ridade ja veergude lisamisel või eemaldamisel võivad lahtrite aadressid töölehel muutuda ning sel juhul tuleb programmi parandada. Nimi liigub koos lahtri või lahtriplokiga. NB! Lahtril ja VBA muutujal võivad olla ühesugused nimed, kuid nad tähistavad erinevaid objekte (kohti): esimene asub Exceli töölehel teine VBA andmepiirkonnas. Lahtriviidale võib eelneda ka viit töölehele. See on vajalik siis, kui Te ei soovi kirjutada, mitte lehele, mis on hetkel aktiivne vaid mõnele konkreetsele lehele. Selleks võib kasutada järgmist konstruktsiooni: Sheets("lehenimi").lahtriplokk Näiteks loeb järgnev lause väärtuse mitteaktiivse lehe abi lahtrist nimega samm ja omistab selle VBA muutujale h. h = Sheets("abi").Range("samm") 5.6 Dialoogibokside kasutamine Nimeline lahter algus Formulas/Define Names Dialoogibokse võib kasutada teadete väljastamiseks ning üksikväärtuste lugemiseks ja väljastamiseks. Siin vaadeldakse nende kasutamise lihtsamaid võimalusi. VBA siseprotseduur MsgBox võimaldab väljastada teateid ja üksikuid väärtusi. Tema lihtsaim variant on järgmine: MsgBox stringavaldis Lause täitmisel peatatakse programmi täitmine ja kuvatakse teateboks stringavaldise väärtusega ja nupuga OK. Kui kasutaja klõpsab nuppu OK või vajutab klahvile Enter, eemaldatakse boks ja programmi töö jätkub. Keerukamates oludes on võimalik kasutada lisaks ühe nupuge teateaknale ka mitme nupuga teateakent. MsgBox funktsioon tagastab vajutatud nupu numbri Integer kujul. Vajalikud konstandid numbri interpreteerimiseks leiate VBA spikrist. Üksikute tekstiväärtuste väärtuste lugemiseks võib kasutada VBA sisefunktsiooni InputBox, mille põhivariant on järgmine: Erki Savisaar 23

24 muutuja = InputBox(teade [,päis, vaikeväärtus]) Funktsioonil on üks kohustuslik argument - teade, mis võib üldjuhul olla stringavaldis. Lause täitmisel peatatakse programmi töö ning ilmub sisendboks, milles on kuvatud argumendi teade väärtus. Dialoogiboksis on tekstiväli, kuhu kasutaja saab tippida sisestatava väärtuse, ning kaks nuppu OK ja Cancel. Kui kasutaja klõpsab nuppu OK või vajutab klahvile Enter, omistatakse tekstiväljas olev väärtus antud muutujale. Kui kasutaja klõpsab nuppu Cancel või vajutab klahvile Esc, omistatakse muutujale tühi string (""). Argumendi päis väärtus, kui ta esineb, kuvatakse sisendboksi päises. Argument vaikeväärtus on mõeldud vaikimisi võetava väärtuse pakkumiseks. See kuvatakse tekstiväljas ja kui kasutaja ei asenda teda, vaid klõpsab kohe nuppu OK, võetakse ta muutuja väärtuseks. Näiteks kuvab lause n = InputBox("Jaotiste arv",, 20) sisendboksi teadisega Jaotiste arv, boksi päises on tekst Microsoft Excel ning tekstiväljas arv 20. Kui kasutaja klõpsab kohe nuppu OK, võetakse muutuja n väärtuseks 20. Sisendboksist loetavat väärtust käsitletakse alati tekstina. Arvude puhul võib see põhjustada probleeme. Probleemide haldamiseks on soovitav saadud sisendit kontrollida ning enne kasutamist teisendada soovitud numbrikujule. Dim nr As Double Dim ok As Boolean Dim sisend As String ok = False Do sisend = InputBox("Kriba mõni number") If IsNumeric(sisend) Then nr = Val(sisend) ok = True Else MsgBox "Sisend ei ole number. Proovi uuesti", _ vbcritical End If Loop Until ok ' Jätkame programmiga Ülaltoodud näites kontrollitakse peale sisendi saamist, kas tegemist on millegi sellisega, mis näeb välja nagu number. Kui sisend ei ole numbrina tõlgendatav siis antakse kasutajale vastav teade ning võimalus numbri uueks sisestamiseks. Kuna oodatakse Double tüüpi numbrit (kõige suurm numberitüüp, mida VBA tunneb) siis puudub sellest näitest vahemiku kontroll. Kui on vaja lugeda näiteks täisarv siis võib juhtuda, et sisestatud number ei mahu antud muutuja väärtuspiirkonda ära või on sisestatud reaalarvuna. Sellisel juhul on vaja lisada täiendavaid kontrolle! All olevas näites oodatakse vastuseks täisarvu ning koodi on täiendatud täiendavate kontrollidega numbri suurusele ja kujule. Dim nr As Integer ' Täisarv Dim ok As Boolean Dim sisend As String Dim dsisend As Double ok = False Do sisend = InputBox("Kriba mõni täisarv") Erki Savisaar 24

25 If IsNumeric(sisend) Then dsisend = Val(sisend) If dsisend < Then MsgBox "Sisend on liiga väike. Proovi uuesti" ElseIf dsisend > Then MsgBox "Sisend on liiga suur. Proovi uuesti" ElseIf dsisend <> Int(dSisend) Then MsgBox "Sisend ei ole täisarv. Proovi uuesti" Else nr = CInt(sisend) ok = True End If Else MsgBox "Sisend ei ole number. Proovi uuesti" End If Loop Until ok ' Jätkame programmiga Kuna selliseid sisendeid võib minna vaja mitmetes erinevates programmides ja programmiosades on mõistlik sellise koodibloki kopeerimise asemel antud sisendi lugemine teisendada funktsiooniks! Nt: Function KysiT2isarv(ByVal Kysimus As String, _ ByVal MinNr As Long, ByVal MaxNr As Long, _ Optional ByVal Pealkiri As Variant, _ Optional ByVal vaikeväärtus As Variant) As Long Dim nr As Long Dim ok As Boolean Dim sisend As String Dim dsisend As Double ok = False Do sisend = InputBox(Kysimus, Pealkiri, vaikeväärtus) If IsNumeric(sisend) Then dsisend = Val(sisend) If dsisend < MinNr Then MsgBox "Sisend on liiga väike. Proovi uuesti", _ vbcritical, Pealkiri ElseIf dsisend > MaxNr Then MsgBox "Sisend on liiga suur. Proovi uuesti", _ vbcritical, Pealkiri ElseIf dsisend <> Int(dSisend) Then MsgBox "Sisend ei ole täisarv. Proovi uuesti", _ vbcritical, Pealkiri Else nr = CLng(sisend) Erki Savisaar 25

26 ok = True End If Else MsgBox "Sisend ei ole number. Proovi uuesti", _ vbcritical, Pealkiri End If Loop Until ok ' Tagastame saadud sisendi KysiT2isarv = nr End Function Koodinäide 1 Sisendi täisarvulise küsimise funktsioon Sellise funktsiooni kasutamine võik eelmise näite baasil olla järgmine: Dim nr As Integer nr = CInt(KysiT2isarv("Kriba mõni täisarv", , 32767)) ' Jätkame programmiga Üks hea programmeerija tunnus ongi oskus näha koodis korduvaid blokke, mida vormistada omaette alamprotseduuride, funktsioonide ja objektidena. See võimaldab koodi korduvkasutada ning vähendab oluliselt nii kirjutamisvaeva kui ka vigu kirjutamisel! 5.7 Programmide silumisest ja testimisest Programmide koostamisel ja sisestamisel võidakse teha vigu. Esimestel käivitamiskatsetel ei pruugi programm üldse tööle hakata või katkeb selle töö lõpuni jõudmata ning ekraanile ilmub mingi veateade. Sellega algab programmi silumine, s.t vigade otsimine ja parandamine (ja mõnikord ka uute vigade tekitamine!). Kuid isegi siis, kui programm töötab lõpuni ning väljastab tulemused, ei saa kaugeltki kindel olla, et need on õiged. Et tõestada programmi õigsust, peab seda testima erinevate andmetega ning võrdlema tulemeid kontrollandmetega või siis mingil muul viisil veenduma, et programm teeb alati just seda, mida on vaja. Olgu märgitud, et suurte programmide korral (algajale ka üsna väikeste) võib nende silumine ja testimine olla üsna mahukas ja keeruline töö ning võtta rohkem aega kui programmi koostamine. Praktikas toimuvad koostamine, silumine ja testimine tavaliselt paralleelselt, eriti kui programm koosneb mitmest osast. Tihtipeale koostatakse testimiseks spetsiaalsed testprogrammid/skriptid/robotid, mis automatiseerivad programmi kontrollimist. Programmi töötlemise ja täitmise ajal väljastab VBA tõrkeid tekitavate vigade kohta veateadised. Sõltuvalt sellest, millises faasis tõrked tekivad, jagunevad VBA veateadised kahte rühma: transleerimisaja veateadised (Compile errors) ja täitmisaja veateadised (Run-time errors) Süntaksi vead - Transleerimisaja veateate väljastab VBA siis, kui ta ei suuda lähteprogrammi teksti vigade tõttu tõlkida mingit lauset või lauserühma masinakeelde. Enamasti on põhjuseks süntaksivead, kuid mõnikord ka sisuvead. Veateadiseid võib väljastada redaktor protseduuri sisestamise käigus või interpretaator, kui ta on saanud korralduse makro täitmiseks. Kui redaktoris ei ole välja lülitatud automaatne süntaksikontroll, siis peale rea sisestust või lahkumist realt proovib VBA transleerida real olevad laused kohe masinakeelde. Kui see ei õnnestu, siis väljastab ta eeldatava vea põhjuse ja märgistab ka selle võimaliku asukoha. Nii üks kui teine ei pruugi olla täpsed, eriti kui vigu on rohkem kui üks. Redaktori võimalikke veateadiseid on üsna palju. Toome näiteks paar sageli esinevat teadet. Erki Savisaar 26

Puudub protseduur. Protseduuri nimi võib olla valesti kirjutatud. Protseduuri (või funktsiooni) poole pöördumisel on vähem argumente kui vaja.

Puudub protseduur. Protseduuri nimi võib olla valesti kirjutatud. Protseduuri (või funktsiooni) poole pöördumisel on vähem argumente kui vaja. Puudub protseduur. Protseduuri nimi võib olla valesti kirjutatud. Sub prog1() Msgox "Tere" Sub prog2() a = si(1) Protseduuri (või funktsiooni) poole pöördumisel on vähem argumente kui vaja. a = Sin() Protseduuri

More information

SQL Server 2005 Expressi paigaldamine

SQL Server 2005 Expressi paigaldamine SQL Server 2005 Expressi paigaldamine Laadige alla.net Framework 2.0 http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d- 8edd-aab15c5e04f5 Avage http://www.microsoft.com/express/2005/sql/download/default.aspx

More information

MS Exceli automatiseerimine makrode abil

MS Exceli automatiseerimine makrode abil MS Exceli automatiseerimine makrode abil 1 Koolitaja Silver Toompalu, MSc silver@toompalu.ee, postiindeks 511 6117 TTK ja EMÜ õppejõud (majanduse alused, statistika ja andmeanalüüs, informaatika, majandusmatemaatika,

More information

Tabelid <TABLE> Koostanud: Merike Hein

Tabelid <TABLE> Koostanud: Merike Hein Tabelid Tabelite kasutusvõimalus on HTML'is olemas juba pikka aega. Tabelimärgendite esmaseks kasutusalaks oli muidugi mõista tabelkujul info kuvamine. tähendab siis tabelite joonistamist.

More information

Andmebaasid (6EAP) I praktikum

Andmebaasid (6EAP) I praktikum Andmebaasid (6EAP) I praktikum Mõisteid Server on arvutisüsteem või selles töötav tarkvara, mis pakub teatud infoteenust sellega ühenduvatele klientidele. Klient on tarkvara, mis võimaldab suhelda serveriga.

More information

TP-Link TL-WR743ND Juhend

TP-Link TL-WR743ND Juhend TP-Link TL-WR743ND Juhend 1) Ühenda oma arvuti TP-Link ruuteriga üle kaabli (LAN). 2) Kui arvuti ja ruuter said omavahel ühendatud, siis võid minna seadme koduleheküljele (interneti brauseri otsingu reasse

More information

SQL Serveri paigaldus. Laadimine:

SQL Serveri paigaldus. Laadimine: SQL Serveri paigaldus Laadimine: http://msdn.microsoft.com/vstudio/express/sql/download/ Tasub paigaldada kõige lihtsam versioon (SQL Server 2005 Express Edition SP2). Samalt lehelt saab laadida ka Sql

More information

WD My Net N600 juhend:

WD My Net N600 juhend: WD My Net N600 juhend: 1) Kui WD My Net N600 seade on ühendatud näiteks Elioni Thomsoni ruuteriga (TG789vn või TG784) või Elioni Inteno DG301a ruuteriga, kus üldiselt on ruuteri Default Gateway sama, nagu

More information

MSDE Upgrade platvormile SQL 2005 Server Express SP4

MSDE Upgrade platvormile SQL 2005 Server Express SP4 MSDE Upgrade platvormile SQL 2005 Server Express SP4 NB! Windos XP puhul peab veenduma, et masinas oleks paigaldatud.net Framework vähemalt versioon 2.0!!! NB! Muutke oma SA parool turvaliseks ( minimaalne

More information

NAS, IP-SAN, CAS. Loeng 4

NAS, IP-SAN, CAS. Loeng 4 NAS, IP-SAN, CAS Loeng 4 Tunniteemad Network Attached Storage IP Storage Attached Network Content Addressed Storage Network Attached Storage Tehnoloogia, kus andmed on jagatud üle võrgu Salvestusvahendile

More information

Andmebaasi krüpteerimine ja dekrüpteerimine

Andmebaasi krüpteerimine ja dekrüpteerimine Andmebaasi krüpteerimine ja dekrüpteerimine Me võime küll asetanud kõikidele andmebaasi objektidele ligipääsuõigused eri kasutajate jaoks, kuid ikkagi võib mõni häkker avada vastava faili lihtsalt failina

More information

XmlHttpRequest asemel võib olla vajalik objekt XDomainRequest

XmlHttpRequest asemel võib olla vajalik objekt XDomainRequest 1 2 3 XmlHttpRequest asemel võib olla vajalik objekt XDomainRequest 4 5 6 7 8 https://www.trustwave.com/global-security-report http://redmondmag.com/articles/2012/03/12/user-password-not-sophisticated.aspx

More information

Tallinna Ülikooli veebipuhvri teenuse kasutamine väljaspool ülikooli arvutivõrku

Tallinna Ülikooli veebipuhvri teenuse kasutamine väljaspool ülikooli arvutivõrku Tallinna Ülikooli veebipuhvri teenuse kasutamine väljaspool ülikooli arvutivõrku Selleks, et kasutada Tallinna Ülikooli veebipuhvrit väljaspool ülikooli arvutivõrku, tuleb luua ühendus serveriga lin2.tlu.ee

More information

Makrode koostamine. Menüüde koostamine

Makrode koostamine. Menüüde koostamine Makrode koostamine Makrode abil Access lubab automaatselt korrata erinevaid tegevusi ning seega tarbija ei pea kirjutama keerukaid programmi mooduleid. Makro on samasugune Accessi objekt, nagu tabel, päring,

More information

Lõimed. Lõime mõiste. Lõimede mudelid. Probleemid lõimedega seoses. Pthreads. Solarise lõimed. Windowsi lõimed. FreeBSD lõimed.

Lõimed. Lõime mõiste. Lõimede mudelid. Probleemid lõimedega seoses. Pthreads. Solarise lõimed. Windowsi lõimed. FreeBSD lõimed. Lõimed Lõime mõiste Lõimede mudelid Probleemid lõimedega seoses Pthreads Solarise lõimed Windowsi lõimed FreeBSD lõimed Linuxi lõimed MEELIS ROOS 1 Ühe- ja mitmelõimelised protsessid code data files code

More information

Mälu interfeisid Arvutikomponendid Ergo Nõmmiste

Mälu interfeisid Arvutikomponendid Ergo Nõmmiste Mälu interfeisid Arvutikomponendid Ergo Nõmmiste Mälu liigid Read-only memory (ROM) Flash memory (EEPROM) Static random access memory (SRAM) Dynamic random access memoty (DRAM) 1 kbaidine mälu vajab 10

More information

IPv6 harjutused. Aadressi kuju, kirjaviis, osad, liigid Aadressi saamise viisid

IPv6 harjutused. Aadressi kuju, kirjaviis, osad, liigid Aadressi saamise viisid IPv6 harjutused Aadressi kuju, kirjaviis, osad, liigid Aadressi saamise viisid IPv6 aadressi kuju IPv4 32 bitti (4 baidi kaupa) Kuju kümnendarvud 4 kaupa punktidega eraldatud 192.168.252.200 IPv6 128 bitti

More information

TTÜ informaatikainstituut. Algoritmimine

TTÜ informaatikainstituut. Algoritmimine TTÜ informaatikainstituut Algoritmimine Algoritm on täpne ja ühemõtteline eeskiri antud liiki ülesannete lahendamiseks või tegevuste täitmiseks kindla eesmärgi saavutamisel. Algoritm määrab, milliseid

More information

Kirje. Kirje. Tüpiseeritud fail. CASE-lause. Laiendatud klahvikoodid. 1

Kirje. Kirje. Tüpiseeritud fail. CASE-lause. Laiendatud klahvikoodid. 1 Kirje. Tüpiseeritud fail. CASE-lause. Laiendatud klahvikoodid. 1 Kirje Kirje (record) on struktuurne andmetüüp (nagu massiiv) erinevat tüüpi andmete gruppeerimiseks. Kirje koosneb väljadest (field). Iga

More information

TTÜ informaatikainstituut. Algoritmimine

TTÜ informaatikainstituut. Algoritmimine TTÜ informaatikainstituut Algoritmimine Algoritm on täpne ja ühemõtteline eeskiri antud liiki ülesannete lahendamiseks või tegevuste täitmiseks kindla eesmärgi saavutamisel. Algoritm määrab, milliseid

More information

Mis on tõene? Tsüklid, failihaldus. if - näited. unless - näited. unless. Merle Sibola. if ($arv > $suur) { #leitakse suurim arv $suur=$arv; } #if

Mis on tõene? Tsüklid, failihaldus. if - näited. unless - näited. unless. Merle Sibola. if ($arv > $suur) { #leitakse suurim arv $suur=$arv; } #if Mis on tõene? Tsüklid, failihaldus Merle Sibola iga string on tõene, välja arvatud "" ja "0" iga number on tõene, v.a. number 0 Iga viide (reference) on tõene Iga defineerimata muutuja on väär. if if (EXPR)

More information

Lühike kokkuvõte Pascal-keele süntaksist 1

Lühike kokkuvõte Pascal-keele süntaksist 1 Lühike kokkuvõte Pascal-keele süntaksist 1 Sellest osast leiab järgmised mõisted ja teemad Keeltest, kompileerimisest ja Pascali ajaloost identifikaator, programmi struktuur, lihtandmetüübid, konstant,

More information

InADS infopäev Villem Vannas Maarja Mahlapuu Janno Tetsmann

InADS infopäev Villem Vannas Maarja Mahlapuu Janno Tetsmann www.datel.ee InADS infopäev Villem Vannas Maarja Mahlapuu Janno Tetsmann Millest räägime Mis on InADS, kasutusjuhud Villem InADS visard keskkond Maarja Arendaja vaade: InADS API Janno Põhiline vajadus

More information

Erik Jõgi. twitter.com/erikjogi twitter.com/codeborne

Erik Jõgi. twitter.com/erikjogi twitter.com/codeborne Disain Erik Jõgi erik@codeborne.com twitter.com/erikjogi twitter.com/codeborne Disain? Miks? Bad code Clean Code A Handbook of Agile Software Craftsmanship Robert C. Martin, 2008 Uncle Bob You know you

More information

Programmeerimine. 3. loeng

Programmeerimine. 3. loeng Programmeerimine 3. loeng Tana loengus T~oevaartustuup ja loogilised avaldised Hargnemisdirektiivid { Lihtne if-lause { if-else-lause { Uldkujuline if-lause Tsuklidirektiivid { Eelkontrolliga tsukkel {

More information

EESTI STANDARD EVS-ISO 11620:2010

EESTI STANDARD EVS-ISO 11620:2010 EESTI STANDARD EVS-ISO INFORMATSIOON JA DOKUMENTATSIOON Raamatukogu tulemusindikaatorid Information and documentation Library performance indicators (ISO 11620:2008) EVS-ISO EESTI STANDARDI EESSÕNA NATIONAL

More information

Tsüklidirektiivid. Klass Math. Staatilised meetodid. Massiivid. Koostada programm, mis leiab positiivsete paarisarvude summat vahemikus 1 kuni 20.

Tsüklidirektiivid. Klass Math. Staatilised meetodid. Massiivid. Koostada programm, mis leiab positiivsete paarisarvude summat vahemikus 1 kuni 20. Harjutustund 3 Tsüklidirektiivid. Klass Math. Staatilised meetodid. Massiivid. Tsüklidirektiivid Vaadake teooriat eelmisest praktikumist. Ülesanne 1 Koostada programm, mis leiab esimeste 20 arvude summat

More information

EESTI STANDARD EVS-ISO/IEC 27003:2011

EESTI STANDARD EVS-ISO/IEC 27003:2011 EESTI STANDARD EVS-ISO/IEC 27003:2011 INFOTEHNOLOOGIA Turbemeetodid Infoturbe halduse süsteemi teostusjuhis Information technology Security techniques Information security management system Implementation

More information

Andmebaaside varundamine ja taastamine

Andmebaaside varundamine ja taastamine Andmebaaside varundamine ja taastamine Sybase SQL Anywhere 12 Menüü Pane tähele... 1. Andmebaasist kujutise tegemine ja taastamine 2. Andmebaasist pakitud varukoopia tegemine ja taastamine 3. Andmebaasist

More information

Milleks tüübid? Mida teeb järgmine programmijupp? x 1 := "Pii siinus on : "; x 2 := ; printx 2 ; print(sin(x 1 ));

Milleks tüübid? Mida teeb järgmine programmijupp? x 1 := Pii siinus on : ; x 2 := ; printx 2 ; print(sin(x 1 )); Milleks tüübid? Mida teeb järgmine programmijupp? x 1 := "Pii siinus on : "; x 2 := 3.1415926;... printx 2 ; print(sin(x 1 )); Ei tea (loodetavasti siiski mitte midagi väga hullu :-) VARMO VENE 1 Milleks

More information

ESIMENE OSA - ALGAJATELE

ESIMENE OSA - ALGAJATELE ESIMENE OSA - ALGAJATELE Esimene osa on jõukohane neile, kel on olemas programmeerimise alusteadmised. Täiendava materjalina võib kasutada oma programmeerimiskeele dokumentatsiooni. 1 PROGRAMMIDE SISEMAAILM

More information

ArcGIS mobiilsed lahendused kasutades pilve teenuseid. Raido Valdmaa, AlphaGIS

ArcGIS mobiilsed lahendused kasutades pilve teenuseid. Raido Valdmaa, AlphaGIS ArcGIS mobiilsed lahendused kasutades pilve teenuseid Raido Valdmaa, AlphaGIS ArcGIS terviklik süsteem üks kaart, erinevad platvormid ArcGIS Online Server Rakendused ArcGIS Viewers ArcGIS APIs Javascript,

More information

Windows XP ja varasemates versioonides kasutati arvuti failides otsimiseks Windows Search versiooni 2.

Windows XP ja varasemates versioonides kasutati arvuti failides otsimiseks Windows Search versiooni 2. Windows 7 otsingud Windows XP ja varasemates versioonides kasutati arvuti failides otsimiseks Windows Search versiooni 2. Windows 7 kasutab täiustatud otsingut Windows Desktop Search (WDS), mis põhineb

More information

Informatsiooni andmeelementide omavaheliste seoste kohta saab, kui vastata järgmistele küsimustele:

Informatsiooni andmeelementide omavaheliste seoste kohta saab, kui vastata järgmistele küsimustele: Andmestruktuurid Programmid töötlevad andmeid. Neid hoitakse programmi töö jooksul mälus. Andmed pole amorfne arvude ja stringide hulk, vaid neil on omavahel väga olulised struktuursed seosed, mis võivad

More information

MTAT OPERATSIOONISÜSTEEMID praktikumid. Kersti Taurus

MTAT OPERATSIOONISÜSTEEMID praktikumid. Kersti Taurus MTAT.03.008 OPERATSIOONISÜSTEEMID praktikumid Kersti Taurus Mida tehakse praktikumides? Paigaldatakse operatsioonisüsteemid: Windows 7 Professional 64 bit eestikeelne ver. opensuse Linux 11.2 Edasi ülesanded

More information

SEADISTAMISE JUHEND. Zoiper. Toompuiestee 37, Tallinn;

SEADISTAMISE JUHEND. Zoiper. Toompuiestee 37, Tallinn; SEADISTAMISE JUHEND Zoiper Toompuiestee 37, 10133 Tallinn; teenindus@gonetwork.ee; +372 6310700 Sisukord Sissejuhatus... 3 Täpsustav info... 3 Sätted... 3 Windows (UDP)... 4 Allalaadimine ja Paigaldamine...

More information

Objektorienteeritud programmeerimine

Objektorienteeritud programmeerimine Objektorienteeritud programmeerimine 2. loeng 19. veebruar 2018 Marina Lepp 1 Möödunud nädalal Loeng Sissejuhatus Praktikum Paaristöö, algus Vastlapäev Sõbrapäev Hiina uusaasta 2 Umbes mitu tundi tegelesite

More information

Robot iehit amise j uhend Mikrokont rolleri programmeerimine C keeles Põhiline C keelest

Robot iehit amise j uhend Mikrokont rolleri programmeerimine C keeles Põhiline C keelest Robot iehit amise j uhend Mikrokont rolleri programmeerimine C keeles Põhiline C keelest Autorid: Alar Ainla Alvo Aabloo Tartu Ülikool Juhendi koostamist on toetanud EITSA SISUKORD SISUKORD 2 SISSEJUHATUS

More information

ABIMATERJAL ROBOOTIKA TÖÖVIHIKULE Algoritmid ja programmeerimine

ABIMATERJAL ROBOOTIKA TÖÖVIHIKULE Algoritmid ja programmeerimine Raivo Sell, Mikk Leini ABIMATERJAL ROBOOTIKA TÖÖVIHIKULE Algoritmid ja programmeerimine Robootika Kodulabori baasil Kujundus ja küljendus: Raivo Sell Arvutigraafika: Raivo Sell Keeletoimetus: Airi Veber

More information

Lühike paigaldusjuhend TK-V201S TK-V401S 1.01

Lühike paigaldusjuhend TK-V201S TK-V401S 1.01 Lühike paigaldusjuhend TK-V201S TK-V401S 1.01 Sisukord Eesti 1 1. Enne alustamist 1 2. Riistvara paigaldamine 2 Technical Specifications 8 Tõrkeotsing 9 Version 05.12.2010 1. Enne alustamist Eesti Pakendi

More information

Objektorienteeritud programmeerimine. 5. märts, 4. loeng Marina Lepp

Objektorienteeritud programmeerimine. 5. märts, 4. loeng Marina Lepp Objektorienteeritud programmeerimine 5. märts, 4. loeng Marina Lepp 1 Loeng Möödunud nädalal Klassid. Isendid. Konstruktorid. Sõned. Mähisklassid Praktikum Objektid ja klassid. Muutujate skoobid. Objektide

More information

IT infrastruktuuri teenused. Failiserver. Margus Ernits

IT infrastruktuuri teenused. Failiserver. Margus Ernits IT infrastruktuuri teenused Failiserver Margus Ernits margus.ernits@itcollege.ee 1 Failide hoidmine kasutaja arvutis pole tihti mõistlik, kuna Failiserver Arvuti kõvaketta hävimisega kaovad andmed ja nendest

More information

Andmebaasid kursuse andmemudel

Andmebaasid kursuse andmemudel Veebiteenused SyBase SQL Anywhere koostanud Sander Sepp SQL Anywhere on andmebaasi juhtsüsteem, mis sisaldab HTTP veebiserveri funktsionaalsust. Veebiserver võimaldab andmebaasi luua veebiteenuseid. Veebiteenused

More information

Puuduvate andmetega toimetulemine SQL-andmebaasides

Puuduvate andmetega toimetulemine SQL-andmebaasides Sisukord Puuduvate andmetega toimetulemine SQL-andmebaasides 1. Sissejuhatus...1 2. Vastandlikud seisukohad...2 3. NULLide lubamine baastabelis...3 4. Puuduvate andmete esitamine...4 4.1 IS NULL predikaat...6

More information

Digitaalne signaal Diskreetimine ja Dirac Delta Digitaalfiltrid. Digitaalne heli. Hendrik Nigul. Mathematics of Sound and Music.

Digitaalne signaal Diskreetimine ja Dirac Delta Digitaalfiltrid. Digitaalne heli. Hendrik Nigul. Mathematics of Sound and Music. Mathematics of Sound and Music Aprill 2007 Outline 1 Digitaalne signaal 2 3 z-teisendus Mis on heli? Digitaalne signaal Heli on elastses keskkonnas lainena leviv mehaaniline võnkumine. amplituud heli tugevus

More information

Programmeerimine. 2. loeng

Programmeerimine. 2. loeng Programmeerimine 2. loeng Tana loengus Nimed ja muutujad Baastuubid Litaraalkonstandid Omistamine Aritmeetilised avaldised Funktsioonide rakendamine Standardteegid Muutujad Imperatiivses programmeerimises

More information

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon. Enn Õunapuu

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon. Enn Õunapuu IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon Enn Õunapuu enn.ounapuu@ttu.ee Millest räägime Vaatleme lähemalt rakenduste integratsiooni vajadust ja võimalusi

More information

Nokia E51 kasutamine modemina

Nokia E51 kasutamine modemina Tartu Ülikool Matemaatika-informaatika teaduskond Arvutiteaduse instituut Nokia E51 kasutamine modemina Juhend Koostaja: Allar Tammik Juhendaja: Kersti Taurus Tartu 2008 Sisukord Sissejuhatus...3 Arvuti

More information

PHP koodimisstandard PSR

PHP koodimisstandard PSR Tallinna Ülikool Informaatika Instituut PHP koodimisstandard PSR Seminaritöö Autor : Manuel Vulp Juhendaja : Jaagup Kippar Tallinn 2014 Sisukord Sissejuhatus... 4 1 Mis on koodimisstandard?... 5 2 Miks

More information

Bluetooth Software Update Manual for Windows 7. Applicable from 2012 products CDE-13xBT & CDE-W235BT & CDA-137BTi

Bluetooth Software Update Manual for Windows 7. Applicable from 2012 products CDE-13xBT & CDE-W235BT & CDA-137BTi Bluetooth Software Update Manual for Windows 7 Applicable from 2012 products CDE-13xBT & CDE-W235BT & CDA-137BTi 1 Sissejuhatus See juhend kirjeldab samm-sammult kuidas uuendada seadme Bluetooth tarkvara.

More information

R algajatele, eriti neile kes pole varem programmeerinud

R algajatele, eriti neile kes pole varem programmeerinud R algajatele, eriti neile kes pole varem programmeerinud Tartu, 9. mai 2006 1 2 3 4 5 6 7 8 9 Kava Mis on R? S keele variant Üldotstarbeline k~orgtaseme programmeerimiskeel le orienteeritud vahendid vektorid

More information

TARTU ÜLIKOOL. Arvutiteaduse instituut LOODUS- JA TÄPPISTEADUSTE VALDKOND

TARTU ÜLIKOOL. Arvutiteaduse instituut LOODUS- JA TÄPPISTEADUSTE VALDKOND TARTU ÜLIKOOL Arvutiteaduse instituut LOODUS- JA TÄPPISTEADUSTE VALDKOND Anita Scharonberg CVE-2015-3457 Referaat Juhendaja: Meelis Roos Tartu 2016 SISUKORD 1 Sissejuhatus... 3 2 Turvaauk... 3 3 Turvaaugu

More information

Andmete koosseisu kirjeldamine tarkvaraga Enterprise Architect ja andmete koosseisu importimine RIHAsse

Andmete koosseisu kirjeldamine tarkvaraga Enterprise Architect ja andmete koosseisu importimine RIHAsse Andmete koosseisu kirjeldamine tarkvaraga Enterprise Architect ja andmete koosseisu importimine RIHAsse Juhend kirjeldab UML laiendust (profiili) andmekoosseisude ja andmeobjektide kirjeldamiseks ning

More information

COBOL Common Business-Oriented Language

COBOL Common Business-Oriented Language COBOL Common Business-Oriented Language Ain Uljas Ajalugu Esmaettekanne 28 mai 1959 Pentagonis peale seda kui American Departement of Defense palus grupil spetsialistidel luua ärivajadusi rahuldav keel,

More information

Õpimapi loomise protsess Juhendi sisu I Saidi loomine Mine alusta uue saidi loomist CREATE

Õpimapi loomise protsess Juhendi sisu I Saidi loomine Mine alusta uue saidi loomist CREATE Õpimapi ehk e-portfoolio loomine google sites keskkonnas Õpimapi loomise protsess I. Igapäevane õppetöö, mille õppeülesannete täitmise käigus loob õppija erinevaid materjale: klassitööd, kodutööd, esseed,

More information

11. Transpordikiht. Side IRT3930 Ivo Müürsepp

11. Transpordikiht. Side IRT3930 Ivo Müürsepp 11. Transpordikiht Side IRT3930 Ivo Müürsepp Transpordikihi funktsioonid Ühendusele orienteeritud side. Virtuaalne otsekanal alg- ja sihtpunkti vahel. Sõltumatus alumiste kihtide ülesehitusest ja protokollistikust.

More information

Rakendustarkvara: R. Sügis 2017, 1. praktikum

Rakendustarkvara: R. Sügis 2017, 1. praktikum Rakendustarkvara: R. Sügis 2017, 1. praktikum 1 Lühike sissejuhatus R on programmeerimiskeel ja -keskkond, mis on arendatud statistiliseks andmetöötluseks. R-i kasutavate inimeste hulk on viimase kümmekonna

More information

Androidi rakenduste ligipääsu õigused

Androidi rakenduste ligipääsu õigused Tallinna Ülikool Digitehnoloogiate Instituut Androidi rakenduste ligipääsu õigused Seminaritöö Autor: Martin Kütt Juhendaja: Jaagup Kippar Autor:...... 2017 Juhendaja:...... 2017 Instituudi direktor:......

More information

Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu.

Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu. Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu enn.ounapuu@ttu.ee Millest tuleb jutt? Kuidas ma näen, millises sammus erinevad protsessid parasjagu on? Kuidas ma aru saan, kas protsess töötab

More information

Semantika, tuubid, loogika ja programmeerimine

Semantika, tuubid, loogika ja programmeerimine Sissejuhatus informaatikasse Semantika, tuubid, loogika ja programmeerimine Varmo Vene Arvutiteaduse Instituut Tartu Ulikool 5. mai 2009. Tsitaat klassikutelt Sissejuhatus Everyone knows that debugging

More information

Venni diagrammide õpiprogramm

Venni diagrammide õpiprogramm TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Marko Täht Venni diagrammide õpiprogramm Bakalaureusetöö (9 EAP) Juhendaja: dots. Rein Prank Tartu 2016 Venni diagrammide õpiprogramm Lühikokkuvõte:

More information

Algoritmikeelte analüüs

Algoritmikeelte analüüs TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Arvutitehnika instituut Algoritmikeelte analüüs Ringi pindaladega arvutamise keel Priit Rebina 107362IASMM Tallinn 2011 1 Sisukord 1. Sissejuhatus..3

More information

Programmeerimise 2. vaheeksam

Programmeerimise 2. vaheeksam Programmeerimise 2. vaheeksam 5. jaanuar 2015, kell 10:00 13:00 1. Fraktal (3p) yl1.py Kõrvaloleval pildil on fraktali 1., 2., 3. ja 4. taseme näidised. Kirjuta rekursiivne funktsioon, mis võtab argumendiks

More information

EESTI STANDARD EVS-ISO/IEC :2011

EESTI STANDARD EVS-ISO/IEC :2011 EESTI STANDARD EVS-ISO/IEC 15408-1:2011 INFOTEHNOLOOGIA Turbemeetodid Infoturbe hindamise kriteeriumid Osa 1: Sissejuhatus ja üldmudel Information technology Security techniques Evaluation criteria for

More information

CSS (Cascading Style Sheets)

CSS (Cascading Style Sheets) 1 of 5 26.03.2013 19:04 CSS (Cascading Style Sheets) CSS on keel kujunduse loomiseks veebidokumentidele. Tänases praktikumis rakendame CSS-i veebidokumendile, kasutades programmi Dreamweaver. Töö toimub

More information

BC4J - Java ärikomponentide algõpetus Oracle9i JDeveloper arenduskeskkonna baasil

BC4J - Java ärikomponentide algõpetus Oracle9i JDeveloper arenduskeskkonna baasil Tallinna Pedagoogikaülikool Matemaatika-loodusteaduskond Informaatika osakond Triin Lichfeld BC4J - Java ärikomponentide algõpetus Oracle9i JDeveloper arenduskeskkonna baasil Bakalaureusetöö Juhendaja:

More information

TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala. Bakalaureusetöö (6 EAP)

TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala. Bakalaureusetöö (6 EAP) TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Gerrit Kraav Mobiilse haiglainfosüsteemi broneeringu rakenduse arendamine Bakalaureusetöö (6 EAP) Juhendaja:

More information

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 3 Integratsioon. Enn Õunapuu

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 3 Integratsioon. Enn Õunapuu IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 3 Integratsioon Enn Õunapuu enn.ounapuu@ttu.ee Millest räägime Vaatleme lähemalt rakenduste integratsiooni vajadust ja võimalusi Integratsiooni

More information

Sissejuhatus Funktsionaalne programmeerimisparadigma

Sissejuhatus Funktsionaalne programmeerimisparadigma Sissejuhatus Funktsionaalne programmeerimisparadigma Paradigma järgi liigitub funktsionaalne (ingl functional) programmeerimine koos loogilise (ingl logic) programmeerimisega deklaratiivse programmeerimise

More information

VIITMUUTUJA. ARVUTI MÄLU PAINDLIK KASUTAMINE

VIITMUUTUJA. ARVUTI MÄLU PAINDLIK KASUTAMINE VIITMUUTUJA. ARVUTI MÄLU PAINDLIK KASUTAMINE SISSEJUHATUS Selle teema raames tutvustan ma Teile üht omapärast andmeobjekti VIITMUUTUJAT. Selleks, et järgnevast jutust hästi aru saada, tuleb meelda tuletada

More information

Pädevushaldus RESTful veebiteenuste abil

Pädevushaldus RESTful veebiteenuste abil Tallinna Ülikool Informaatika Instituut Pädevushaldus RESTful veebiteenuste abil Seminaritöö Autor: Eigen Lenk Juhendaja: Mart Laanpere Tallinn 2010 Sisukord Sissejuhatus... 3 1. Muutused veebitarkvara

More information

GTK+ raamistiku kasutamine Pythonis PyGl mooduli vahendusel

GTK+ raamistiku kasutamine Pythonis PyGl mooduli vahendusel Tallinna Ülikool Digitehnoloogiate instituut GTK+ raamistiku kasutamine Pythonis PyGl mooduli vahendusel Seminaritöö Autor: Sander Peerna Juhendaja: Inga Petuhhov Tallinn 2016 Autorideklaratsioon Deklareerin,

More information

Objekt-orienteeritud programmeerimine MTAT (6 EAP) 5. Loeng. H e l l e H e i n h e l l e. h e i e e

Objekt-orienteeritud programmeerimine MTAT (6 EAP) 5. Loeng. H e l l e H e i n h e l l e. h e i e e Objekt-orienteeritud programmeerimine MTAT.03.130 (6 EAP) 5. Loeng H e l l e H e i n h e l l e. h e i n @ut. e e Täna loengus: Abstraktsed klassid Liidesed Mähisklassid 2 Abstraktsed klassid Meetodit nimetatakse

More information

FUNKTSIONAALNE PROGRAMMEERIMINE. Animatsioonid

FUNKTSIONAALNE PROGRAMMEERIMINE. Animatsioonid Animatsioon on liikuv, ehk ajast sõltuv, graafika Liikumise illusioon saavutatakse sellega, et teatud ajavahemike järel (optimaalseks peetakse 30 freimi sekundis) joonistatakse erineva pildiga uus freim

More information

Tervita oma MacBooki Air.

Tervita oma MacBooki Air. Kiirjuhend Tervita oma MacBooki Air. Alustame. Maci käivitamiseks vajuta toitenuppu ning rakendus Setup Assistant annab sulle mõned lihtsad juhised, kuidas arvuti töökorda seada. See aitab sul Wi-Fi võrku

More information

Objektorienteeritud programmeerimine

Objektorienteeritud programmeerimine Objektorienteeritud programmeerimine 2. loeng 18. veebruar Eno Tõnisson kasutatud ka Helle Heina ja Jüri Kiho materjale 1 Eelmisel nädalal loeng sissejuhatus praktikum paaristööna Asteroid 2012 DA14 möödus

More information

RASPBERRY PI 3 MODEL B WI-FI SEADISTAMISPROTSESSI LIHTSUSTAMINE

RASPBERRY PI 3 MODEL B WI-FI SEADISTAMISPROTSESSI LIHTSUSTAMINE TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Tarkvarateaduse instituut Valeri Randalainen 142680IAPB RASPBERRY PI 3 MODEL B WI-FI SEADISTAMISPROTSESSI LIHTSUSTAMINE Bakalaureusetöö Juhendaja: Roger

More information

2

2 1 2 3 4 5 St. seotud grupid 6 7 Soovitused: Vältida sidusgruppide tähtsuse järgi järjestamist. Minimeerige üksikute sidusgruppide esiletõstmist. 8 9 10 11 12 Päästeameti avalik veebileht (www.päästeamet.ee)

More information

Turvaline laohaldussüsteem programmeerituna keeles PHP

Turvaline laohaldussüsteem programmeerituna keeles PHP TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Informaatika eriala Kristjan Robam Turvaline laohaldussüsteem programmeerituna keeles PHP Bakalaureusetöö (6 EAP) Juhendaja: Helle

More information

APPLE I ÕPPEMATERJAL TABELARVUTUSPROGRAMM NUMBERS

APPLE I ÕPPEMATERJAL TABELARVUTUSPROGRAMM NUMBERS Tallinna Ülikool Informaatika Instituut APPLE I ÕPPEMATERJAL TABELARVUTUSPROGRAMM NUMBERS Seminaritöö Autor: Sandra Saartok Juhendaja: Jaanika Meigas Tallinn 2014 Sisukord SISSEJUHATUS... 3 1 IWORK JA

More information

Ülesanne nr. 13. Töölaua andmebaasisüsteemi MS Access (2007) võimalustega tutvumine.

Ülesanne nr. 13. Töölaua andmebaasisüsteemi MS Access (2007) võimalustega tutvumine. Ülesanne nr. 13 Töölaua andmebaasisüsteemi MS Access (2007) võimalustega tutvumine. Laadige õppekeskkonna kataloogist Harjutustunnid alla andmebaas Magajate_Systeem.mdb, tehke läbi näited ja täitke esitatud

More information

Näidisrakendusel põhinev Microsoft Silverlight 3 õppematerjal

Näidisrakendusel põhinev Microsoft Silverlight 3 õppematerjal Tallinna Ülikool Informaatika Instituut Näidisrakendusel põhinev Microsoft Silverlight 3 õppematerjal Microsoft Silverlight 3 Tutorial for Creation of a Data Driven Application Bakalaureusetöö Autor: Ilja

More information

SDL MultiTerm i koolitus

SDL MultiTerm i koolitus SDL MultiTerm i koolitus Üldist...3 Kasutamisviisid...3 MultiTerm versioonid...3 Varasemad MT versioonid...3 MT komponendid...3 Formaadid...3 Andmebaasi komponendid ja ülesehitus...3 Töö MultiTerm'i põhiprogrammiga...4

More information

Tarkvaraprogrammi Hot Potatoes kasutamine

Tarkvaraprogrammi Hot Potatoes kasutamine Tarkvaraprogrammi Hot Potatoes kasutamine 16.- 17.08.2006 Anneli Kesksaar Anneli Kesksaar anke@hot.ee - Liivalaia Gümnaasium 1 HotPotatoes on vabavarana saadaval olev tarkvaraprogramm harjutuste koostamiseks.

More information

MS Excel 2007 algkursus

MS Excel 2007 algkursus MS Excel 2007 algkursus Tallinn 2008 -2- Mis on MS EXCEL? Microsoft Excel on samuti Microsoft Office-i üks osa nagu MS Word'gi. Programm on mõeldud arvutuste teostamiseks tabelites. MS Ecxeli abil on võimalik

More information

Veebilehe loomine HTML5 abil

Veebilehe loomine HTML5 abil Tallinna Ülikool Informaatika Instituut Veebilehe loomine HTML5 abil Seminaritöö Autor: Vladimir Vološin Juhendaja: Andrus Rinde Autor:......... 2011 Juhendaja:...... 2011 Tallinn 2011 Sisukord Sissejuhatus...

More information

Turvaauk CVE

Turvaauk CVE Turvaauk CVE-2012-0158 Marko Täht Microsoft Office on laialdaselt kasutatud tarkvara erinevate andmete töötluseks. Office versioonidel 2003, 2007 ja 2010 olid haavatavad läbi spetsiaalselt valmistatud

More information

Allalaadimiseks. Virtuaalmasinad. Slaidid

Allalaadimiseks.     Virtuaalmasinad. Slaidid 1 Allalaadimiseks Virtuaalmasinad http://elab.itcollege.ee:8000/ Slaidid http://enos.itcollege.ee/~irokk/v6rgud.pdf ARVUTIVÕRGUD - ALUSED Indrek Rokk Indrek.Rokk@itcollege.ee 3 Meeldetuletuseks (1) Milline

More information

Regulaaravaldised Unixis ja Windowsis

Regulaaravaldised Unixis ja Windowsis Tartu Ülikool Matemaatika-informaatikateaduskond Arvutiteaduse instituut Regulaaravaldised Unixis ja Windowsis Referaat Koostajad: Tarvo Kärberg, Marko Peterson, Kaupo Voormansik Juhendaja: Kersti Taurus

More information

Qt raamistiku võimalused graafilise kasutajaliidesega rakenduse loomisel Python keeles

Qt raamistiku võimalused graafilise kasutajaliidesega rakenduse loomisel Python keeles Tallinna Ülikool Digitehnoloogiate Instituut Qt raamistiku võimalused graafilise kasutajaliidesega rakenduse loomisel Python keeles Seminaritöö Autor: Alex Neil Juhendaja: Inga Petuhhov Tallinn 2016 Sisukord

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-ISO/IEC 27033-3:2013 INFOTEHNOLOOGIA Turbemeetodid Võrguturve Osa 3: Tüüpsed võrgustsenaariumid Riskid, kavandamismeetodid ja reguleerimisküsimused Information technology Security techniques

More information

Pinu põhine puhvri ületäitumine DCE/RPC kontroll mootoris Cisco ASA 5500 seeria ja Cisco Catalyst 6500 seeria seadmetel CVE

Pinu põhine puhvri ületäitumine DCE/RPC kontroll mootoris Cisco ASA 5500 seeria ja Cisco Catalyst 6500 seeria seadmetel CVE Tartu Ülikool Matemaatika-informaatikateaduskond Arvutiteaduse instituut Pinu põhine puhvri ületäitumine DCE/RPC kontroll mootoris Cisco ASA 5500 seeria ja Cisco Catalyst 6500 seeria seadmetel CVE-2012-4661

More information

SIDE (IRT 3930) Põhipunktid. Loeng 11 Transpordiprotokollid Teema - infotransport. Teenuse (lingi) demultipleks. Infotransport kliendilt serverini

SIDE (IRT 3930) Põhipunktid. Loeng 11 Transpordiprotokollid Teema - infotransport. Teenuse (lingi) demultipleks. Infotransport kliendilt serverini SIDE (IRT 3930) Loeng 11 Transpordiprotokollid Teema - infotransport Klient- mudel Teenuste jaotus Infotransport klient- seoses Töökindel infoülekanne võrgukihi kaudu ja transpordiprotokollid Põhipunktid

More information

ProMark. märgiseprinteri kasutamise lühijuhend. - Eesti - Doc: MK9-M-04-03

ProMark. märgiseprinteri kasutamise lühijuhend. - Eesti - Doc: MK9-M-04-03 ProMark märgiseprinteri kasutamise lühijuhend - Eesti - Doc: MK9-M-04-03 Lk: 2 SISUKORD SEADME OSAD... 3 KLAHVID JA NENDE FUNKTSIOONID... 4 EKRAAN (SISESTUSVÄLJAD JA TÄHISED)... 7 TORU/PROFIILI JA TRÜKILINDIKASSETI

More information

CSS i laiendusvõimalused läbi Sass i ning selle kasutamine veebirakenduste loomisel

CSS i laiendusvõimalused läbi Sass i ning selle kasutamine veebirakenduste loomisel Tallinna Ülikool Informaatika Instituut CSS i laiendusvõimalused läbi Sass i ning selle kasutamine veebirakenduste loomisel Seminaritöö Autor: Martin Koidu Juhendaja: Jaagup Kippar Tallinn 2012 Autorideklaratsioon

More information

SQL lausete veateadete headuse analüüs kolme erineva andmebaasisüsteemi näitel

SQL lausete veateadete headuse analüüs kolme erineva andmebaasisüsteemi näitel TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Informaatikainstituut Infosüsteemide õppetool SQL lausete veateadete headuse analüüs kolme erineva andmebaasisüsteemi näitel Bakalaureusetöö Üliõpilane:

More information

Platvormiülene NXC keskkond

Platvormiülene NXC keskkond TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Priit Rand Platvormiülene NXC keskkond Magistritöö (30 EAP) Juhendaja: MSc Anne Villems Kaasjuhendaja: MSc

More information

JavaScript programmeerimise tüüpvead ja parimad praktikad

JavaScript programmeerimise tüüpvead ja parimad praktikad Tallinna Ülikool Informaatika Instituut JavaScript programmeerimise tüüpvead ja parimad praktikad Seminaritöö Autor: Kristjan Tammekivi Juhendaja: Andrus Rinde Autor:...,,2014 Juhendaja...,,2014 Instituudi

More information

TALLINNA ÜLIKOOL. Haapsalu Kolledž. Rakendusinformaatika. Hendrik Nõgene HELI SALVESTAMISE VEEBIRAKENDUS KASUTADES WEB AUDIO API T.

TALLINNA ÜLIKOOL. Haapsalu Kolledž. Rakendusinformaatika. Hendrik Nõgene HELI SALVESTAMISE VEEBIRAKENDUS KASUTADES WEB AUDIO API T. TALLINNA ÜLIKOOL Haapsalu Kolledž Rakendusinformaatika Hendrik Nõgene HELI SALVESTAMISE VEEBIRAKENDUS KASUTADES WEB AUDIO API T Diplomitöö Juhendaja: Andrus Rinde Haapsalu 2017 TALLINNA ÜLIKOOL Haapsalu

More information

Veebilehtede loomine, css3

Veebilehtede loomine, css3 CSS... 3 CSS LINKIMINE HTML DOKUMENDIGA... 4 Välise stiililehe rakendamine... 4 Sisemise stiili rakendamine... 4 Reastiili rakendamine... 5 CSS ÕIGEKIRI... 5 Erinevad selektorid... 6 Elemendi nimega selektorid...

More information