
- •Лабораторная работа 2
- •Создание и запуск простейших сценариев vbScript
- •Вывод на экран текстовых строк
- •Метод Echo объекта Wscript
- •Метод Write и WriteLine объекта wScript.StdOut
- •Функции MsgBox
- •Метод Popup объекта WshShell
- •Ввод строк текста
- •Ввод строк в консольном режиме
- •Ввод строки в графическом режиме
- •Получение свойств wsh из запущенного сценария
- •Работа с параметрами командной строки сценария
- •Vbscript Sample.Vbs /имя:”Вася” /возраст:18
- •Vbscript Sample.Vbs /возраст:18 /имя:”Вася”
- •If name.Exists(“a”) Then ‘если существует параметр “a” объекта name, то
- •Математические функции
- •Задания Вариант-1
- •Вариант-2
- •Вариант-3
- •Вариант-4
- •Вариант-5
- •Вариант-6
- •Вариант-7
- •Вариант-8
- •Вариант-9
- •Вариант-10
Метод Popup объекта WshShell
Метод позволяет создавать диалоговые окна, как и функция MsgBox.
WshShell.Popup(строковая переменная, время, заголовок окна, кнопки диалогового окна)
Dim Ws,Res, Text, Title 'объявление переменных
Set Ws=Wscript.CreateObject("WScript.Shell") 'создание объекта WshSell
Text="Вывод" &vbCrLf& "строк"
Title="Заголовок окна"
Res=Ws.popup(Text,0,Title,vbOkCancel)
'в диалоговом окне присутствуют кнопки Ok, Cancel
if Res=vbOk _
then Ws.popup "Нажата кнопка Ok"_
Else Ws.popup "Нажата кнопка отмена" End If
'определили какая кнопка нажата
Параметр, задающий время (в секундах), определяет по истечении какого времени окно будет автоматически закрыто. Если этот параметр равен нулю, то окно будет закрыто только после нажатия какой-либо кнопки в нем.
Ввод строк текста
В консольном и графическом режимах ввод текста осуществляется по разному.
Ввод строк в консольном режиме
Для ввода строк в консольном режиме используется метод WScript.StdIn.ReadLine, при использовании этого метода ввод завершается нажатием клавиш Enter. При использовании этого метода возникают проблемы с кодировкой вследствие того, что этот метод возвращает строку в DOS-кодировке. Для корректного отображения символов кириллицы необходимо создавать дополнительные пользовательские функции.
'***************************************************
'функция для перевода строки DOS- в Windows-кодировку
Function DosToWin(s)
Dim i,k,ss
ss=""
for i=1 to Len(s) 'цикл по всем символам в строке
k=Asc(Mid(s,i,1)) 'определение ANSI-код i-го символа
' и изменяем код k на код соответствующего символа в Windows-кодировке
If (128<=k) and (k<=175)then k=k+32
If (224<=k) and (k<=239) then k=k+16
if k=240 then k=168
if k=241 then k=184
ss=ss+Chr(k)
Next
DosToWin=ss 'возращает преобразованную строку
End function
'********** Начало ***********************************
Dim s
'Печатает приглашение ввода
WScript.StdOut.Write "Введите одну строку:"
s=WScript.StdIn.ReadLine 'ввод строки с клавиатуры
WScript.StdOut.WriteBlanKLines 1 'Печать пустой строки
WScript.StdOut.Write "Было введено:"
'Преобразование введенной строки в Windows-кодировку
'и вывод ее на экран
WScript.StdOut.WriteLine DosToWin(s)
'********** Конец ************************************
Ввод строки в графическом режиме
Информацию можно вводить с помощью диалогового окна, создаваемого внутренней функцией InputBox.
dim s, s1
s1="Пример"
s=InputBox(s1,"Диалоговое окно")
'Выводим диалоговое окно с введенной строкой
MsgBox "Было введено:"&s
Получение свойств wsh из запущенного сценария
Можно определить некоторые параметры WSH и исполняемого сценария с помощью соответствующих методов объекта WScript, в частности:
Полный путь к приложению-серверу
Имя каталога, в котором находится приложение-сервер
Номер используемой версии WSH
Полный путь к исполняемому сценарию
Имя исполняемого сценария.
'проверка режима, в котором запущен сценарий
Function IsCScript()
IsCsript=("c"=Mid(LCase(WScript.FullName),Len(WScript.FullName)-10))
End Function
'возращает каталог, содержащий запущенный сценарий
Function GetScriptDir()
dim ScriptDir
ScriptDir=WScript.ScriptFullName
ScriptDir=Left(ScriptDir,InstrRev(ScriptDir,"\")-1)
GetScriptDir=ScriptDir
End Function
'********* Начало ***********************************
dim WshShell,s 'Объявляем переменные
'создаем объект WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
s="Свойства запущенного сценария:"& vbCrLf & vbCrLf
'Проверка, в каком режиме был запущен сценарий
if IsCScript() then
s=s & "Запущен в консольном режиме" & vbCrLf
else
s=s & "Запущен в графическом режим" & vbCrLf
end if
'определение остальных параметров
s=s & "Путь к серверу: " & WScript.FullName & vbCrLf
s=s & "Каталог сервера: " & WScript.path & vbCrLf
s=s & "Версия WSH: " & WScript.Version & vbCrLf
s=s & "Текущий каталог: " + WshShell.CurrentDirectory & vbCrLf
s=s & "Путь к сценарию: " & WScript.ScriptFullName & vbCrLf
s=s & "Каталог сценария: " & GetScriptDir() & vbCrLf
s=s & "Имя сценария: " & WScript.ScriptName & vbCrLf
WScript.Echo s 'вывод строки