Hoppa till innehållet

Visual Basic

Från Wikipedia
Källkod skriven i Visual Basic

Visual Basic är ett programspråk i BASIC-familjen, där "Visual" står för fönsterhanteringen och det annorlunda programmeringsupplägg som den skapar. Till skillnad från tidigare varianter av språket BASIC, där radnummer användes för att referera till olika positioner, så behöver man inte ange radnummer för den angivna koden.

Kort beskrivning av några varianter

VB6

Visual Basic 6 (eller VB6) är ett fristående programspråk, till skillnad från de nedan nämnda varianterna. Det ingår också som en del i utvecklingsmiljön Visual Studio, som lånar en del funktioner från de tidigare versionerna av Visual Basic.

VB (tidigare VB.Net)

Visual Basic påminner ytligt om VB6, men är anpassat till ramverket .NET. Detta innebär att de tillgängliga biblioteken avviker kraftigt (även om ett speciellt kompatibilitetslager för VB6 finns), att minneshanteringen inte längre bygger på referensräkning och att stödet för objektorientering är mer fast i språket än vad som tidigare var fallet.

VBA

Visual Basic for Applications (VBA) är konstruerat att vara ett tillägg till flera av Microsofts applikationer, framförallt Office-programmen Excel och Word, där makron skrivs i VBA från och med versionen Office 97.

VBS

Visual Basic Scripting Edition (VBScript eller VBS) är ett tolkat språk för användning i skript, som namnet anger. Dessa skript kan kopplas till ASP eller läggas in i HTML-kod. I Windows finns Cscript.exe och Wscript.exe för att kunna använda VBS-filer i stället för BAT-filer.

VB6 till VB-problem

Det finns en del problem med att försöka migrera ett klassiskt språk till ett mer modernt. Framför allt att gå från ett icke typat språk till möjligheten att välja att språket är starkt typat eller ej. Med parametrarna Explicit och strict on är Visual Basic näst intill ekvivalent med c#. Tyvärr finns det en del arv som Mirsoft har valt att ta med som språkberoende. Msgbox visar en formulärruta men kräver inga referenser till Windows formulärklasser. Det innebär att man utan att tänka på det hela kan binda upp sitt klassbibliotek till att alltid vara windowsformberoende, utan att man riktigt har uppfattat det. Därför bör man undvika en del av dessa funktioner som tagits med från vb6. Eftersom e kräver eftertanke. I fallet MsgBox används hellre MessageBox som kräver en import på windows.forms, vilket är mer naturligt.

Andra varianter av Visual Basic

Visual Studio

Visual Basic är en del av Microsofts programutvecklingssvit Visual Studio där även följande program ingår.

Exempel

Detta är ett exempel hur man skriver i Visual Basic: Vi antar här att en instans av klassen TextBox finns -> (ett objekt).
I VB använder man medlemsoperatorn "." (punkt) för att få tillgång till ett objekts medlemmar som kan vara egenskaper eller metoder.

Det skapade objektet kan till exempel ha en medlem "Text" (egenskap), vilken man kan tilldela data(egenskapsvärde),
vilket även är fallet med vårt objekt Text1 (standardnamnet för den första instansen av klassen TextBox = första objektet).
En instans av en klass kallas för ett objekt.

I VB är en sträng allt som börjar med " och slutar med ". Strängliteral är ett annat namn för sträng(konstant).

Vi kan nu tilldela objektet Text1:s medlem Text en strängliteral. Detta skrivs på följande sätt:

Text1.Text = "Strängliteral"

Om man vill ha villkorlig exekvering (val) så använder man IF, ELSEIF, och ELSE. I VB skriver man:

IF (villkor) THEN
    satser
ELSEIF (ytterligare villkor) THEN
    satser
ELSE (annat villkor)
    satser
END IF

Antag att man vill visa en meddelanderuta när användaren har skrivit in en viss sträng i TextBoxen. Man kan då utnyttja olika fördefinierade metoder som utlöses av händelser som påverkar objekt av klassen. Klassen TextBox har metoden Text_Change som utlöses(automatiskt anropas) vid en förändring hos objektets egenskaper. Dessa s.k. händelseprocedurer kan förses med lämplig kod som ska utföras när en vald händelse utlöses till exempel av en textinmatning som påverkar objektets Text-egenskap.

Så här kan det se ut i en textboxs "Change"-händelse om man vill kontrollera inmatad data:

Private Sub Text1_Change()
IF (Text1.Text = "böter") THEN
    MsgBox "Du får böter..."
ElSEIF (Text1.Text = "erase")
    MsgBox "Din hårddisk rensas..."
END IF
END Sub

Externa länkar

Visual Basic på Wikibooks.