Du vil også finne denne teksten her eller på Wikibooks. Jeg anbefaler sterkt å ta en titt på sistnevnte, idet den vil til enhver tid være den mest kurante versjonen.
Dette er programmeringspråket for deg med ingen erfaring fra andre dataspråk.
Visual Basic er enkelt, samtidig som det har svært få begrensninger i språket.
I det hele er Visual Basic (heretter referert som VB) et kraftig utviklerverktøy
som man raskt kan skape komplekse programmer uten noen særlig stor kunnskap
i data.
Jeg vil i det hele tatt anbefale alle som har begynt å snuse på muligheten
om å lage sine egne programmer med å starte i denne enden, og så senere gå
over til andre programmeringspråk som C++ hvis det i hele tatt skulle være
nødvendig (og i de tilfellene det er det, kan man bruke begge språkene). Visual
Basic var i starten ganske treigt i forhold til andre språk, men har i senere
tid forbedret seg kraftig, og man kan idag faktisk lage store ressurskrevende
3D-spill direkte i VB.
I disse forandrende tider har det allerede kommet en ny VB versjon som ikke
vil bli dekket i denne guiden. VB.NET, som den kalles, er så fundamental annerledes
enn forgjengerene at mye i denne guiden ikke vil kunne fungere skikkelig.
Derfor bør du helst ha VB6, eller lavere før du starter.
All kode i denne guiden vil være merket med en grønn
farge for at du lettere skal kunne skile alt fra hverandre.
Hva du trenger
For å skrive VB-kode bør man ha en såkalt kompiler. Dette er et program som
oversetter VB-koden til maskinkode som dataen kan bruke. Du kan kjøpe ett
slikt program, eller laste ned en gratis "demo", VB CCE, her.
Du kan ikke lage EXE-filer VB CCE, men skal du bare teste ut VB er dette heller
ikke nødvendig.
VB-programmet
Etter du har åpnet VB-kompileren spretter en dialog boks fram med spørsmål
om hva du vil lage. Ikke bry deg om alt det andre, men velg "Standard
EXE" og trykk på OK. Helt automatisk vil en form bli laget
hvor du kan legge inn hva det skal være. Til venstre ser du en hel del knapper
og bokser som indikerer forksjellige controls (ting) du kan legge inn i formen.
Trykk f.eks på boksen med A, og trykk så på en vilkårlig plass i formen
og dra. Du vil nå ha lagt inn en Label, ett lite vindu hvor du kan
skrive inn tekst til bruken.
La oss nå komme igang. Legg inn en CommandButton ved å velge knappen
med bildet av en liten boks og legg den inn på et tilfeldig sted i formen.
Trykk på denne knappen du nettopp lagde, og du vil bli sendt inn i kode-delen
av VB.
Koding med VB
Du vil nå kunne se denne teksten i innskrivnings vinduet:
Private Sub Command1_Click()
End Sub
La oss se nærmere på dette. Private Sub Command1_Click()
markerer begynnelsen på hva VB skal gjøre når noen trykker på knappen. Command1
er navnet på knappen og Click er årsaken
til at denne delen av koden ble kjørt Private
betyr bare at koden er lokal og kan ikke nås fra andre moduler. End
Sub markerer slutten på koden.
Men la oss ta litt teori før vi går videre. Det vi så nå var godt kalt en
prosedyre. Mesteparten av den koden du skriver vil være i prosedyrer, som
egentlig bare er en måte å dele opp koden på. Det finnes forskjellig typer
prosedyrer, og Sub er en type. Koden
vi nettopp så, kalles også en Event fordi den startes når noe skjer.
I dette tilfellet er det når en bruker trykker på en knapp. Ok. La oss skrive
inn noe kode.
Imellom Private Sub Command1_Click()
og End Sub skriver du:
MsgBox "Hallo verden!"
La så teste dette ved å trykke på F5, eller på play-knappen i verktøylinjen.
Formen vi lagte dukker så opp, sammen med den knappen vi la inn. Trykk på
knappen og en meldingsboks med teksten Hallo verden kommer opp. Stilig,
ikke sant?
Du kan skrive inn hva det skal være istedenfor Hallo verden, men det
må
være mellom de to gåseøynene for at det skal virke. Lek deg litt med forskjellige
meldinger før du går videre på neste del.
Tekstbokser
Gå ut av kodedelen og tilbake til formen. Dette gjør du ved å avslutte kode-vindet
med X-knappen nedenfor den helt øverst til høyre. Så skal du se etter en knapp
på verktøylinjen helt til venstre der du helt tydelig ser en liten boks med
skriften ab| i. Trykk på den, og legg den inn slik du gjorde med Command1-knappen.
Så må du endre navnet på tekstboksen. Dette gjør du ved å markere teksboksen
og så lete etter en verktøyboks kalt "Properties - Text1".
Finner du den ikke, må du kanskje framheve den med F4. I denne verktøyboksen
skal det være to kolonner med forskjellige verdier i. Det er her alle egenskapene
til et objekt befinner seg i. Se etter (Name) i den venstre kolonnen.
Når du har funnet den endrer du cellen i den høyre kolonnen fra Text1
til txtTekst. Dette er for å gjøre alt mer oversiktelig og lettere
å lese uten å teste koden. Vi trenger ikke skifte navnet på Command1,
men for din egen del bør du navngi alt du legger inn, også formen.
Når den er trykt lagt inn i formen går du tilbake til Command1 koden
med å trykke på knappen du allerede har i formen. Så bytter du ut MsgBox
koden du la inn med dette:
MsgBox txtTekst.Text
Start koden med F5 og skriv noe inn i tekstboksen. Trykk så på knappen og
völa, teksten du skrev inn vil befinne seg i meldingsboksen. Så, hva skjedde
her? Jo, tekstboksen du kalte for txtTekst kan nås ved å skrive dets navn.
Teksten inne i en tekstboks hentes ved å skrive .Text
etter navnet. Hvis du ser nærmere på Properties vinduet vil du finne
cellen merket med Text. Syntaksen er derfor:
[object].[property]
Prøv nå å legge inn denne koden istedenfor:
txtTekst.Text = "Hallo verden!"
Tekstboksen vil nå inneholde teksten Hallo verden etter du har trykket
på knappen. Det du nå har vitnet kalles Property, eller en Egenskap
til en kontroll. Dette vil du se mye av i din programmerings karriære, og
er derfor lurt å lære seg.
Variabler
Variabler er en vital del av programmeringspråket. De lagrer forskjellig type
informasjon slik du kan senere nå dem. Til forksjell fra mange andre språk
trenger man ikke deklarere en variabel før man kan bruke den, men det er absolutt
å anbefale. For å deklarere en variabel bruker man kommandoen Dim.
Vi kan teste dette ved å legge denne koden inn hvor du tidligere har skrevet
MsgBox kodene:
Dim Test
Test = "Hallo verden!"
MsgBox Test
Koden gjør ikke noe mer enn det første eksempelet, men viser hvordan man bruker
variabler. Videre kan man sette en variabel lik en egenskap i en kontroll.
Endre navnet på tekstboksen til txtNavn. Så legger du til en ny teksboks
som du kaller txtAlder. Finn fram kodevinduet og lim dette inn istedenfor
den andre koden:
Dim TekstUt
TekstUt = "Mitt navn er " & txtNavn.Text
TekstUt = TekstUt & ". Jeg er " & txtAlder.Text & "
år gammel"
MsgBox TekstUt
Kjør koden og skriv navnet ditt inn i txtNavn, mens du skriver inn
alderen din i txtAlder. Trykk på knappen. Nå vil en meldings boks komme
opp hvor navnet og alderen din står. Som du ser gjør variabler det mye enklere
å skrive kode. Du la kanskje merke til et for nå ukjent tegn i programmeringen:
& .Denne brukes kanskje enkelt for å sette sammen tekst slik som vist
i eksempelet.
Du trenger ikke bare bruke tekst i variablene dine. Tall kan også brukes,
og naturligvis utregning av mattematiske formler. Se på dette eksempelet.
Dim Tall
Tall = 2 + 2
MsgBox Tall
Dette vil gi 4, noe som vi alle må være enige 2 + 2 er. Alle fire regnearter
kan
brukes, og naturligvis også variabler:
Dim Ledd
Dim Ledd2
Dim Sum
Ledd = 12
Ledd2 = 8
Sum = Ledd + Ledd2
MsgBox Ledd & " + " & Ledd2 & " = " &
Sum
Vi kan nå f.eks lage et lite regneprogram som multipliserer sammen to tall
fra brukeren. Kall den ene teksboksen for txtTall, og den andre for
txtTall2.
Legg dette inn i Command1 sub-en:
MsgBox txtTall.Text & " * " & txtTall2.Text & "
= " txtTall.Text * txtTall2.Text
Vær oppmerksom på at teksboksene må inneholde tall, ikke bokstaver. Følger
man ikke denne regelen får man en feilmelding (Type mismatch) og programmet
stanser. Kommer dette fram har man valget å debuge (debug), eller å
avslutte programmet og returnere til VB (end).
Når vi skal deklarere flere variabler kan det av og til være nyttig å ha alt
på samme linje. Dette kan vi gjøre ved å dele opp variablene med komma slik:
Dim Tall, Sum
Tall = 5
Sum = Tall + 5
MsgBox Sum
Du kan deklarere så mange variabler du vil på samme linje, men ikke overdriv.
Lag en ny dim linje når det hele begynner å bli uoversiktelig. Eventuelt
deklarer etter kategorier slik at du Dim'er alle tekst variablene
først, og så tar tall variablene på en ny linje. Det er helt opp til deg hvordan
du vil skrive koden, men det er nyttig å holde alt ryddig å pent. Det kan
hindre deg fra å bruke mange timer med debugging.
Funskjoner
Funskjoner er prosedyrer akkuratt som sub-er, men i tillegg returnerer de
en variabel. Vi kan først se på funskjonen UCase
som gjør all tekst om til STORE bokstaver. Kall den ene tekstboksen for txtTekst
og legg inn dette eksempelet:
Dim Tekst
Tekst = UCase(txtTekst.Text)
MsgBox Tekst
Prosedyrer kan inneholde såkalte paramentre. I dette tilfellet har UCase
1 parament. For å forklare dette kan vi se på denne koden:
Form1.Backcolor = RGB(255, 0, 0)
RGB har tre paramentre, alle skilt fra hverandre med komma. Formens
bakgrunnsfarge vil i dette tilfellet bli rødt. Dette er fordi den første paramentreren
viser til hvor mye rødt det skal være i fargen (i en skala fra 0 til 255).
Den andre hviser til hvor mye grønt det skal være i fargen, og den siste forteller
hvor mye blått fargen skal inneholde.
Liste over ett par funskjoner i VB:
Navn: | Paramentre | Returnerer: |
RGB | Rød, Grønn, Blå | En farge sammensatt av rød (0-255), grønn (0-255) og blå (0-255). skalaen følger ikke det virkelige liv fullstendig da rgb(0,0,0) = svart og rgb(255,255,255) = hvit. |
UCase | Tekst | Paramenten tekst omgjort til store bokstaver. |
LCase | Tekst | Paramenten tekst omgjort til små bokstaver. |
QBColor | Tall | En farge fra en førdefinert liste med 16 forskjellige farger. 0 er svart, mens 15 er hvit. |
Sin | Tall | Sinusen av tallet (i radian) |
Cos | Tall | Cosinusen av tallet (i radian) |
Tan | Tall | Tangens av tallet (i radian) |
Log | Tall | Log av tallet |
Rnd | (Tall) | Tilfeldig tall mellom 0 og 1 |
Egenskap: | Beskrivelse |