VBScript
Paradigma | strukturovaný, imperativní, objektově orientovaný, odlehčený |
---|---|
Vznik | 1996 |
Vývojář | Microsoft |
Poslední verze | 5.812 |
Hlavní implementace | Windows Script Host, Active Server Pages |
Ovlivněn jazyky | Visual Basic |
Ovlivnil jazyky | Windows PowerShell |
OS | Windows |
VBScript (VBS, Visual Basic Scripting Edition) je skriptovací jazyk určený pro vkládání kódu do webových stránek a běžné skriptování ve WSH (interpreter skriptů nazývaný Windows Script Host, starším názvem Windows Scripting Host), založený na jazyce Visual Basic. Vznik jazyka je spolu se vznikem jazyka JScript (taktéž WSH a CScript – neplést s JavaScriptem) považován za odpověď firmy Microsoft na vznik jazyka JavaScript.
VBScript obsahuje každá instalace Microsoft Windows od verze Windows 98.[1] V systémech řady NT je přítomen od Windows NT 4.0 Option Pack. Nachází se též ve Windows CE (jen na některých zařízeních). Pro vykonávání skriptů na webových stránkách je nutný Internet Explorer, jiné prohlížeče nejsou kompatibilní.
Použití
[editovat | editovat zdroj]Jazyk VBS je mezi hackery oblíbený pro psaní virů (např. W32.LoveLetter známý jako I Love You a mnoho dalších), mimo jiné proto, že malé skripty lze spouštět na většině současných verzí Windows s WSH a dokáže přes VBA API (Aplikační rozhraní Visual Basic For Applications) přistupovat k velkému množství programů na počítači oběti a rozesílat se tak např. pomocí e-mailu jejím známým a vytahovat z počítače důvěrná data.
Jazyk VBS je dobře použitelný i v kladném smyslu. Např. v HTA (HTML Application). VBS je po JavaScriptu nejpoužívanější skriptovací jazyk hlavně díky podobnosti Visual Basicu a téměř neomezeným schopnostem, které zajišťuje WMI. Na spuštění VBS je potřeba nainstalovaný WSH (Windows Script Host).
Ukázka kódu
[editovat | editovat zdroj]Hello world
[editovat | editovat zdroj]Tradiční program Hello world vypadá takto:
MsgBox "Hello, world!"
SendKeys
[editovat | editovat zdroj]Metoda SendKeys vysílá sekvence znaků do aktivovaného okna (jako při psaní na klávesnici). SendKeys nemusí fungovat ve všech programech, některé vyžadují skutečné stisky kláves.
Procedura, která po znacích vypíše text, mezi jednotlivými znaky počká požadovaný počet milisekund.
Sub vypsatPoZnacich(text, zpozdeni)
Set shell = createobject("wscript.shell")
For i = 1 To Len(text)
Wscript.Sleep zpozdeni
shell.SendKeys Mid(text, i, 1)
Next
End Sub
Volání procedury má podobu:
Call vypsatPoZnacich("Hello, World!", 250)
Převrácení textu
[editovat | editovat zdroj]Následující program bude pomocí vstupního dialogu požadovat text k převrácení. Pokud uživatel dialog zruší, nebo odešle prázdný řetězec, program se ukončí, jinak bude v dalším dialogu zobrazen výsledek. Postup se bude opakovat, dokud bude uživatel chtít.
Do
opakovat = true
text = InputBox("Zadej text k převrácení", "Převrátit text")
If text = "" Then
opakovat = false
Else
prevraceny = StrReverse(text)
vystup = MsgBox(text & " = " & prevraceny, vbRetryCancel, "Převrácený text")
If vystup = vbCancel Then opakovat = false
End If
Loop While opakovat = true
Související články
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]- ↑ Windows Script Host Version Information [online]. Microsoft [cit. 2013-06-16]. Dostupné online. (anglicky)
Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu VBScript na Wikimedia Commons
- w3c – funkce VBScriptu