Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Second_magistr / ВЕБ-програм / методичка

.pdf
Скачиваний:
11
Добавлен:
18.08.2019
Размер:
861.66 Кб
Скачать

HTML и VBScript

63

InStr

Описание:

Возвращает позицию первого вхождения одной строки во другую.

Синтаксис:

InStr([start, ]string1, string2[, compare])

Аргументы функции InStr

Аргумент

 

 

Описание

start

Не обязательный аргумент, устанавливающий с какой

позиции начинать поиск. Данный аргумент требует

 

задания и всех остальных аргументов.

string1

Обязательный. Где ищем.

string2

Обязательный. То, что ищем.

compare

Не обязательный аргумент, устанавливающий тип

 

сравнения строк.

 

Параметр compare может принимать следующие значения

Константа

Значение

Описание

VbBinaryCompare

0

Выполняет бинарное сравнение

VbTextCompare

1

Выполняет текстовое сравнение

Возвращаемые значения функции InStr:

 

Если

 

InStr возвращает

String1 — нулевой длины

0

String1 — Null

Null

String2 — нулевой длины

Start

String2 Null

Null

String2 — не найдена

0

String2 — найдена в string1

Позиция начала вхождения

Start > Len(string2)

0

Пример:

Dim SearchStr, SearchCh, MyPos SearchStr ="XXpXXpXXPXXP" SearchCh = "P"

'Текстовое сравнение, стартовавшее

64

'с 4 позиции, возвращает 6 MyPos = Instr(4, SearchStrg, SearchCh,1)

'Бинарное сравнение, стартующее с 1,

'возвращает 9.

MyPos = Instr(1, SearchString,

SearchChar, 0)

'Сравнение бинарное по умолчанию

'(нет последнего аргумента). MyPos = Instr(SearchStr, SearchCh)

'Вернет 9.

MyPos = Instr(1, SearchString, "W") 'Бинарное сравнение с позиции 1

'вернет 0 ("W" отсутствует).

Join

Описание:

Возвращает строку составленную из подстрок хранящихся в элементах массива.

Синтаксис: Join(list[, delimiter])

Аргументы функции Join:

Аргумент

Описание

List

Обязательный параметр. Одномерный массив,

содержащий подстроки для соединения.

 

 

Необязательный параметр. Строка символов, ис-

 

пользуемая для разделения подстрок. Если аргу-

Delimiter

мент не установлен, по умолчанию используется

пробел (" "). Если delimiter — строка нулевой

 

 

длины, то подстроки будут объединены без ка-

 

ких-либо разделителей.

Пример:

Dim MyStr

Dim MyArray(4) MyArray(0) = "Госп. " MyArray(1) = "Имярек "

Аргументы функции Left/Right:
Аргументы

HTML и VBScript

65

MyArray(2) = "Ник "

MyArray(3) = "I"

MyStr = Join(MyArray)

'MyStr будет в результате содержать

'строку "Госп. Имярек Ник I"

Lcase/ Ucase

Описание:

Преобразует строку к нижнему/верхнему регистру.

Пример:

Dim MyStr

Dim LcaseStr, UcaseStr MyStr = "VBS"

LCaseStr = LCase(MyString) 'содержит "vbs". UcaseStr = UCase(LCaseStr) 'содержит "VBS"

Left/ Right

Описание:

Возвращает указанное количество символов с левой/правой стороны строки.

Синтаксис:

Left (list[, delimiter]) Right (list[, delimiter])

Описание

String Строка-источник. Если string содержит Null, возвращается Null.

Числовое выражение, специфицирующее количество возвращаемых символов. Если 0, возвра- Length щается строка нулевой длины (""). Если Length больше чем, либо равно количеству символов в

String, возвращается вся строка.

Пример:

Dim AnyStr, MyStr1, MyStr2 AnyStr = "Hello World"

66

MyStr1 = Right(AnyStr, 6)

'Вернет "World".

MyStr2 = Left(AnyStr, 5)

'Вернет "Hello ".

Len

Описание:

Возвращает число символов в строке.

Синтаксис: Len(string | varname)

Аргументы функции Len:

Аргумент

Описание

String

Строка

Varname

Переменная, содержащая строковый тип данных.

Пример:

Dim MyStr

MyStr = Len("VBSCRIPT") 'Вернет 8.

Mid

Описание:

Возвращает указанное число символов из строки, начиная с выбранной позиции.

