Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Flera vilkor i Select Case

Postades av 2003-02-07 08:05:19 - Peter Holm, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 479 personer

Kan man använda Select Case när flera vilkor ska vara uppfyllda, eller jämför man bara med ett ursprungsvärde? Ett exempel, kan man (och i så fall hur...) skriva om följande exempel med Select Case:
<%
Var1 = 2
Var2 = 3
Var3 = 4

If Var1 + Var2 = Var3 Then
Response.Write("Alternativ 1")
ElseIf Var1 + Var2 < Var3 Then
Response.Write("Alternativ 2")
ElseIf Var1 + Var2 > Var3 Then
Response.Write("Alternativ 3")
End If
%>
Eller finns det andra sätt att göra detta bättre? I min tillämpning har jag ett tiotal ElseIf och skulle vilja snygga till det lite.


Svara

Sv: Flera vilkor i Select Case

Postades av 2003-02-07 08:56:43 - Johan Microsoft

Hej!

Select Case är ganska strikt i ASP. Du kan inte ha med < eller > i syntaxen, utan bara en kommaseparerad lista på möjliga värden. Det närmaste du kan komma utan att krångla till det allt för mycket i ditt exempel är:
<code>
Var1 = 2
Var2 = 3
Var3 = 4

Select Case (Var1 + Var2)
Case Var3
Response.Write("Alternativ 1")
Case (Var3 - 1), (Var3 - 2), ...osv
Response.Write("Alternativ 2")
Case (Var3 + 1), (Var3 + 2), ...osv
Response.Write("Alternativ 3")
End Select
</code>


Svara

Sv: Flera vilkor i Select Case

Postades av 2003-02-07 09:21:37 - Jan Bulér

Jag har jobbat väldigt lite med ASP men i Vb hade jag gjort så här med just din jämförelse

<code>
var1 = 2
var2 = 3
var3 = 4

Select Case Sgn((var1 + var2) - var3)

Case -1
Debug.Print "var1 + var2 < var3"

Case 0
Debug.Print "var1 + var2 = var3"

Case 1
Debug.Print "var1 + var2 > var3"

End Select
</code>

//
Janne


Svara

Sv: Flera vilkor i Select Case

Postades av 2003-02-07 09:29:28 - Johan Microsoft

Du skriver att du i din "riktiga" kod har ett tiotal ElseIf, så jag antar att dina If-satser ser ut ungefär;
<code>
If a = b And b < c Then
...
ElseIf a > b And b < c Then
...
ElseIf
...
End If
</code>

I sådana fall kan du inte använda Select Case.


Svara

Sv: Flera vilkor i Select Case

Postades av 2003-02-07 10:14:20 - Peter Holm

Japp, ungefär så ser det ut. Jag tackar för responsen och kryssar i "löst".


Svara

Sv: Flera vilkor i Select Case

Postades av 2003-02-07 12:34:58 - Andreas Hillqvist

Om du vill jämföra talen med varandra se vilken som är störst minst och lika med varanadra. Då är det bättre att göra en jämförelse per nivå. På så göra man mindre antal jämförelser. Men det kräver mer kod:
<code>
Dim Var1
Dim Var2
Dim Var3
Var1 = 2
Var2 = 3
Var3 = 4

If Var1 < Var2 Then
If Var2 < Var3 Then
Response.Write "Var1, Var2, Var3"
If Var2 > Var3 Then
If Var3 < Var1 Then
Response.Write "Var3, Var1, Var2"
ElseIf Var3 > Var1 Then
Response.Write "Var1, Var3, Var2"
Else
Response.Write "Var1 = Var3, Var2"
End If
Else
Response.Write "Var1, Var2 = Var3"
End If
ElseIf Var1 > Var2 Then
If Var2 < Var3 Then
If Var3 < Var1 Then
Response.Write "Var2, Var3, Var1"
ElseIf Var3 > Var1 Then
Response.Write "Var2, Var1, Var3"
Else
Response.Write "Var2, Var1 = Var3"
End If
If Var2 > Var3 Then
Response.Write "Var3, Var2, Var1"
Else
Response.Write "Var2 = Var3, Var1"
End If
Else
If Var2 < Var3 Then
Response.Write "Var1 = Var2, Var3"
If Var2 > Var3 Then
Response.Write "Var3, Var1 = Var2"
Else
Response.Write "Var1 = Var2 = Var3"
End If
End If
</code>
Jag tror det max görs fem jämförelser i detta fallet.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 809
27 960
271 761
687
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies