|
|
| If...Then=pokud
platí |
|
Někdy je také potřeba, aby se
skript zachoval interaktivně, podle toho, co uživatel zadal,
co vypočítal, co se děje. K tomu používáme tzv. bloky.
Skript si zjistí, kolik je uživateli let a podle toho se
zachová. Základním blokem je např. If..Then.
Následuje příklad:
<SCRIPT
language="VBScript">
<!--
Option Explicit
Dim vek, pozdrav
vek = InputBox("Řekni, milý uživateli, kolik je ti
let?")
If vek < 20 Then pozdrav = "mladý muži"
MsgBox "Dobrý den, " & pozdrav &
"!"
-->
</SCRIPT>
No a pokud by Vám to nestačilo,
můžeme využít širšího IFbloku, který bude opravu
interaktivní:
<SCRIPT
language="VBScript">
<!--
Option Explicit
Dim vek, pozdrav
vek = InputBox("Řekni, milý uživateli, kolik je ti
let?")
If vek < 20 Then
pozdrav = "Dobrý den, mladý muži!"
Else
pozdrav = "Dobrý den, pane!"
End If
MsgBox pozdrav
-->
</SCRIPT>
Ale co když je uživateli méně
než 13 let? Potom využijeme ElseIf,
který nám dovolí rozvrstvit blok na nekonečně mnoho
variant:
<SCRIPT
language="VBScript">
<!--
Option Explicit
Dim vek, pozdrav
vek = InputBox("Řekni, milý uživateli, kolik je ti
let?")
If vek < 13 Then
pozdrav = "Ahoj, chlapče!"
ElseIf vek < 15 Then
pozdrav = "Ahoj, mladíku!"
ElseIf vek < 20 Then
pozdrav = "Dobrý den, mladý muži!"
Else
pozdrav = "Dobrý den, pane!"
End If
MsgBox pozdrav
-->
</SCRIPT>
Blok se provede od začátku do
konce a provede se první vyhovující podmínka. Všechny
ostatní se ignorují.
|
| Select
Case=vyber hodnotu |
|
Zkusíme si přepsat předchozí
program do kódu s využitím bloku Select
Case:
<SCRIPT
language="VBScript">
<!--
Option Explicit
Dim vek, pozdrav
vek = InputBox("Řekni, milý uživateli, kolik je ti
let?")
Select Case vek
Case < 13
pozdrav = "Ahoj, chlapče!"
Case < 15
pozdrav = "Ahoj, mladíku!"
Case < 20
pozdrav = "Dobrý den, mladý muži!"
Case Else
pozdrav = "Dobrý den, pane!"
End Select
MsgBox pozdrav
-->
</SCRIPT>
Doufám, že je to z výše
uvedených příkladových řádku patrné a srozumitelné.
|
| Not,
And, Or=není |
|
Stává se, že někdy potřebujete
vyjádřit opačnou hodnotu. Na to je Not
jako ušitý. Chceme například provést akci vždy, pokud
není uživateli zrovna 30.
<SCRIPT
language="VBScript">
<!--
Option Explicit
Dim vek
vek = InputBox("Řekni, milý uživateli, kolik je ti
let?")
If Not vek = 30 Then MsgBox "Ještě, že Vám není
30!"
-->
</SCRIPT>
And je zase do podmínky bloku, kdy
musí být splněny obě a právě dvě podmínky. Příkazy
se tedy provedou pouze pokud bude platné obě podmínky:
<SCRIPT
language="VBScript">
<!--
Option Explicit
Dim vek, jmeno
vek = InputBox("Řekni, milý uživateli, kolik je ti
let?")
jmeno = InputBox("Řekni, milý uživateli, jak se jmenuješ?")
If vek = 30 And jmeno = "Vašek" Then MsgBox
"Konečně Vašek, kterému je 30!"
-->
</SCRIPT>
Pokud je použit operátor Or,
provede se funkce pokud je splněna alespoň jedna podmínka,
tedy první dobrá, druhá špatná, nebo první špatná,
druhá dobrá, nebo první dobrá, druhá dobrá:
<SCRIPT
language="VBScript">
<!--
Option Explicit
Dim vek, jmeno
vek = InputBox("Řekni, milý uživateli, kolik je ti
let?")
jmeno = InputBox("Řekni, milý uživateli, jak se jmenuješ?")
If vek = 30 Or jmeno = "Vašek" Then MsgBox
"Buď jste Vašek, nebo je Vám 30!"
-->
</SCRIPT>
|
| Operátory=tabulka
operátorů |
tabulka
č. 3: operátory
| Operátor |
Funkce |
Použití |
Poznámky |
| < |
menší než |
If a < b
Then ... |
Pokud je a
menší |
| > |
větší než |
If a > b
Then ... |
Pokud je a
větší |
| = |
je rovno |
If a = b
Then ... |
Pokud je a
rovno |
| <> |
není rovno |
If a
<> b Then ... |
Pokud a není
rovno |
| & |
spojení řetězce |
c = 1 &
2 |
c = 12 |
| + |
sečtení |
c = 1 + 2 |
c = 3 |
| - |
odečtení |
c = 1 - 2 |
c = -1 |
| * |
vynásobení |
c = 1 * 2 |
c = 2 |
| / |
vydělení |
c = 1 / 2 |
c = 0,5 |
|
|