Förutom de stora funktionerna som är nya i Visual Basic 6.0 finns det även några nya funktioner till VB språket. Dokumentationen nämner dem men de har inte lagt ned så mycket tid på att förklara hur de fungerar. Några av dessa blev introducerade i och med att den sista uppdateringen av VBScript blev uppvisad och har efter det blivit flyttade även till produkten Visual Basic. Den här artikeln dokumenterar dessa funktioner och hur man använder dem.
Filter-funktionen
Filter - funktionen låter dig söka i en matris(array) efter alla strängar som matchar eller inte matchar din sökkriteria. Funktionen returnerar en variantmatris med resultaten. Följande kod är ett exempel på hur den kan användas.
Sub Main()
Dim a_strTest(1 To 10) As String
Dim a_strResult As Variant
Dim i As Integer
For i = 1 To 10
a_strTest(i) = "Värde " & i
Next i
a_strResult = Filter(a_strTest, "5")
For i = 0 To UBound(a_strResult)
Debug.Print a_strResult(i)
Next i
End Sub
Filter - funktionen används här för att endast returnera strängar med "5" i dem. Reultaten av den här koden är att skriva "Värde 5" och ingenting mer. Variabeln som returneras måste vara en variant, men du kan använda Ubound - funktionen för att returnera den övre bindningen av denna nollbaserade matris. Funktionen har även förmågan att antingen matcha eller ignorera olika typer av tecken i sträcken, dvs gemener och versaler.
InStrRev-funktionen
Den här funktionen fungerar ungefär på samma sätt som InStr - funktionen förutom att den startar att söka efter strängen i slutet av strängen du söker i istället för i början.
Join-funktionen
Join - funktionen tar en matris fylld av strängar och lägger samman dem till en hel sträng. Den här funktionen låter dig även specifiera en separatorsträng. Titta på kodexemplet nedan:
Sub Main()
Dim a_strTest(1 To 5) As String
Dim a_strResult As Variant
Dim i As Integer
For i = 1 To 5
a_strTest(i) = "Värde " & i
Next i
Debug.Print Join(a_strTest, ", ")
End Sub
Resultatet av funktionen blir:
Värde 1, Värde 2, Värde 3, Värde 4, Värde 5
Replace-funktionen
Replace - funktionen kommer att eliminera tonvis av kod för dig. Den söker i en sträng och ersätter en sträng med en annan inuti din första sträng. Då detta är enkelt att göra manuellt är den ändå ett säkert kort i alla program som behöver ersätta någonting. Titta på kodexemplet nedan:
Sub Main()
Debug.Print Replace("Den spanska räven rev en annan räv", "spanska", "danska")
End Sub
Resultatet blir följande:
Den danska räven rev en annan räv
Denna funktion har förmågan att antingen matcha eller ignorera gemener och versaler i strängen.
Split-funktionen
Split - funktionen används för att dela en sträng till en variantmatris. Den delar på strängen överallt där den hittar en annan sträng som du kan specifiera. Detta är en värdefullt verktyg om du läser data som är avskiljt med komma eller tab exempelvis. Du skickar bara in den stränger in i Split - funktionen och du har en färdig delad matris. Titta på exemplet nedan:
Sub Main()
Dim strTest As String
Dim a_strResult As Variant
Dim i As Integer
strTest = "Den spanska räven rev en annan räv"
a_strResult = Split(strTest, " ")
For i = 0 To UBound(a_strResult)
Debug.Print a_strResult(i)
Next i
End Sub
Resultatet blir följande:
Den
spanska
räven
rev
en
annan
räv
Notera att spacetecknen också försvinner ur resultatsträngarna. Denna funktion har möjligheten att bara returnera ett speciellt antal strängar och har kan också känna av gemener och versaler.
StrReverse-funktionen
Denna funktion spegelvänder en sträng helt enkelt.
Monthname-funktionen
Den här funktionen, som också är vanlig i programmerarens verktygslåda, returnerar namnet eller förkortningen på en månad. Du specifierar ett nummer mellan 1 och 12, och sedan returneras namnet på den månaden. Du kan också välja om namnet ska vara helt eller om det ska vara förkortat till 3 bokstäver.
WeekdayName-funktionen
Den här funktionen returnerar namnet på en dag. Du väljer ett nummer mellan 1 och 7 och funktionen returnerar namnet på den dagen. Veckans första dag finns i kontrollpanelen under Nationella inställningar. Du kan även förkorta namnet genom att skicka ett extra argument.