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 650 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. GrundläggandeASP-kod "bäddas in" (eng. is embedded) i HTML-kod mellan den öppnande taggen <% och den avslutande taggen %>. ASP-taggarna kan förekomma flera gånger i HTML-koden, d.v.s. vi kan dela upp ASP-koden i flera olika delar.
ASP-koden mellan taggarna tolkas och exekveras (av den s.k. ASP-motorn) varje gång som en webbläsare begär ASP-sidan. Resultatet från exekveringen kommer infogas på den plats (i den resulterande webbsidan) där ASP-koden finns. I exemplet nedan har ASP-koden markerats med gul bakgrund.
Resultatet från exekveringen ovan blir följande HTML-kod som skickas till besökarens webbläsare:
KommentarerVBScript använder endast enradiga kommentarer och kommentaren skrivs efter ett enkelt citattecken ('). Allt på raden efter ett kommentarstecken kommer att bortses från av ASP-motorn. I exemplet nedan så har kommentarer markerats med fet stil.
Variabler och datatyperVariablerVariabler deklareras med det reserverade ordet Dim. Till skillnad mot Visual Basic så anger man ingen datatyp när man deklarerar en variabel. Dim Tal1, Text1 ASP kräver inte att variabler deklareras, men det är att rekommendera att göra det ändå. Man bör även använda direktivet Option Explicit för att ASP-motorn ska kontrollera att variabler är deklarerade (det kan spara timmar med felsökning!). <% Option Explicit %> Datatyper och undertyperVBScript har bara en datatyp: Variant. Och när en variabel deklareras så blir den alltså av datatypen Variant. En Variant kan lagra värden av alla datatyper som finns i t.ex. Visual Basic. Men variabler av typen Variant kan sägas lagra data av viss "undertyp", t.ex. värdet 3.14 är av undertypen Single och "lite text" av undertypen String. Dessa undertyper är de samma som datatyperna i Visual Basic. För att underlätta läsandet av ASP-kod så bör man använda prefix för att tala om vilken datatyp (undertyp) som lagras (eller är tänkt att lagras) i variabeln. Nedan visas en tabell med exempel på prefix och vilken undertyp den avser.
Nedan beskrivs undertyperna lite mer ingående samt en del "fallgropar" påpekas. SträngarSträngar innesluts mellan dubbla citattecken ("), t.ex. "Detta är en sträng". Observera att enkla citattecken (') används för kommentarer! TalNär vi jobbar med tal i ASP så behöver vi inte tänka på att deklarera en variabel med tillräcklig kapacitet (t.ex. Integer eller Long) för att lagra talet i fråga. Det sköter ASP åt oss. Decimaltal skrivs i ASP-kod (enligt amerikansk standard) med punkt, t.ex. 3.14. Vid utskrift kommer dock talet att skrivas ut enligt landspecifikt format, t.ex. med ett kommatecken (3,14) på en svensk webbserver. Observera att besökare med svenska webbläsare ska fylla i decimaltal med komma när dom fyller i ett formulär! BooleanBooleska variabler kan tilldelas något av de reserverade orden True eller False. ObjektObjekt måste, liksom i Visual Basic, tilldelas till en variabel med det reserverade ordet Set - man säger att man tilldelar en referens till objektet (d.v.s. en "pekare"). I nedanstående exempel tilldelas variabeln objBil en referens objektet objPersons bil.
När vi jobbar med databaskopplingar (ADO) så använder vi objekt (bl.a. Connection och Recordset) och då måste vi använda Set. | Till början på sida | UtskrifterUtskrifter till den resulterande webbsidan (HTML-dokumentet) kan ske på två sätt:
Utskrift med Response.WriteDet vanligaste sättet att skriva till den resulterande webbsidan är att använda metoden Write() i objektet Response. Som enda parameter tar metoden en sträng - strängen kan sammanfogas av både strängar och andra värden. ASP kommer automatiskt konvertera t.ex. tal till strängar för utskrift.
Resultatet från de två raderna ovan kommer bli "Hej hela världen. Klokan är nu XX:XX:XX". (Se resultatet - fungerar endast om webbserver stödjer ASP!) Utskrift av enstaka variabler eller satserIbland vill vi bara skriva ut ett värde (i t.ex. en variabel) samt resultatet från ett funktionsanrop eller en sats. Då kan vi använda en "genväg" (kallat inline på engelska). Vi använder oss av likhetstecknet för att skriva ut enligt följande exempel:
Observera att endast ett värde kan skrivas ut åt gången! Vill vi skriva ut flera värden så måste vi innesluta respektive sats med ASP-taggar eller använda Response.Write. Värdet kan vara en variabel, ett funktionsanrop eller en hel sats.
Resultatet (i webbläsare) från dessa rader ovan blir "Talet är 5". (Se resultatet - fungerar endast om webbserver stödjer ASP!) Det kan ibland vara praktiskt att samla all exekvering i början på en webbsida och spara eventuella resultat i variabler och skriva ut dem med denna genväg. Detta brukar göra både ASP- och HTML-koden lättare att läsa samt underhålla. | Till början på sida | OperatorerNedan listas de olika typerna av operatorer som finns i VBScript. Sist i detta avsnitt visas en tabell med operatorprioritet. TilldelningTilldelning sker med likhetstecknet ("=")
Aritmetiska operatorOperatorerna är de samma som i Visual Basic, d.v.s. följande:
Operatorerna har den "vanliga" prioriteten som i de flesat språk (se nedan). Sammanfogning av strängarFör att sammanfoga två strängar (konkatinera) kan vi använda två operatorer
Plusoperatorn bör undvikas då ASP-motorn ibland kan försöka addera en sträng till ett tal (när den borde konvertera talet till en sträng och sammanfoga med den andra strängen).
Jämförelse operatorer
Logiska operatorer
OperatorprioritetNedan visas en tabell med operatorernas prioritet. Operatorer överst tar prioritet över de nedanför och de längst till vänster på samma rad har högre prioritet än de längre till höger.
| Till början på sida | KontrollstrukturerIf- och Case-satser fungerar precis som i Visual Basic medan procedurer och funktioner skiljer sig en aning. Loopar presenteras i nästa avsnitt. If-satserSyntax
Exempel
Case-satserSyntax
Exempel
ProcedurerI motsats till Visual Basic så anger man inga datatyper för eventuella parametrar till proceduren (d.v.s. inget As datatyp efter parametern). SyntaxSub Procedure_namn [ (parameter1, parameter2, .... ) ] satser End Sub Exempel
FunktionerPrecis som med procedurer så anger vi inga inte heller datatyper för parametrar till funktioner - inte heller för returvärdet från funktionen. För att returnera returvärdet så tilldelare vi returvärdet till funktionens namn. SyntaxFunction Funktionsnamn( [ parameter1, parameter2, ... ] ) satser Funktionsnamn = returvärde End Function Exempel
| Till början på sida | Loopar (iteration)Loopar egentligen också de kontrollstrukturer, men p.g.a. avsnittens (detta och föregåendes) omfattning så har det fått ett eget avsnitt. Observera att det är extra noga att du kontrollera att villkoret som avbryter loopar verkligen kommer att bli sant. Det finns nämligen inget sätt att avbryta exekveringen av oändliga loopar annat än att låta den tillåtna tiden för ASP-sidor ta slut (ligger mellan 1-3 minuter). Skälet till detta är att ASP-sidan exekverar på servern som utvecklare inte brukar ha tillgång till. Under tiden som loopen exekverar så är det ganska troligt att graden av CPU-utnyttjande uppgår till 100% (i.a.f. i ett system med bara en CPU)! For...NextSyntax
Exempel
For Each...NextFor Each...Next-loopen används för att loopa över en vektor, d.v.s. att utföra loopen en gång för varje position i vektorn. Syntax
Exempel
Do While...LoopSyntax
Exempel
While...WendDenna loop är endast en enklare form av Do While...Loop. Den fungerar på samma sätt. Syntax
Exempel
Do...Loop WhileDenna loop loopar så länge villkoret på sista raden är sant. Skillnaden mellan Do...Loop While och Do While...Loop (samt While...Wend) är att den första utförs minst en gång och den senare endast om villkoret är sant från början. Syntax
Exempel
Do...UntilDo...Until-loopen exekveras minst en gång och avslutas först när villkoret blir sant. Syntax
Exempel
| Till början på sida | Till del 2 | Tillbaka till ASP | Skapad av: Björn Persson. Uppdaterad: 2005-05-01. |
||||||||||||||||||||||||||||