WSH - VBS 2 If en Select
1. Wat?
2. If
3. Select
top
1. Wat?
Wat ik je hier ga proberen te leren is heel simpel.
De basis van elke programeertaal: keuzestructuren.
Met de keuzestructuur gaan we nakijken of iets klopt.
Er zijn 2 soorten keuzestructuren: If en Select (en dan zijn er ook nog combinaties, maar die komen hier niet aan bod omdat het eigenlijk meer te maken heeft met herhalingsstructuren).
If is aangewezen als je even rap 1 ding moet controleren, Select is aangewezen als je meerdere voorwaarden voor 1 gegeven moet gaan controleren.
top
2. If
We beginnen met de gemakelijkste, en meest gebruikte: If.
Voor mensen die al geprogrameerd/gescript hebbben weten wat je met If kan doen, maar ook zij moeten even opletten.
De syntax is namelijk heel anders (relatief) dan bij PHP/c++/c/JavaScript/Java/...
Voor mensen die nog nooit geprogrameerd hebben een kleine uitleg!
We gaan met If nakijken of er aan een voorwaarde voldaan is, bv of een variabele gelijk is aan een waarde.
Als dit zo is, dan ondernemen we een actie, als dit niet zo is ondernemen we een andere actie of gaan we gewoon verder met onze code.
Een heel simpel voorbeeldje:
Dim getal
getal = 5
If getal = 5 Then
WScript.Echo "Getal is 5"
Else
WScript.Echo "Getal is verschillend van 5"
End If
|
Dit klein stukje code gaan we even analyseren.
Eerst declareren we een variabele getal, en vervolgens geven we deze de waarde 5 mee.
Daarna starten we de If structuur, we kijken na of getal gelijk is aan 5, zoja: dan zegggen we dat getal gelijk is aan 5, zonee dan zeggen we dat getal verschillend is van 5.
Hierna sluiten we af met End If.
Dus algemeen:
If voorwaarde Then
Actie
Else
Andere Actie
End If
|
Het is ook mogelijk om een tweede if in te lassen in onze else, hiermee kunnen we meerdere voorwaardes gaan nakijken, bv.
Dim getal
getal = 5
If getal = 5 Then
WScript.Echo "Getal is 5"
ElseIf getal = 6 Then
WScript.Echo "Getal is 6"
Else
WScript.Echo "Getal is verschillend van 5 en 6"
End If
|
top
3. Select
Om even terug te gaan naar de ElseIf, hiermee kan je de waarde van het getal meerdere keren gaan controleren, om jezelf wat werk uit te sparen is er Select.
Deze valt heel hard te vergelijken met de Case structuur zoals men die kent in PHP/C/C++/...
Eerst geven we een variabele op met welke we willen gaan werken, daarna gaan we elke mogelijke stap doorlopen samen met de bijbehorende actie.
Algemeen is dit zo:
Select Case variabele
Case voorwaarde1
Actie
Case voorwaarde2
Actie
Case voorwaarde3
Actie
Enzovoort.... Enzovoort
End Select
|
Op de plaats waar variabele staat komt de variabele die we willen gaan controleren.
Bij voorwaarde1 komt de eerste voorwaarde waaraan variabele moet voldoen, standaard is dit waaraan de variabele gelijk is.
Je kan ook gaan kijken of er aan geneen van de voorwaarden voldaan is, hier kom ik straks op terug.
Om het even in de praktijk te brengen:
Dim var1
var1 = 5
Select Case var1
Case 1
WScript.Echo "Var is 1"
Case 2
WScript.Echo "Var is 2"
Case 5
WScript.Echo "var is 5"
End Select
|
De variabele waarmee we werken is var1, vandaar dat we deze opgeven bij Select Case.
Vervolgens gaan we kijken, Case 1 (is var1 gelijk aan 1), zoja, dan geven we dit weer.
Daarna kijken we, Case 2 (is var1 gelijk aan 2), zoja, dan geven we dit weer.
Daarna kijken we, Case 3 (is var1 gelijk aan 3), zoja, dan geven we dit weer.
Nu een voorbeeld voor als getal voldoet aan geen een van de voorwaarden.
Dim getal
getal = 5
Select Case getal
Case 1
WScript.Echo "Getal is 1"
Case 2
WScript.Echo "Getal is 2"
Case Else
WScript.Echo "Getal is niet gelijk aan 1 of 2"
End Select
|
We kjken na of het gelijk is aan 1 of 2, en anders zeggen we dat het gelijk is aan geen een van de 2.
Zo, dit was het dan al weeral.
Ik hoop dat je iets hebt bijgeleerd, of er toch iets aan hebt gehad, als je toch nog vragen hebt mail me of stuur een pm.
|