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). |