Klockan :
 ASP, Grunderna - Select Case 2002-09-09 21:31:36 
 Information om författaren :
Namn : Jimmy Staff
Epost : admin@aspwebb.com
Hemsida : http://www.aspwebb.com
Presentation :
Ansvarig på ASPWebb!
 Meny :
Startsidan (www.aspwebb.com)
Artikelarkivet
Föregående sida
Utskriftsvänlig sida
Kommentera artikel

ASP, Grunderna - Select Case

Allt om Select..Case!

I denna artikel ska vi lära oss att använda den smidiga Select Case-satsen. För att ta del av denna artikeln bör du ha goda kunskaper i Variabler, If-satser och Response.Write.

 

Varför använda Select Case?

Man använder oftast Select Case när man vill jämföra många olika möjligheter, det blir då för mycket kod och för omständligt att använda en IF-sats.

Select Case är enligt mig det mest smidiga sättet att jämföra olika värden med.

Tänk dig att du vill kolla om en variabel innehåller visst värde och det finns 5 st olika alternativ, det blir då ganska många ElseIf om man ska använda If-satser.

 

Hur fungerar det då?

Du ställer ett värde som man sedan jämför med de olika alternativen som finns.

Så här kan det se ut :

 

<%
     Select Case 10
       Case 2
         Response.Write("Värdet är 2")
       Case 5
         Response.Write("Värdet är 5")
       Case 10
         Response.Write("Värdet är 10")
      End Select
%>

 

Koden ovan väljer alltså det alternativet som är 10 och skriver ut texten "Värdet är 10".

Det var väl ganska smidigt? Ett annat sätt är att ställa flera värden på samma Case, om bägge duger så att säga.

 

<%
     Select Case 5
       Case 2
         Response.Write("Värdet är 2")
       Case 10, 5
         Response.Write("Värdet är 10 eller 5")
      End Select
%>

Koden ovan väljer denna gång alternativet som är 5, och i detta fall skriver den ut texten "Värdet är 10 eller 5", som du ser så kan man ange att den accepterar värdena 10 och 5.

 

Ett till exempel :

<%
Dim Typ
Typ = "Tjej"

     Select Case Typ
       Case "Kvinna", "Tjej", "Flicka", "Fru"
         Response.Write("Du är alltså av det kvinnliga könet?")
       Case "Man", "Pojke", "Kille", "Herr", "Grabb"
         Response.Write("Du är alltså av det manliga könet?")
      End Select
%>

Koden ovan returnerar alltså texten "Du är alltså av det kvinnliga könet?", testa att ändra värdet på variabeln Typ.

 

Om inget stämmer då?

Precis som i en If-sats kan man använda en Else för att alltid returnera ett värde även om inget stämmer.

 

<%
     Select Case 1
       Case 2
         Response.Write("Värdet är 2")
       Case 5
         Response.Write("Värdet är 5")
       Case 10
         Response.Write("Värdet är 10")
        Case Else
         Response.Write("Värdet var något annat")
      End Select
%>

 

Koden ovan returnerar alltså "Värdet var något annat" eftersom inget av de övriga värdena stämmer.

 

Ett smart exempel :

Låt oss tro att vi har ett formulär på hemsidan och vi vill att vissa fält måste vara ifyllda, detta brukar man lösa med If-satser som kollar om det returnerade värdet var tomt, det blir dock en massa If-satser om det är många fält..

Detta är lite smidigare :

 

<%
Dim Namn, Adress, Tel, Epost

     Select Case ""
       Case Namn, Adress, Tel, Epost
         Response.Write("Alla fält måste vara ifyllda!!")
      End Select
%>

 

Lycka till!

 © 2010 Staff consulting - Jimmy Staff