TL   TR
 
Till startsida för Björns studiewebb VBScript lathund

Innehåll - del 2

Del 1 Högerpil

Högerpil Funktioner
Högerpil Inbyggda objekt
Högerpil Skriptobjekt

Vänsterpil Tillbaka till ASP
Vänsterpil Till startsida för studiewebb

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

  • TotalBytes

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

  • BinaryRead(antal)

 

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.

 
BL   BR