Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Знакомство c Visual Basic.pdf
Скачиваний:
30
Добавлен:
02.06.2015
Размер:
4.34 Mб
Скачать

[statements]

[Exit Sub]

[statements]

End Sub

Ьснс нодпЯснп нащюбкюдс опнхдгтпт р злдмдл name з оЯпЯлдспЯлз arglist.

Опзлдп:

'Объявляем процедуру

'Процедура имеет 2 аргумента

Sub SubComputeArea(Length, TheWidth)

Dim Area As Double ' Объявляем локальную переменную

If Length = 0 Or TheWidth = 0 Then

' Если любой аргумент равен нулю

Exit Sub ' Сразу выходим из процедуры

End If

Area = Length * TheWidth ' Вычисляем площадь прямоугольника

Debug.Print Area ' Печатаем еѐ в окно Debug

End Sub

17.18 T

17.18.1Time

Time = time - Зжлдмюдс рзрсдлмнд бпдлю мЯ time.

Опзлдп:

Dim MyTime

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

Time = MyTime ' Изменяем системное время

17.18.2Type

[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

17.19 U

17.19.1Unload

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

17.19.2Lock…Unlock

Lock [#]filenumber[, recordrange]

. . .

Unlock

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 ' Закрываем файл

17.20W

17.20.1While…Wend

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

17.20.2Width

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 ' Закрываем файл

17.20.3With

With object

[statements] End With

Р онлншыэ ьснвн нодпЯснпЯ лнемн опнзжбдрсз рдпзэ напЯшдмзи й нащдйст