Avatar billede osborne Praktikant
26. december 2005 - 02:33 Der er 6 kommentarer og
1 løsning

Hvordan exit ud af VBScript ?

Er der en nem og hurtig måde at exite ud af et VBScript, f.eks. hvis jeg lige har spurgt brugeren om han vil fortsætte, han trykker på nej og så vil jeg bare gerne ud af scriptet med en Exit, Quit eller lignende (uden at skulle klamse det hele ind i if-sætninger).

Men hvordan går man det i VBScript?
Avatar billede tjp Mester
26. december 2005 - 02:46 #1
Hvis du kører det som et WSH-script kan du sige 'WScript.Quit' og hele scriptet stopper. Ellers kan du exitte funktioner, procedurer og løkker med med hhv 'Exit Function', 'Exit Sub', 'Exit For' og 'Exit Do'.
Men hvordan vil du forresten slippe for en 'If' eller lignende, når du spørger brugeren noget og træffer et valg på grundlag af dette?
Avatar billede osborne Praktikant
26. december 2005 - 11:06 #2
Super, det virker!! Tak skal du have (skriv et svar så får du nogle point).. jeg kunne se efter en søgning på Google at WSH står for Windows Script Host .. er det standarden for Windows? eller hvordan kan jeg sikre mig at det er WSH der bruges på de Windows versioner vi bruger på jobbet?

Ah, det jeg mener med at "klamse det hele ind i if-sætninger" er at jeg gerne vil undgå alt for mange at denne type konstruktioner:

spørg bruger om input
if (input er ulovlig) then
  msgbox("fejl ..")
else
  spørg bruger om noget andet
  if (input er ulovlig) then
    msgbox("fejl ..")
  else
    spørg burger on noget tredie
    if (input er ulovlig) then
      msgbox("fejl ..")
    else
     
      ...og her så en masse kode....

    end if
  end if
endif

OG istedet måske skrive det sådan noget lignende som følgende. Jeg undgår selvfølgelig ikke if-sætninger, men nogle gange synes jeg det er rart bare at kunne "smide håndklædet i ringen" og sige nu skal scriptet stoppe. Jeg vil naturligvis undgå den form for programmering hvis jeg er ude i en funtion eller noget, men sådan i selve hovedscriptet kan jeg godt li det... hvad synes du ?

spørg bruger om input
if (input er ulovlig) then
  msgbox("fejl ..")
  Wscript.Quit
end if

spørg bruger om noget andet
if (input er ulovlig) then
  msgbox("fejl ..")
  WScript.Quit
end if

spørg burger on noget tredie
if (input er ulovlig) then
  msgbox("fejl ..")
  WScript.Quit
end if

.. og her så en masse kode ....
Avatar billede osborne Praktikant
26. december 2005 - 14:04 #3
Ah fandt ud af hvad WSH-script er for noget:

Since many of you are probably know all about how to use VBScript in web pages, you might be wondering about the relationship of that VBScript to the one in WSH. Good news! It’s the same thing. Microsoft currently offers three different ‘hosts’ for VBScript:

    Internet Explorer (IE)
    Internet Information Server (IIS)
    Windows Script Host (WSH)

WSH is just the version that works directly in Windows.
Avatar billede tjp Mester
26. december 2005 - 23:53 #4
Fint nok, og du fandt vel også ud af at WSH virker på Win98 og frem. Hvis det forresten er det samme input du tjekker igen og igen for en masse ting, kunne du overveje at benytte et Select Case-statement, det gør koden mere overskuelig.
Avatar billede osborne Praktikant
27. december 2005 - 01:17 #5
Ja det er rigtigt med Select case. Lige i dette tilfælde er det dog en masse forskellige input der checkes undervejs .. Jeg har lige været ude på jobbet og lavet scriptet færdig  og det virker i test. Så vil jeg prøve det på store data i produktion i morgen. Tak for hjælpen :-)
Avatar billede osborne Praktikant
27. december 2005 - 01:18 #6
.. og tak for info om WSH
Avatar billede tjp Mester
27. december 2005 - 01:20 #7
Velbekomme :-)
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