Идёт загрузка страницы...

htp://aptem.net.ru






На главную страничку учебника Visual Basic

Операторы VB (T-W)

Описание операторов, встроенных в Visual Basic 5, начинающихся с букв T-W


Список операторов, описанных в этом разделе:


---T---


Time = time - Изменяет системное время на time.

Пример:

Dim MyTime
MyTime = #4:35:17 PM# ' Присваиваем время переменной
Time = MyTime ' Изменяем системное время


[Private | Public] Type varname
elementname [([subscripts])] As type
[elementname [([subscripts])] As type]
. . .
End Type

Объявляет новый тип (тип, определённый пользователем), содержащий один или несколько элементов.

Пример:

Type EmployeeRecord ' Создаём новый тип
ID As Integer ' Определяем типы значений, входящие в новый тип
Name As String * 20
Address As String * 30
Phone As Long
HireDate As Date
End Type

Sub CreateRecord()
Dim MyRecord As EmployeeRecord ' Объявляем переменную
' Присвоение значения переменной типа EmployeeRecord
' должно произойти в процедуре

MyRecord.ID = 12003 ' Присваиваем значение элементу переменной
End Sub


---U---


Unload object - Выгружает объект (форму или компонент). Эта функция является обратной функции Load.

Пример:

Private Sub Form_Click ()
Dim Answer, Msg As String ' Объявляем переменные
Unload Form1 ' Выгружаем форму
Msg = _
"Form1 только что была выгружена. Нажмите Да, чтобы загрузить её и "
Msg = Msg & "показать. Нажмите Нет чтобы загрузить её и "
Msg = Msg & "оставить невидимой."
Answer = MsgBox(Msg, vbYesNo) ' Выводим окно сообщения
If Answer = vbYes Then ' Проверяем выбор юзера
Show ' если Да, то показываем форму
Else
Load Form1 ' Если Нет, то только загружаем
Msg = "Теперь форма загружена. Нажмите ОК, чтобы показать её."
MsgBox Msg ' Выводим сообщение
Show ' Показываем форму
End If
End Sub


Lock [#]filenumber[, recordrange]
. . .
Unlock [#]filenumber[, recordrange]

Эти операторы управляют доступом к файлу для других процессов, чтобы те не могли что-либо сделать с компонентом этого файла. В приведённом ниже примере после оператора Lock доступ к записи закрывается, и другие процессы (программы) не смогут изменить эту запись. Запись отпирается оператором Unlock.

Пример:

Type Record ' Тип, определённый пользователем (находится в модуле)
ID As Integer
Name As String * 20
End Type

Dim MyRecord As Record, RecordNumber ' Объявляем переменные

' Открываем файл-пример для произвольного доступа
Open "TESTFILE" For Random Shared As #1 Len = Len(MyRecord)

RecordNumber = 4 ' Устанавливаем позицию записи
Lock #1, RecordNumber ' Запираем эту запись
Get #1, RecordNumber, MyRecord ' Читаем запись
MyRecord.ID = 234 ' Модифицируем её
MyRecord.Name = "John Smith"
Put #1, RecordNumber, MyRecord ' Записываем изменённую запись
Unlock #1, RecordNumber ' Отпираем запись

Close #1 ' Закрываем файл


---W---


While...Wend - Оператор цикла. Отличие от оператора Do While...Loop заключается в том, что здесь не используется слово Do, и вместо слова Loop используется Wend. В общем выбирайте какой хотите.

Пример:

Dim Counter
Counter = 0 ' Инициализируем переменные
While Counter < 20 ' Проверяем значение счётчика
Counter = Counter + 1 ' Увеличиваем счётчик
Wend ' Заканчиваем цикл, если Counter > 19
Debug.Print Counter ' Печатаем 20 в окно Debug

' Этот же пример, только с циклом Do While:

Dim Counter
Counter = 0 ' Инициализируем переменные
Do While Counter < 20 ' Проверяем значение счётчика
Counter = Counter + 1 ' Увеличиваем счётчик
Loop ' Заканчиваем цикл, если Counter > 19
Debug.Print Counter ' Печатаем 20 в окно Debug


Width #filenumber, width - Устанавливает длину строки при выводе в файл, открытый оператором Open.

Пример:

Dim I
Open "TESTFILE" For Output As #1 ' Открываем файл для записи
Width #1, 5 ' Устанавливаем длину вывода 5
For I = 0 To 9 ' Циклимся 10 раз
Print #1, Chr(48 + I); ' Выводим по 5 символов в строке
Next I
Close #1 ' Закрываем файл


With object
[statements]
End With

С помощью этого оператора можно произвести серию обращений к объекту или переменной типа запись. Таким образом код становится короче и понятнее.

Пример:

With MyObject
.Height = 100
' Аналогично выражению MyObject.Height = 100.
.Caption = "Hello World"
' Аналогично выражению MyObject.Caption = "Hello World".
With .Font
.Color = Red ' Аналогично выражению MyObject.Font.Color = Red.
.Bold = True ' Аналогично выражению MyObject.Font.Bold = True.
End With
End With


Write #filenumber, [outputlist] - последовательно записывает данные в файл.

Пример:

Open "TESTFILE" For Output As #1 ' Открываем файл для записи
Write #1, "Hello World", 234 ' Записываем строку, разделённую запятой
Write #1, ' Записываем пустую линию

Dim MyBool, MyDate, MyNull, MyError
' Присваиваем Boolean, Date, Null и Error значения
MyBool = False
MyDate = #February 12, 1969#
MyNull = Null
MyError = CVErr(32767)
' Boolean запишется как #TRUE# или #FALSE#. Дата запишется
' как #1969-01-12#. Null запишется как #NULL#.
' Error капишется как #ERROR код_ошибки#.

Write #1, MyBool ; " это Boolean значение
Write #1, MyDate ; " это Дата"
Write #1, MyNull ; " это Null"
Write #1, MyError ; " а это Error"
Close #1 ' Закрываем файл

На главную страничку учебника Visual Basic