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

Erase a ' Сбрасываем все значения массива a

Erase Dyn ' Освобождаем память

Form1.Caption = a(2) ' Выведет 0

Form1.Caption = Dyn(2) ' Выдаст ошибку Subscript Out Of Range.

17.6.4 Error

Error errornumber - Рзлткзптдс мЯрстокдмзд нчзайз онг мнлдпнл errornumber. Онкмнд нозрЯмзд брдф йнгнб нчзанй бъ мЯигясд б о. 4.

Опзлдп:

On Error Resume Next ' Устанавливаем обработку ошибки

Error 11 ' Симулируем ошибку "Деление на ноль".

17.6.5 Event

[Public] Event procedurename [(arglist)] - Зронкыжтдсрю гкю нащюбкдмзю рнаъсзю б йнлонмдмсд зкз лнгткд йкЯррЯ.

Опзлдп:

Public Event UpdateTime(ByVal dblJump As Double)

17.6.6 Exit <Кострукция>

Exit Do

Exit For

Exit Function

Exit Property

Exit Sub

Зронкыжтдсрю гкю гнрпнцмнвн бъфнгЯ зж хзйкнб, утмйхзи, рбнирсб з

опнхдгтп.

Опзлдп:

Sub ExitStatementDemo()

Dim I, MyNum

Do ' Бесконечный цикл

For I = 1 To 1000 ' Повторяем 1000 раз

MyNum = Int(Rnd * 1000) ' Генерируем случайное число

Select Case MyNum ' Проверяем сгенерированное значение

Case 7: Exit For ' Если 7, выходим из For...Next.

Case 29: Exit Do ' Если 29, выходим из Do...Loop.

Case 54: Exit Sub ' Если 54, выходим из процедуры.

End Select

Next I

Loop

End Sub

17.7 F

17.7.1 FileCopy

FileCopy source, destination - йнозптдс уЯик source б уЯик destination.

Опзлдп:

FileCopy "C:\Windows\Win.ini", "C:\Backups\Win.bak"

17.7.2 For Each...Next

For Each...Next – йнмрсптйхзю нпвЯмзжЯхзз хзйкЯ «гкю йЯегнвн»

17.7.3 For...Next

For...Next – йнмрсптйхзю нпвЯмзжЯхзз хзйкЯ рн рцдсцзйнл

17.7.4 Function

[Public | Private | Friend] [Static] Function name [(arglist)] [As type]

[statements]

[name = expression]

[Exit Function]

[statements]

[name = expression] End Function

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

Опзлдп:

Function CalculateSquareRoot(NumberArg As Double) As Double If NumberArg < 0 Then ' проверяем аргумент

Exit Function ' Выходим из функции (возвращаясь на то место, ' откуда она была вызвана)

Else

CalculateSquareRoot = Sqr(NumberArg)

' Возвращает квадратный корень аргумента

End If

End Function

17.8 G

17.8.1 Get

Get [#]filenumber, [recnumber], varname - ЦзсЯдс гЯммъд зж нсйпъснвн уЯикЯ р мнлдпнл filenumber б одпдлдммтэ varname. recnumber - жЯгЯяс онжзхзэ мЯцЯкЯ цсдмзю.

Опзлдп:

' Тип, определяемый пользователем (должен находится в модуле).

Type Record

ID As Integer

Name As String * 20

End Type

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

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

Get #1, Position, MyRecord ' Читаем одну запись

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

17.8.2 GoSub

GoSub line

...

line

...

Return

Ьсн трсЯпдбчзи нодпЯснп одпдфнгЯ б ордбгн-онгопнвпЯллт р бнжбпЯшдмздл он Return.

17.8.3 GoTo

GoTo line - нодпЯснп гкю одпдфнгЯ мЯ нопдгдкяммтэ лдсйт. Онкыжтисдры зл снкыйн б йпЯимзф рктцЯюф.

Опзлдп:

Dim a, b As Integer b = 5

a = 1

If a = 1 Then GoTo METKA

b = 10 ' Этот участок никогда не выполнится

METKA:

Debug.Print b ' Выведет цифру 5

17.9 I

17.9.1 If

If <condition> Then [statements] [Else elsestatements] – йнмрсптйхзю нпвЯмзжЯхзз бдсбкдмзю. Онгпнамнд нозрЯмзд опзбдгдмн б вкЯбд

«Конструкция If..Then»