Логические переменные

Переменные логического типа могут иметь всего два значения — True и False. Чаще всего они применяются для «включения» или «выключения» некоторого признака или условия в программе. Логические переменные нередко используются для возврата логических значений из вызываемых функций. Код возврата равен True, если работа функции завершилась успешно, и False — в случае неудачи. Мы воспользуемся логическим типом для написания функции, которая определяет, существует ли на диске файл с заданным именем:

1. Создайте новый проект командой File > New Project.

2. В окне Project Wizard выберите значок Standard EXE.

3. Создайте на форме Form1 текстовое поле и задайте его свойству Name значение txtFilename.

4. Очистите свойство Caption текстового поля — для этого следует дважды щелкнуть на свойстве Caption в окне свойств и удалить текст Textl.

5. Создайте на форме кнопку. В окне свойств задайте ее свойству Name значение

cmdSearch, а свойству Caption — значение &Search.

6. Дважды щелкните на форме Form1, чтобы открыть окно программы.

7. Введите в окне программы исходный текст функции IsFile:

 

Private Function IsFile(Filename As String) As Boolean

If Len(Dir$(Filename)) > 0 Then

IsFile = True

Else

IsFile = False

End If

End Function

 

8. Выберите строку cmdSearch из раскрывающегося списка объектов (в левой верхней части окна программы). При этом будет автоматически выбрано событие Click.

9. Добавьте следующий фрагмент в процедуру события Click кнопки cmdSearch:

 

Private Sub cmdSearch_Click()

Dim filename As String

Dim rc As Boolean

 

filename = txtFilename.Text

rc = IsFile(filename)

 

If rc = True Then

MsgBox "Файл существует!"

Else

MsgBox "Файл не найден!"

End If

End Sub

 

10.Запустите программу.

Чтобы проверить, как работает написанная функция, введите в текстовом поле имя файла. Если файл существует, IsFile возвращает логическое значение True, в противном случае возвращается False. Обратите внимание на использование строковой переменной filename, передаваемой в качестве параметра функции IsFile. Значение filename задается в процедуре события Click кнопки cmdSearch.

 

ПОДСКАЗКА Чтобы проверить, существует ли на диске файл с заданным именем, можно воспользоваться функцией Dir$(), вложенной в функцию Len(), — например Len(Dir$(filename)). Результат будет положительным, если файл существует, и равным 0 в противном случае. Функция наподобие IsFile из предыдущего примера позволяет немного упростить проверку.

 

Универсальные переменные

Универсальные переменные могут принимать любое значение (целое, байтовое, строковое или логическое) и преобразовывать его в любой тип. Если переменная используется без явного объявления оператором Dim, Visual Basic считает, что она относится к универсальному типу.

Универсальный тип данных на первый взгляд кажется удобным, но я должен предупредить вас: пользуйтесь им лишь в тех случаях, когда у вас нет другого выбора. Универсальные переменные медленно работают, поскольку Visual Basic вынужден тратить время на их интерпретацию. К тому же они понапрасну расходуют память — под универсальную переменную выделяется область, достаточная для хранения строки, даже если на самом деле требуется всего один байт.

 

ВНИМАНИЕ По возможности старайтесь избегать универсального типа — вы можете запутаться в типах данных и внести в программу ошибки. Кроме того, универсальные переменные затрудняют процесс отладки.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: