Avatar billede triggy Nybegynder
05. december 2005 - 17:01 Der er 14 kommentarer og
1 løsning

select case

Jeg har behov for at bruge en select case, hvor den både kan kigge på hele strengen, og på det første tegn...

eks.

Select Case Request.form("Command")
  Case "new"
  blabla
  Case "edit"
  blabla
  Case "*" + et tal


den sidste skal kunne anvendes både ved *1, *2, *15 osv.

kan det lade sig gøre ?
Avatar billede truelz Nybegynder
05. december 2005 - 17:07 #1
Nok et af de korteste svar her på eksperten...
Ja!
Men jeg ville nok skifte plustegnet (+) ud med et og-tegn (&)
Avatar billede triggy Nybegynder
05. december 2005 - 17:11 #2
tallet er ikke foruddefineret... 

Den skal kunne tage et hvilket som helst tal efter *-tegnet...
Avatar billede eagleeye Praktikant
05. december 2005 - 17:13 #3
Du kan skrive hver af dem efter hinanden eks:

Case "*1"
Case "*2"
Case "*15"
  blabla
Avatar billede triggy Nybegynder
05. december 2005 - 17:14 #4
det er bare mange cases, hvis den skal kunne tage tallene fra 1 til 10000 ;)

Den skal kunne vælge udfra at der står * som det første tegn
Avatar billede truelz Nybegynder
05. december 2005 - 17:18 #5
Hvorfor så ikke bruge en helt almindelig lykke?
For i = 1 to 10000
Response.Write Request.Form("*" & i)
Next
Avatar billede eagleeye Praktikant
05. december 2005 - 17:22 #6
Du kan evt.bruge Case Else og så lave et tjek med en if sætning:

Case Else
  if left(1, Request.form("Command"))="*" then
    blalba
  end if
Avatar billede triggy Nybegynder
05. december 2005 - 17:22 #7
det virker lidt omstændigt. og heller ikke fordelagtigt, når jeg nårtil næste kommande, som måske kunne være / i stedet for * osv...

Det må da kunne lade sig gøre, at lave noget som hvis man lave en if sætning...

If mid(Request.Form("command"),1,1) = "*" then

bare som en case
Avatar billede triggy Nybegynder
05. december 2005 - 17:23 #8
eagleeye... det er noget i den stil jeg leder efter...  men ville helst undgå at lægge den i case else, da jeg har rigeligt liggende der i forvejen...
Avatar billede eagleeye Praktikant
05. december 2005 - 17:54 #9
I VBA kan man skrive TO eks Case "*2" TO "*100000" men det virker ikke i vbscript så jeg tror ikke det kan skrives på en let måde i case strukturen.

Alternativt skal du skifte select case ud med if-then-elseif du kan evt. ligge Request.form("Command") ind i en variable så det er lettere at skriv:

a = Request.form("Command")
if a = "new" then

elseif a = "edit" then

elseif left(a,1)="*" then

else

end if
Avatar billede softspot Forsker
05. december 2005 - 21:12 #10
Hvad med

cmd = request.form("command")
select case true
  case cmd = "new"
  case cmd = "edit"
  case left(cmd, 1) = "*"
  case else
end select
Avatar billede triggy Nybegynder
05. december 2005 - 22:37 #11
softspot ..
Det var lige præcis det jeg ledte efter... 

Jeg kan slet ikke sætte ord på, hvor mange linier kode den sparer mig for :)

Takker... smid et svar :)
Avatar billede softspot Forsker
05. december 2005 - 22:39 #12
Velbekomme :)
Avatar billede softspot Forsker
05. december 2005 - 22:41 #13
Tak for point :)
Avatar billede triggy Nybegynder
05. december 2005 - 22:46 #14
ja, det er sq mig der takker
Avatar billede softspot Forsker
05. december 2005 - 22:55 #15
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester