Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
21.05.2015
Размер:
119.81 Кб
Скачать

Функция Choose

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

Choose(индекс, вариант-1[, вариант-2, ... [, вариант-n]])

Пример.Генерирует случайное число от 0 до 7 и по полученному значению выбирает соответствующий цвет.

Private Sub SelectCase ( )

Dim I As Integer, result As String

I = Int((7 * Rnd) + 1)

result = Choose(I, "красный", "оранжевый", "желтый", "зеленый", "голубой", "синий", "фиолетовый")

MsgBox result, vbOKOnly

End Sub

Функции работы со строками

Синтаксис функции

Описание функции и примеры

CHR(13)

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

Asc(строка)

Возвращает Ascii код символа

пример:

Dim MyNumber

MyNumber = Asc("A") ' вернет код 65

InStr([стартовая позиция, ] строка, подстрока[,compare])

Возвращает в переменную типа Variant(Long) найденную позицию подстроки в строке, начинает поиск либо с начала строки, либо со стартовой позиции.

Пример.

Dim SearchString, SearchChar, MyPos

SearchString ="XXpXXpXXPXXP" 'строка, в которой будет поиск.

SearchChar = "P" ' искомый символ "P".

' Поиск подстроки в строке начинается с 4 позиции. Возвращает 6.

MyPos = Instr(4, SearchString, SearchChar, 1)

LCase(строка)

Возвращает заданное символьное выражение, переписанное строчными буквами.

Пример.

Dim UpperCase, LowerCase

Uppercase = "Hello World 1234" 'Строка для изменения

Lowercase = Lcase(UpperCase) 'Возвращает "hello world 1234".

UCase(строка)

Возвращает заданное символьное выражение, переписанное прописными буквами.

Пример.

Dim LowerCase, UpperCase

LowerCase = "Hello World 1234" 'Строка для изменения

UpperCase = UCase(LowerCase) ' Возвращает "HELLO WORLD 1234".

Left(строка,количество символов)

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

Dim AnyString, MyStr

AnyString = "Hello World" ' Исходная строка

MyStr = Left(AnyString, 1) ' Возвращает "H".

MyStr = Left(AnyString, 7) ' Возвращает "Hello W".

Right(строка,количество символов)

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

Len(строка|имя переменной)

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

Dim MyString, MyLen

MyString = "Hello World" 'Исходная строка

MyLen = Len(MyString) ' Возвращает 11.

LTrim(строка)

Возвращает заданное символьное выражение, удалив из него начальные пробелы.

RTrim(строка)

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

Trim(строка)

Удаляет начальные и концевые пробелы из заданного символьного выражения и возвращает усеченное выражение в виде символьной строки.

Mid(строка, стартовая позиция [,длина])

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

Пример:

Dim MyString, FirstWord, LastWord, MidWords

MyString = "Mid Function Demo" 'Исходная строка.

FirstWord = Mid(MyString, 1, 3) ' Возвращает "Mid".

LastWord = Mid(MyString, 14, 4) ' Возвращает "Demo".

Replace(строка, подстрока искомая, подстрока замены [,стартовая позиция [,количество замен [,compare]]])

Просматривает символьное выражение в поисках другого символьного выражения (подстроки искомой), а затем заменяет каждое найденное выражение третьим символьным выражением (подстрокой замены), начиная со стартовой позиции в указанном количестве раз.

Space(число)

Вставить в строку указанное количество пробелов

Текст к заданиям 1-4 скопируйте из папки с лабораторной работой исходный текст для заданий, который хранится в файле Исходный текст.doc, как показано в примере выше. Создайте новый модуль с названием МодульСтроки. Поочередно создайте частные процедуры в созданном модуле с названиями Zadanie1 - Zadanie4 и выполните задания в них:

Задание 1:Удалить в тексте лишние пробелы. Лишними считаются те, которые идут непосредственно за пробелом. Посчитать количество исправлений.

