Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Функции преобразования форматов




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

Полный перечень функций преобразования типов вы найдете в справочной системе, здесь же рассмотрим некоторые из них:

1.

Sub ФункцияCInt()

'Переводит число в целочисленный формат:

Dim MyDouble, MyInt

MyDouble = 2345.5678

MyInt = CInt(MyDouble)

MsgBox "Число " & MyDouble & _

" в целочисленном формате запишется как " & MyInt, _

vbInfomation, "Целочисленный формат"

End Sub

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

Sub ФункцииStr_CStr()

Dim MyString1 As String

Dim MyString2 As String

 

MyString1 = Str(459)

MyString2 = CStr(459)

 

MyString1 = Str(-459.65)

MyString2 = CStr(-459.65)

 

MyString1 = Str(459.001)

MyString2 = CStr(459.001)

End Sub

 

Sub ФункцияVal()

Dim MyValue

MyValue = Val("2345")

MyValue = Val(" 2 34 5")

MyValue = Val("23 and 45")

End Sub

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

Рассмотрим действие этих функций на следующих примерах.

1. Функции смены регистра LCase/UCase:

Sub ФункцииLCase_UCase()

Dim MyString As String

MyString = InputBox("Введите Ваше имя:")

MsgBox "Ваше имя в нижнем регистре: " & LCase(MyString), _

vbInfomation, "Смена регистра"

MsgBox "Ваше имя в верхнем регистре: " & UCase(MyString), _

vbInfomation, "Смена регистра"

End Sub

2. Выделение подстроки:

Sub ФункцииLeftMidRight()

Dim MyString As String

MyString = "Марья Ивановна"

MsgBox "Марья Ивановна! Ваше имя: " & Left(MyString,5) & ", отчество: " & Right(MyString,8) & ", а отца звали " & _

Mid(MyString, 7, 4) & ".", vbInfomation, MyString

End Sub

3. Определение длины строки:

Sub ФункцииLen()

Dim MyString As String

MyString = InputBox("Введите Ваше имя:")

MsgBox "Ваше имя состоит из " & Len(MyString) & _

" символов.", vbInfomation, "Длина строки"

End Sub

4. Уничтожение пробелов. Следующую программу выполните в пошаговом режиме, предварительно открыв окно локальных переменных и наблюдая за их значениями:

Sub ФункцииTrim()

Dim MyString As String

Dim Имя As String

Имя = " Марья Ивановна "

MyString = LTrim(Имя)

MyString = RTrim(Имя)

MyString = Trim(Имя)

End Sub

5. Проверка наличия подстроки или поиск начала вхождения:

Sub ФункцияInStr()

Dim MyString As String

MyStringVal = InStr("Марья Ивановна", "Ивановна")

If MyStringVal > 0 Then

MsgBox "В строке Марья Ивановна имеется подстрока Ивановна, и она начинается с " & MyStringVal & _

"-ой позиции.", vbInfomation, "Марья Ивановна"

End If

End Sub

Функции времени и даты

Рассмотрим основные функции времени и даты.

1. Функция Date. Возвращает текущую системную дату:

Sub ФункцияДата()

Dim Дата As Date

Дата = Date()

MsgBox "Сегодня " & Дата, vbInfomation, "Дата"

End Sub

2. Функция Year. Возвращает год в значении даты:

Sub ФункцияГод()

Dim Год

Год = Year(Date)

MsgBox "Сейчас " & Год & "-й год. ", vbInfomation, "Год"

End Sub

3. Функция Month. Возвращает месяц в значении даты:

Sub ФункцияМесяц()

Dim Месяц

Месяц = Month(Date)

MsgBox "Сейчас " & Месяц & "-й месяц.", vbInfomation, _

"Месяц"

End Sub

4. Функция Day. Возвращает месяц в значении даты:

Sub ФункцияЧисло()

Dim Число

Число = Day(Date)

MsgBox "Сейчас " & Число & "-ое число.", vbInfomation, _

"Число"

End Sub

9. Обработка ошибок: инструкция On Error

В 8.2 мы говорили о предотвращении ошибок программными средствами. Помимо этого, ошибки можно перехватывать и обрабатывать с помощью инструкции On Error.

В Модуль8 наберите следующую программу и протестируйте её:

1) Sub ОбратноеЧислоError ()
2) Dim x As Double
3) Dim y As Double
4) Dim Число As String
5) 'Передача управления на обработчик ошибок, помеченный _ меткой Ошибка
6) On Error GoTo Ошибка
7) x = CDbl(InputBox("Введите число:"))
8) y = 1 / x
9) MsgBox "Обратное число:" & y
10) Exit Sub
11) 'Обработчик ошибок
12) Ошибка:
13) MsgBox "Произошла ошибка: " & Cstr(Err.Number) & "-" & _ Err.Description, vbInformation, "Cообщение об ошибке"
14) Select Case Err.Number
15) Case 11
16) MsgBox "Деление на ноль запрещено!", vbExclamation, _ "Обратное число "
17) Case 13
18) MsgBox "Некорректный ввод исходного значения!", _ vbExclamation, "Обратное число"
19) Case Else
20) MsgBox "Непредвиденная ошибка!", _ vbExclamation, "Обратное число"
21) End Select
22) End Sub

Обратите внимание на 10-ю строку кода, которая обеспечивает выход из процедуры перед активизацией обработчика ошибок. В случае её отсутствия управление передается на следующую команду, т.е. будет выведено сообщение об ошибке, даже если её и нет.

Замечание:

Даже если вы предотвращаете ошибки программным способом, для перехвата непредвиденных ошибок вставляйте в программу инструкцию On Error. В ней вы можете выдать примерно такой же текст, как в 20-й строке или такой: «Программа выполнила недопустимую операцию и будет закрыта. При повторении ситуации обратитесь к разработчику!»





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 344 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студенческая общага - это место, где меня научили готовить 20 блюд из макарон и 40 из доширака. А майонез - это вообще десерт. © Неизвестно
==> читать все изречения...

2372 - | 2321 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.