Visual Basic -ohjelmointi Tietotyypit ja valintarakenteet 10.4.2017
Tietotyypeistä Valikoi muuttujalle sopiva tietotyyppi, ei liian pieni eikä liian suuri. Ohjelmasi suorituskyky paranee. Aloittelevalle koodarille riittävät tietotyypit: Integer -kokonaisluku Double -desimaaliluku String -teksti Char -merkki Boolean -totuusarvo Date -pvm (#mm/dd/yy#) 10.4.2017
Tietotyyppejä Tietotyypit jaetaan alkeistyyppeihin (primitive types): kokonaislukutyypit (Byte, Short, Integer, Long, Char) liukulukutyypit (Float, Double) totuusarvotyyppi (Boolean) viittaustyyppeihin (reference type): luokkatyypit, interface-tyypit, taulukkotyypit 10.4.2017
Kokonaislukutyypit Byte (1 tavu) Arvoalue: -128 - 127 Short (2 tavua) Arvoalue: -32768 - 32767 Integer (4 tavua) Arvoalue: -2147483648 - 2147483647 Long (8 tavua) Arvoalue: -9223372036854775808 - 9223372036854775807 10.4.2017
Totuusarvotyyppi Boolean Arvot : True, False Muunnoksissa 0 = False, muut True Dim Totuus As Boolean = 0 on sama kuin Dim Totuus As Boolean = False 10.4.2017
Merkkityyppi Char Merkkiarvot (char) ovat posititiivisia kahden tavun mittaisia kokonaislukuja. Merkit on koodattu ns. Unicode-koodilla, joka sisältää maailman useimpien kirjoitusjärjestemien kirjain- ja numeromerkit 10.4.2017
Päivämäärätyyppi Date Päivämäärä annetaan koodissa muodossa kuukausi, päivä, vuosi USA:n käytännön mukaisesti Päivämäärän alkuun ja loppuun sijoitetaan risuaidat (#) Esim. 31.12.2003 koodataan #12/31/03# 10.4.2017
Tyyppimuunnokset Tyyppimuunnoksilla muutetaan tietotyyppi toiseksi, mikäli mahdollista Yleisimmät tyyppivaihdokset: CBool(expression) CChar(expression) CDate(expression) CDbl(expression) CInt(expression) CStr(expression) 10.4.2017
Ehtorakenteista Mikäli ohjelmalla on monta vaihtoehtoa valittavana ei välttämättä kannata käyttää If – Elseif – Else – End If rakennetta Tehokkaampi on Select Case ehtorakenne Kumpikin ehtorakenne toimii ja ajaa saman asian, mutta Select Case on tehokkaampi, koska haarautuminen riippuu vain yhdestä muuttujasta 10.4.2017
Valintalause Select Case Select Case muuttuja Case arvo1 … Case arvo2 Case arvo3 Case Else End Select 10.4.2017
Valintalause Select Case… Dim Nimi As String Nimi = InputBox("Anna nimesi:") Select Case Nimi Case "Irene" MsgBox("Tervetuloa Irene!") Case "Christian" MsgBox("Tervetuloa Christian!") Case Else MsgBox("Käyttäjää ei tunneta!") End Select 10.4.2017
Valintalause Select Case… Dim Ika As Integer Ika = InputBox("Anna ikäsi:") Select Case Ika Case Is < 18 MsgBox("Alaikäinen") Case 18 To 65 MsgBox("Työikäinen") Case Else MsgBox("Eläkeläinen") End Select Vertailussa tarvitaan Is ja To avainsanoja 10.4.2017
Harjoitus 1 Tee ohjelma, joka kysyy käyttäjän kuukausipalkan ja kertoo sen ostovoiman. Jos palkka on alle 2000 €, niin tulostetaan “Kaurapuuro on ihan hyvää…” Jos palkka on 2000 – 3000 €, niin tulostetaan “Kerran vuodessa Kanarialle…” Jos palkka on 3000 - 4000 €, niin tulostetaan “Joskus jopa Meksikoon…” Jos palkka on yli 4000 €, niin tulostetaan “Minne mieli tekeekin…” Muuten tulostetaan “Syöttämäsi palkka on virheellinen” 10.4.2017
Harjoitus 1… 10.4.2017
Harjoitus 2 Tee ohjelma, jonka latauksen yhtydessä listboxiin tulostetaan maat: Suomi, Englanti, Espanja ja Italia kukin omalle rivilleen. Käyttäjän valikoidessa hiirellä jonkun maan listboxista, tulostetaan kyseisen maan kielellä tervehdys textboxiin. Formiin lisätään myös lopetusnäppäin. Suomi - "Hei ohjelmoija" Englanti - "Hello, programmer" Espanja - "Hola, programador" Italia - "Ciao, programmatore" 10.4.2017
Harjoitus 2… 10.4.2017