Strenge funksjoner
Som nevnt i avsnittet om datatypen String, brukes regnsettet Unicode.
Tegnkoder
Funksjonen Asc(t) gir tegnkoden for tegnet t, som i
Code = Asc("A") ' Tegnet A (gir 65)
Code = Asc("€") ' Eurotegn (gir 8364)
Code = Asc("Л") ' Kyrillisk tegn Л (gir 1083)
mens Chr(v) gir det tegnet som har tegnkode v. Dette er nyttig ved innsetting av kontrollkoder, som i
rarString = Chr(9) + " god dag " + Chr(13)
Strengfunksjoner
Andre nyttige funksjoner er
- Left(s,n) gir de n første tegn i s
- Right(s,n) gir de n siste tegn i s
- Mid(s,k,n) gir de første n tegn i s, fra posisjon k
- Len(s) gir antall tegn i s
Noen eksempler:
Dim MyString As String
Dim MyResult As String
Dim MyLen As Integer
MyString = "This is a small test"
MyResult = Left(MyString,5) ' gir "This "
MyResult = Right(MyString, 5) ' gir " test"
MyResult = Mid(MyString, 8, 5) ' gir " a sm"
MyLen = Len(MyString) ' gir 20
Søking i strenger er
- Instr(s,v) gir første posisjon i s, der v forekommer. Den gir 0 hvis v ikke er i s.
- Instr(s,v,0) er som over, men ber om et casesensitivt søk (store er ulik småe bokstaver)
- Instr(k,s,v) er som over, men leter fra posisjon k og ut (ignorerer starten)
Utbytting
En selvlaget funksjon for utbytting av strenger vises under:
Function Replace(Source As String, Search As String, NewPart As String)
Dim Result As String
Dim StartPos As Long
Dim CurrentPos As Long
Result = ""
StartPos = 1
CurrentPos = 1
If Search = "" Then
Result = Source
Else
Do While CurrentPos <> 0
CurrentPos = InStr(StartPos, Source, Search)
If CurrentPos <> 0 Then
Result = Result + Mid(Source, StartPos, _
CurrentPos - StartPos)
Result = Result + NewPart
StartPos = CurrentPos + Len(Search)
Else
Result = Result + Mid(Source, StartPos, Len(Source))
End If ' Position <> 0
Loop
End If
Replace = Result
End Function
Denne leter gjentatte ganger etter en tekst og bytter ut hvert forekomst av denne. Resultatet returneres til klienten.
Formattering
En formatstreng er en mal som beskriver hvordan data skal plasseres inn i en streng. Dette er nyttig bl.a. når data skal plasseres i kolonner.
- Format(f, d) plasserer d i en streng slik f beskriver.
Formatstrengen har plassholdere for hvert data som skal inn. I tillegg kan en bruke kontrollkodene
- 0 (nulltall): Her skal stå et tallsiffer.
- . (punktum): Her skal desimalpunktet stå
- , (komma): Her skal tusenplassen vises med skilletegn
- (grind): Har vises siffer hvis det ikke er 0
- $ (dollar): Her vises gjeldende valutasymbol
Under vises hvordan kodene "0" og "." brukes for å angi antall siffer i desimalene.
MyFormat = "0.00"
MyString = Format(-1579.8, MyFormat) ' gir "-1579,80"
MyString = Format(1579.8, MyFormat) ' gir "1579,80"
MyString = Format(0.4, MyFormat) ' gir "0,40"
MyString = Format(0.434, MyFormat) ' gir "0,43"
Nuller i forkant sikrer et visst antall siffer:
MyFormat = "0000.00"
MyString = Format(-1579.8, MyFormat) ' gir "-1579,80"
MyString = Format(1579.8, MyFormat) ' gir "1579,80"
MyString = Format(0.4, MyFormat) ' gir "0000,40"
MyString = Format(0.434, MyFormat) ' gir "0000,43"
Komma brukes for å angi tusenplasser og grinda (#) angir at et siffer skal vises hvis det finnes.
MyFormat = "#,##0.00"
MyString = Format(-1579.8, MyFormat) ' gir "-1.579,80"
MyString = Format(1579.8, MyFormat) ' gir "1.579,80"
MyString = Format(0.4, MyFormat) ' gir "0,40"
MyString = Format(0.434, MyFormat) ' gir "0,43"
Med dollartegnet fremkommer et valutasymbol.
MyFormat = "#,##0.00 $"
MyString = Format(-1579.8, MyFormat) ' gir "-1.579,80 €"
MyString = Format(1579.8, MyFormat) ' gir "1.579,80 €"
MyString = Format(0.4, MyFormat) ' gir "0,40 €"
MyString = Format(0.434, MyFormat) ' gir "0,43 €"
Datoer inngår også i apparatet:
sub main
dim myDate as date
myDate = "01/06/98"
TestStr = Format(myDate, "mm-dd-yyyy") ' 01-06-1998
MsgBox TestStr
end sub
Content on this page is licensed under the Public Documentation License (PDL). |