Синтаксис:

Mid(string, start[, length])

Аргументы функции Mid:

Аргумент

Описание

String

Строка источник символов.

Start

Позиция начала выборки символов.

Length

Число возвращаемых символов.

Пример:

Dim MyV

MyV=Mid("VB Script - круто!", 4, 6) 'Вернет "Script"

HTML и VBScript

67

Year/ Month/ Weekday/ Day

Описание:

Возвращает год/месяц/день недели/день месяца, выраженный в числах.

Синтаксис: Year(date) Month(date) Weekday(date) Day(date)

Replace

Описание:

Возвращает строку, в которой указанная подстрока find в исходной строкне expression заменена на count копий строки replacewith. Причем поиск начинается с позиции start. Параметр compare используется так же как это описано для функции InStr.

Синтаксис:

Replace(expression, find, replacewith[, start[, count[, compare]]])

Пример:

Dim MyStr

MyStr = Replace("XXpXXPXXp","p","Y") 'Бинарное сравнение. Возвратит

' строку "XXYXXPXXY".

MyStr = Replace("XXpXXPXXp","p","Y",3,-1,1) 'Текстовое сравнение с 3-й позиции.

' Вернет строку "YXXYXXY".

IsNumeric/IsDate/IsNull/IsObject

Синтаксис: IsNumeric(expression) IsDate(expression) IsNull(expression)

68

IsObject(expression)

Описание:

Возвращает значение True/False в зависимости от того, является ли проверяемое выражение expression числом/датой/значением типа Null/ объектом OLE Automation.

HTML и VBScript

69

Приложение Б.

Циклы в языке VBScript

Циклы позволяют выполнять несколько раз один и тот же код. Это может оказаться полезным при работе с массивами, анализе строковых выражений, обработке наборов элементов управления или коллекций.

В языке VBS организовать циклы можно с помощью следующих операторов.

For ... Next

Описание:

Используется счетчик чтобы выполнить блок команд указанное количество раз.

Синтаксис:

For counter = start To end [Step step] [statements]

[Exit For] [statements]

Next

Здесь statements — один или несколько операторов VBS, параметры counter и start — имя переменной-счетчика и ее начальное значение, соответственно. Параметр end задаёт значение счетчика, при котором цикл прекращается, параметр step — величину приращения счетчика. По инструкции Exit For происходит корректный выход из цикла вне зависимости от значения счетчика.

Пример:

For i = 1 To 3

For j = 1 To i

For k = 1 To j

MsgBox "Сколько раз появится сообщение?"

Next

Next

Next

Do ...Loop

70

Описание:

Выполняется пока (While) условие выполнено (True), либо до тех пор, пока (Until) условие не выполнено (False).

Синтаксис:

Вариант с предусловием

Do [{While | Until} condition] [statements]

[Exit Do] [statements]

Loop

Вариант с постусловием

Do

[statements] [Exit Do] [statements]

Loop [{While | Until} condition]

Здесь condition — любое допустимое логическое выражение.

Пример:

'Объявили переменные

Dim counter, myN

counter = 0

'Инициализация

myN = 9

'Инициализация

Do Until myN = 10 'Пока myN не станет 10

myNum = myN - 1

 

 

counter = counter + 1

 

If myN < 10 Then Exit Do

 

Loop

'Выход, если меньше 10

 

 

Dim Check, Counter

 

 

Check = True

 

'Инициализация

Counter = 0

 

Do

 

'Внешний цикл

Do While Counter < 20

'Внутренний цикл

Counter = Counter + 1

'Условие выполнено

If Counter = 10

Then

Check = False

'Установили флажок в False

HTML и VBScript

71

Exit Do 'Выход из внутр. цикла

End If

Loop

Loop Until Check = False 'Выход из внешнего

For Each ... Next

Описание:

Повторяет блок команд для каждого элемента коллекции или массива.

Синтаксис:

For Each element In group [statements]

[Exit For] [statements] Next [element]

Здесь element — имя фиктивной переменной для обхода всех элементов в коллекции (массиве), group — имя коллекции (массива).

Пример:

Dim MyAr,Elem

MyAr = Array(10,20,30,40) 'Встроенная функция Array

'заполняет элементы массива MyAr 'элементами, указанными в списке

For Each Elem in MyAr 'Перебор элементов

If Elem=40 Then

Alert Elem Exit For

End If

Next

72

Соседние файлы в папке ВЕБ-програм