Задание 2: Посчитать доли процентов встречи следующие букв: "а", "в", "и", "п", если суммарный процент встречаемости всех этих букв = 100% или а% + в% + и% + п% = 100%.

Задание 3:По правилам оформления машинописных текстов перед знаками .,!?:; пробелы не ставятся, но обязательно ставятся после этих знаков. Удалите лишние пробелы и расставьте недостающие. Посчитать количество исправлений.

Задание 4:Найти из исходного текста второе предложение и вернуть его в переменнуюPerem, а также вывести на экран весь исходный текст и найденное предложение.

Преобразование данных к определенным типам данных

CDate(выражение)

Преобразование выражения к выражению с типом дата

CStr(выражение)

Преобразование выражения к выражению с типом строка

CBool(выражение)

Преобразование выражения к выражению с типом логический

CByte(выражение)

Преобразование выражения к выражению с типом байт

CDbl(выражение)

Преобразование выражения к выражению с типом число с двойной точностью

CInt(выражение)

Преобразование выражения к выражению с типом целое

CLng(выражение)

Преобразование выражения к выражению с типом длинное целое

Cvar(выражение)

Преобразование выражения к выражению с типом «вариант»

CCur(выражение)

Преобразование выражения к выражению с типом денежный

Пример.

Private Sub Transmission_()

Dim str As String

Dim dat As Date

Dim integ As Integer

str = "123"

integ = CInt(str)

str = "12/12/2005"

dat = CDate(str)

str = "Число = " + CStr(integ) + " Дата = " + CStr(dat)

MsgBox str, vbOKOnly

End Sub

Функции работы с датой, временем

CDate(expression)

Преобразование выражения к выражению с типом дата

Dim MyDate, MyShortDate

MyDate = "February 12, 1969" ' Определение даты.

MyShortDate = CDate(MyDate) ' Преобразование строки в дату

DATE( )

Вернуть текущую дату

TIME( )

Вернуть текущее время

YEAR(<дата>)

Вернуть из даты только год

MONTH(<дата>)

Вернуть из даты только месяц

DAY(<дата>)

Вернуть из даты только день

HOUR(<время>)

Вернуть из времени только часы

MINUTE(<время>)

Вернуть из времени только минуты

SEC(<время>)

Вернуть из времени только секунды

WEEKDAY(<дата>)

Вернуть день недели из даты, указанной в скобках

NOW

Возвращает системные дату и время

Задание 5:Создать новую процедуру, в которой разобрать на отдельные составляющие текущую дату и время и вывести значения на экран в следующем порядке (вместо многоточий):

"Сегодня: День = …, Месяц = …, Год = …, Часов = …, Минут = …, Секунд = …"

Задание 6:Создать новую процедуру, в которой в исходный текст, сохраненный в переменной Perem, после слова " время " вставить текущее время. Результат сохранить в той же переменнойPeremи вывести в виде сообщенияMsgBoxс кнопкой "ОК".

Математические функции и команды

Функция

Результат

ABS(число)

Абсолютное значение числа

ATN(число)

Арктангенс числа

COS (число)

Косинус угла в радианах

EXP(число)

Экспонента числа

INT(число)

Преобразует число в его целое значение, отбрасывая его деся­тичную часть

LOG(число)

Натуральный логарифм числа

число1Modчисло2

Остаток от деления двух чисел

PI(число)

Возвращает значение р

RND(число)

Случайное число в диапазоне от 0 до 1

Round(expression[,numdecimalplaces])

Округленное до указанного количества десятичных разрядов значение числа

SIN(число)

Синус угла в радианах

SQR(число)

Квадратный корень числа

TAN(число)

Тангенс угла в радианах

Пример: Вывести значение формулы , гдеv0 = 0.123; R = 8,31; T = 273.

Private Sub Transmission_()

Dim v0, r, T, v As Double

v0 = 0.123

r = 8.31

T = 273

v = v0 * Exp(Sqr((r * T) / 45))

str = CStr(v)

MsgBox str, vbOKOnly

EndSub

Задание.Создать новую процедуру, в которой определяется значение следующей формулы