|
VBScript lathund |
Denna sida innehåller andra delen av lathund för VBScript i ASP 3.
Denna del behandlar de funktioner och objekt (både inbyggda och de
som kan skapas) som finns tillgängliga i VBScript. Listan på
funktioner är inte komplett då funktioner för t.ex. geometri (sin, cos
och tan) har utelämnats då dessa inte är frekvent använda i ASP.
För en komplett beskrivning av VBScript i ASP rekommenderas Beginning
Active Server Pages 3.0 från Wrox
Press. Se även MSDN
(Microsoft Developer Network) eller, för er som äger/har tillgång
till Microsoft Visual InterDev 6, MSDN i hjälpen (sök på "VBScript,
language reference").
|
Tanken med denna sida var att göra en referenslista för VBScript -
det har blivit en lite väl omfattande sida. :-) Därför har lathunden
delats i två delar. Framöver kommer jag (antagligen) att göra exempel för de olika sakerna
som finns på denna sida. (För den vetgiriga så innehöll denna webbsida
ca. 700 rader med HTML-kod den 9/12-01.)
Observera att exemplen endast fungerar om denna webbplats finns
på en webbserver som stödjer ASP! Se sidan Om på Björns
studiewebb.
Funktioner (och relaterade konstanter)
Nedan visas bara funktionerna, dess obligatoriska parametrar och en
förklaring till vad dom gör. Några funktioner kan ta emot fler
parametrar än som visas här. (Funktionerna presenteras på detta sätt
för att t.ex. visa på vilka funktioner som finns. Se MSDN för en mer
komplett beskrivning av funktionerna.) Funktionerna har delats upp i följande kategorier:
Datum och tid
Det finns tre olika sätt att returnera dagens datum och/eller tiden
nu.
- Date - returnerar dagens datum (med tiden satt till 00:00:00).
- Now - returnerar dagens datum och tiden nu.
- Time - returnerar tiden nu (med datum satt till dagens datum).
Skillnaden mellan funktionerna Date, Now och Time är att tid och datum
brukar betraktas som två olika saker (trots att de lagras tillsammans). Endast funktionen Now returnerar (egentligen) båda.
(Se exempel.)
Nedan visas alla funktioner som kan användas för att manipulera
datum/tid och för att "skapa" datum/tid.
- DateAdd("intervall", antal_intervall, datum) - adderar
ett antal av intervall till ett datum.
- DateDiff("intervall", datum1, datum2) - returnerar antal intervall mellan två datum.
- DatePart("intervall", datum) - returnerar en del
(intervall) av ett datum.
- DateSerial(år, månad, dag) - returnerar datumet för året,
månaden och dagen.
- DateValue("datum") - returnerar datumet för strängen
"datum".
- Day(datum) - returnerar ett tal mellan 1 och 31 som motsvarar dag i
månaden i datum.
- Hour(datum) - returnerar ett tal mellan 0 och 23 som
motsvarar timme i datum.
- IsDate(variabel) - returnerar sant om variabel är av
undertypen Date.
- Minute(datum) - minuter in på timme i datum.
- Month(datum) - månadsnummer i datum.
- MonthName(månadsnr) - returnerar namnet på månadsnr.
- Second(datum) - sekunder in på minut i datum.
- TimeSerial(timme, minuter, sekunder) - returnerar tiden
för timme, minuter och sekunder.
- TimeValue("tid") - returnerar datumet för
strängen "tid".
- Weekday(datum) - returnerar ett tal mellan 1 och 7 som
motsvarar dag i veckan (OBS! söndag är dag 1 som standard!).
- WeekdayName(dag_i_vecka) - returnerar namnet på
dag_i_vecka.
- Year(datum) - returnerar år i datum.
Intervall ovan kan vara något av följande
Värde |
Förklaring |
"yyyy" |
år |
"q" |
kvartal |
"m" |
månad |
"y" |
dag i året |
"d" |
dag (i månad) |
"w" |
veckodag (1 brukar vara söndag och 7 lördag) |
"ww" |
vecka i året |
"h" |
timme |
"n" |
minuter |
"s" |
sekunder |
Några konstanter som kan vara användbara i samband med datum är
följande
Konstant |
Värde |
Förklaring |
vbSunday |
1 |
|
vbMonday |
2 |
|
vbTuesday |
3 |
|
vbWednesday |
4 |
|
vbThursday |
5 |
|
vbFriday |
6 |
|
vbSaturday |
7 |
|
Observera att datum brukar kunna ställa till problem!
Datumformaten är olika i olika länder, t.ex. Sverige ([YY]YY-MM-DD),
Storbritannien (DD/MM/YY) och USA (MM/DD/YY). Kontrollera därför hur
datumen fungerar (vilket format dom har) på datorn du ska placera
ASP-sidorna på!
Konvertering
- Asc(sträng) / AscB(sträng) / AscW(sträng) - returnerar
ANSI-/byte-/Unicode-värdet på första bokstaven i sträng.
- CBool(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Boolean.
- CByte(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Byte.
- CCur(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Currency.
- CDate(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Date.
- CDbl(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Double.
- Chr(värde) / ChrB(värde) / ChrW(värde) - returnerar
bokstaven motsvarande (ANSI-/byte-/Unicode-)värde.
- CInt(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Integer.
- CLng(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Long.
- CSng(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen Single.
- CStr(uttryck) - returnerar uttryck konverterat till en
Variant av undertypen String.
- Hex(tal), Oct(tal) - returnerar tal konverterat
till hexadecimalt respektive oktalt tal.
Datumfunktionerna DateSerial(), DateValue(), TimeSerial() och TimeValue()
kan även de ses som konverteringsfunktioner om man vill.
Matematiska
- Abs(tal) - returnerar det absoluta (positiva) värdet på ett tal.
- Fix(tal) - returnerar heltalsdelen av ett tal.
- Int(tal) - returnerar heltalsdelen av ett tal.
- Randomize - initialiserar slumptalsgeneratorn. Bör anropas
före första anropet av Rnd.
- Rnd - returnerar nästa slumptal.
- Round(tal) - avrundar ett tal.
- Sgn(tal) - returnerar ett heltal med samma tecken som talet (-1, 0 eller
1).
- Sqr(tal) - returnerar talet i kvadrat.
Strängar
Strängar lagras som Unicode, d.v.s. två byte för varje tecken.
Några av funktionerna nedan har även en motsvarande funktion som
"jobbar" på bytenivå (ges prefixet B, t.ex. InStrB() - se MSDN
för mer information).
Strängfunktionerna har delats upp i tre kategorier:
- Formatering - påverkar hur strängen presenteras.
- Sökfunktioner och jämförelse - funktioner som används
för att söka i sträng, returnera delar av sträng eller jämföra
två strängar.
- Strängmanipulation - funktioner som returnerar strängar
manipulerade på ett eller anant sätt.
Alla funktioner returnerar en ny sträng, d.v.s. påverkar inte
eventuell variabel med sträng i.
Formatering
- FormatCurrency(uttryck) - returnerar uttryck formaterat
till regionalt valutaformat på webbserver.
- FormatDateTime(datum) - returnerar datum formaterat till
regionalt datumformat på webbserver.
- FormatNumber(uttryck) - returnerar uttryck formaterat
till regionalt nummerformat på webbserver.
- FormatPercent(uttryck) - returnerar uttryck formaterat
till procentformat (multiplicerat med 100) och ett %-tecken.
Sökfunktioner och jämförelse
- InStr(sträng, sträng_att_söka) - returnerar ett tal
motsvarande första positionen av sträng_att_söka i sträng.
- InStrRev(sträng, sträng_att_söka) - som InStr(), fast
söker från slutet.
- Left(sträng, antal) - returnerar antal tecken från
början på sträng.
- Len(sträng) - returnerar antal tecken i sträng.
- Mid(sträng, start[, antal]) - returnera antal tecken
från sträng med början på position start. Om antal utelämnas så
returneras alla tecken från start till slutet (d.v.s. samma som Right()).
- Right(sträng, antal) - returnerar antal tecken i slutet
på sträng.
- StrComp(sträng1, sträng2[, jmfr]) - jämför sträng1
och sträng2 samt returnerar -1 om sträng1 < sträng2, 0 om
strängar lika eller 1 om sträng1 > sträng2. För att jämföra
strängar oavsett skriftläge använder vi konstanten vbTextCompare
som värde på jmfr.
Stängmanipulation
- Join(vektor) - returnerar värden i vektor sammansatt
till en sträng.
- LCase(sträng) - returnerar sträng konverterat till
gemener.
- LTrim() - tar bort inledande mellanslag.
- Replace(sträng, strErsätt, strNy[, start[, antal[, jmfr]]]) - ersätter
strErsätt med strNy i sträng. Funktionen börjar vid start och
ersätter strängar antal gånger. Vill vi ersätta ersätta strängar
oavsett skiftläge (d.v.s. om gemener eller versaler) använder vi
konstanten vbTextCompare som värde för jmfr (vbBinaryCompare är
standard).
- RTrim() - tar bort "släpande" (eng. trailing)
mellanslag, d.v.s. i slutet på sträng.
- Space(antal) - infogar antal mellanslag i HTML-koden.
Användbar för att göra den resulterande HTML-koden mer lättläst.
- Split(sträng[, tkn[, antal[, jmfr]]]) - returnerar en
vektor med "substrängar". tkn är ett tecken som anger
vilket tecken som ska användas för att dela sträng och antal hur
många substrängar som ska returneras. Vill vi dela sträng oavsett
skiftläge använder vi konstanten vbTextCompare som värde för jmfr.
- String(antal, tecken) - returnerar en sträng fylld med
antal av tecken.
- StrReverse(sträng) - returnerar sträng reverserad.
- Trim() - tar bort inledande och "släpande"
mellanslag, d.v.s. mellanslag både i början och slutet på sträng.
(Samma effekt som att använda både LTrim() och RTrim().)
- UCase(sträng) - returnerar sträng konverterat till
versaler.
(Se exempel)
Vektorer
- Array(värdelista) - returnerar en vektor från en
kommaseparerad värdelista.
- IsArray(variabel) - returnerar sant om variabel är en
vektor.
- LBound(vektor) - returnerar 0 (de lägsta index för
vektorn).
- UBound(vektor) - returnerar högst index i vektorn.
| Till början på sida |
ASP:s inbyggda objekt
ASP innehåller ett antal objekt som alltid finns tillgängliga.
Objekten används bl.a. (av webbserver) för att lagra information om en
webbläsares begäran om webbsida och den resulterande webbsidan på
begäran. Objekten är:
- Request - motsvarar webbläsarens begäran om webbsida
- Response - motsvarar den resulterande webbsida som skickas
som svar på en begäran.
- Session - skapas ett objekt för varje besökare. Kan
användas för att bl.a. lagra, för besökaren, lokala
variabler.
- Application - skapas ett objekt för varje webbapplikation.
Kan användas för att bl.a. lagra, för webbapplikationen, globala
variabler.
- Server - innehåller information om webbserver och metoder
som inte passade i de övriga objekten.
- ASPError - innehåller det sista felet som uppstod i webbsidans
ASP-kod.
De flesta av objekten innehåller egenskaper, både som enkla värden
och som vektorer, samt metoder som beskrivs nedan. Egenskaperna har delats
i enkla (under rubriken Egenskaper) och egenskaper som består av vektorer
(under rubriken Vektorer). Vektorerna är av typen (klassen) Collection
och kan därmed nås med en nyckel (i form av en sträng).
En del objekt (Session och Application) svara även på händelser
(eng. events).
Request
Egenskaper
Vektorer
- ClientCertificate -
- Cookies - innehåller alla cookies som skrivits av
webbservern. (Observera att en webbserver endast kan läsa cookies som
skrivits av webbserver eller annan webbserver i samma domän.)
- Form - innehåller värdena från fälten i ett formulär som
skickats till ASP-sidan med metoden POST. (Se ASP
och formulär för mer information.)
- QueryString - innehåller värdena från fälten i ett
formulär som skickats till ASP-sidan med metoden GET. (Se ASP
och formulär för mer information.)
- ServerVariables - innehåller information om klientens
webbläsare, webbläsarens begäran och webbservern.
Metoder
Response
Egenskaper
- Buffer - används för att ange om webbserver ska buffra
resulterande HTML-kod eller skicka efterhand. Giltiga värden är True
och False.
- CacheControl -
- Charset -
- ContentType -
- Expires - datum som webbsida gäller till.
- ExpiresAbsolute -
- IsClientConnected -
- PICS -
- Status -
Vektorer
- Cookies - används för att skriva cookies i klientens
webbläsare. Observera att denna vektor endast kan skrivas till!
Metoder
- AddHeader(namn, innehåll) -
- AppendToLog(sträng) -
- BinaryWrite(vektor) -
- Clear() - rensar bufferten utan att skicka dess innehåll.
- End() - avslutar exekveringen av ASP-koden.
- Flush() - tömmer bufferten och skickar dess innehåll till
webbläsaren.
- Redirect(url) - meddelar webbläsare att den ska ladda en
annan webbsida med URL:en url.
- Write(sträng) - skriver till den resulterande webbsidan.
Session
För varje webbläsare som begär en första webbsida på webbservern
skapas ett Session-objekt. Endast de efterföljande webbsidor som begärs
av webbläsaren kan använda informationen i just det Session-objektet. En
session består så länge som
- webbläsare begär webbsidor från webbserver
- tiden för sessioner inte tagit slut (vanligen 20 minuter - kan
ändras)
- eller tills session avbryts med ett anrop till Abandon().
Egenskaper
- CodePage -
- LCID -
- SessionID - ett unikt nummer som ges till varje
Session-objekt. Kan lämpligen användas för att lagra temporär data
i databaser.
- Timeout - anger hur länge session ska vara för webbläsare.
Vektorer
- Contents - används för att lagra värden
("sessionsvariabler") lokala till webbläsare (d.v.s. som
endast gäller för en webbläsare). För att lagra ett värde
används en nyckel (som sträng). Värden kan både skrivas och läsas
från vektorn.
Metoder
- Contents.Remove(nyckel) - tar bort värdet bakom nyckeln
nyckel.
- Contents.RemoveAll() - tar bort alla värden i vektorn.
- Abandon() - avbryter sessionen. Alla värden i vektorn
Contents tas bort.
Händelser
- onStart - sker då webbläsare begär första webbsidan
- onEnd - sker då session avbryts (med Abandon()) eller tiden
för session tar slut. Kan bl.a. användas för att tömma temporära
tabeller från poster som inte "bekräftats" (t.ex. en
kundvagn där besökare inte bekräftat köp).
Application
Application-objektet är gemensamt för alla webbläsare som begär
webbsidor i en webbapplikation. Om data ska ändras i Application-objektet
bör objektet först låsas (med Lock()) och sen låsas upp (Unlock())
för att undvika fel.
En webbapplikation är alla webbsidor i en mapp och dess
undermappar samt inte ingår i en annan webbapplikation. Det finns alltid
minst en webbapplikation och som är den som gäller från roten på
webbservern. Fler webbapplikationer kan skapas med
Internet-tjänstehanteraren, Microsoft FrontPage (FP) eller Microsoft
Visual InterDev (VID). (För att skapa webbapplikationer med FP och VID
behöver du administratörsrättigheter på webbserver eller i
webbapplikation som ny webbapplikation ska skapas under!)
Vektorer
- Contents - innehåller värden
("applikationsvariabler") globala för alla webbläsare som
begär webbsidor i webbapplikation. För att lagra ett värde används
en nyckel (som sträng). Värden kan både skrivas och läsas från
vektorn.
Metoder
- Contents.Remove(nyckel) - tar bort värde med nyckeln nyckel
i Contents.
- Contents.RemoveAll() - tar bort alla värden i vektorn
Contents.
- Lock() - låser Application-objektet för webbapplikation.
- Unlock() - låser upp Application-objektet för
webbapplikation.
Händelser
- onStart - sker då webbapplikation startas, d.v.s. när
webbserver startas.
- onEnd - sker då webbapplikation avslutas, d.v.s. när
webbserver stoppas.
Server
Objektet Server innehåller en blandning av egenskaper och metoder.
Här har bl.a. de metoder som gäller för webbservern eller som inte
passade i övriga objekt samlats.
Egenskaper
- ScriptTimeout - anger tid som ASP-sida ska få lov att
exekvera innan ASP-motorn avbryter exekveringen. Vid utveckling bör
detta värde var lågt (t.ex. för att avbryta oändliga loopar så
fort som möjligt). Standard är 90 sekunder.
Metoder
- CreateObject(ProgID) - skapar en instans av ASP:s
skriptobjekt eller komponenter. ProgID är namnet på skriptobjekt
eller komponent (på formen COMserver.Komponent). (Se
ASP
och komponenter för mer information.)
- Execute(url) - exekverar koden i en annan ASP-sida med URL:en
url. Efter att ASP-sidan exekverat klart återfår den första
ASP-sidan kontroller och kan fortsätta att exekvera.
- GetLastError() - returnerar ett ASPError-objekt med
information om det senaste felet i ASP-sidan (se nedan).
- HTMLEncode(sträng) - konverterar sträng till HTML-kod.
Användbart om man t.ex. har en anslagstavla där användaren kan mata
in fritext.
- MapPath(url) - översätter URL:en url till sökväg i
webbservers filsystem.
- Transfer(url) - exekverar koden i en annan ASP-sida med
URL:en url. Efter att ASP-sidan exekverat klart avbryts exekveringen
och den första ASP-sidan återfår inte kontroller.
- URLEncode(sträng) - konverterar sträng till URL-format
(ersätter bl.a. mellanslag och andra "specialtecken" till
URL:ers motsvarighet).
ASPError
Ett ASPError-objekt innehåller information om det senaste felet från
exekvering i en ASP-sida. Exekvering av en ASP-sida avbryts vanligen
omedelbart då ett fel uppstår. För att ändra detta beteende kan man
använda VBScripts (och Visual Basics) felhanteringsmekanism. (Bl.a. kan
man använda On Error Resume Next för att exekvering ska
fortsätta med nästa sats om ett fel uppstår.)
Egenskaper
- ASPCode -
- ASPDescription -
- Category -
- Column -
- Description -
- File -
- Line -
- Number -
- Source -
| Till början på sida |
ASP:s skriptobjekt
Scripting.Dictionary
Scripting.Dictionary kan användas för att lagra information i en
lätthanterlig vektor.
Scripting.FileSystemObject
Scripting.FileSystemObject (FSO) kan användas för att hämta
information om filsystemet.
Scripting.TextStream
Scripting.TextStream kan användas för att läsa och skriva till
textfiler i webbserverns filssystem. Används tillsammans med
FileSystemObject ovan.
| Till början på sida |
Tillbaka till ASP |
Skapad av: Björn Persson. Uppdaterad: 2005-05-01.
|