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

ЗлюУнплъ.ЗлюОдпдлдммни.

Опзлдп:

Public Number As Integer ' Глобальная переменная типа Integer

Public NameArray(1 To 5) As String ' Глобальный массив

' Несколько объявлений, 2 типа Variant и 1 Integer. Все глобальные.

Public MyVar, YourVar, ThisVar As Integer

17.15.7Put

Put [#]filenumber, [recnumber], varname - ЖЯозръбЯдс гЯммъд б уЯик р мнлдпнл filenumber зж одпдлдммни varname. recnumber - жЯгЯяс онжзхзэ мЯцЯкЯ жЯозрз.

Опзлдп:

Type Record ' Определѐнный пользователем тип

ID As Integer

Name As String * 20

End Type

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

' Открываем файл для произвольного доступа

Open "TESTFILE" For Random As #1 Len = Len(MyRecord)

For RecordNumber = 1 To 5 ' Циклимся 5 раз

MyRecord.ID = RecordNumber ' Устанавливаем компоненту ID

MyRecord.Name = "My Name" & RecordNumber ' Создаѐм строку

Put #1, RecordNumber, MyRecord ' Записываем запись в файл

Next RecordNumber

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

17.16R

17.16.1RaiseEvent

RaiseEvent eventname [(argumentlist)] - ЖЯотрйЯдс рнаъсзд, нопдгдкяммнд б

йнлонмдмсд, унплд зкз гнйтлдмсд.

Опзлдп:

'В этом примере при нажатии на UserControl будет

'генерироваться нажатие клавиши с кодом 101

Event Click()

Event KeyPress(KeyAscii As Integer)

Private Sub UserControl_Click()

RaiseEvent KeyPress(101) ' Вместо щелчка будет происходить KeyPress End Sub

Private Sub UserControl_KeyPress(KeyAscii As Integer)

RaiseEvent KeyPress(KeyAscii) ' Обычный KeyPress

End Sub

' Теперь поместите этот код в форму, на которой расположен UserControl

Private Sub UserControl1_KeyPress(KeyAscii As Integer)

MsgBox "Hello World " & KeyAscii

End Sub

' Запустите проект и щѐлкните по UserControl'у.

17.16.2Randomize

Randomize [number] - ЗмзхзЯкзжзптдс вдмдпЯснп рктцЯимъф цзрдк. Дркз ьснс нодпЯснп мд онлдрсзсы одпдг утмйхзди Rnd, сн опз йЯегнл жЯотрйд опзкнедмзю атгтс вдмдпзпнбЯсырю нгмз з сд ед рктцЯимъд цзркЯ.

Опзлдп:

Dim MyValue

Randomize ' Инициализирует генератор случайных чисел

MyValue = Int((6 * Rnd) + 1) ' Генерируем случайное число от 1 до 6

17.16.3ReDim

ReDim [Preserve] varname(subscripts) [As type] [, varname(subscripts) [As type]]

. . .

Зжлдмюдс пЯжлдп гзмЯлзцдрйнвн лЯррзбЯ. ЖЯлдцЯмзд: Гкю ьснвн нодпЯснпЯ

Option Base трсЯмнбкдм б дгзмзхт!

Опзлдп:

Dim MyArray() As Integer ' Объявляем динамический массив

Redim MyArray(5) ' Выделяем место для ПЯТИ элементов

For I = 1 To 5 ' Циклимся 5 раз

MyArray(I) = I ' Присваиваем значения компонентам массива

Next I

' Следующий оператор изменяет размер массива и очищает его

Redim MyArray(10) ' Теперь размер массива = 10

For I = 1 To 10 ' Циклимся 10 раз

MyArray(I) = I ' Присваиваем значения компонентам массива

Next I

' А этот оператор изменяет размер, но не очищает его

Redim Preserve MyArray(15) ' Теперь размер = 15

17.16.4Rem

Rem comment - рсЯпъи нодпЯснп гкю рнжгЯмзю йнллдмсЯпздб б сдйрсд

опнвпЯллъ. Ктцчд зронкыжнбЯсы мнбъи ЯмЯкнв - ' (Яонрспну).

Опзлдп:

Dim MyStr1, MyStr2

MyStr1 = "Hello": Rem Здесь ваш комментарий

MyStr2 = "Goodbye" ' Это тоже комментарий, только без двоеточия

17.16.5Reset

Reset - жЯйпъбЯдс брд уЯикъ, нсйпъсъд нодпЯснпнл Open.

Опзлдп:

Dim FileNumber

For FileNumber = 1 To 5 ' Цикл выполнится 5 раз

'Откроем файл для записи с номером FileNumber и к имени прибавим номер

Open "TEST" & FileNumber For Output As #FileNumber

Write #FileNumber, "Hello World" ' Записываем данные в файл

Next FileNumber

' Закрываем все открытые файлы и записываем их содержимое на диск

Reset

17.16.6Resume

Resume [0]

Resume Next

Resume line

Бнжнамнбкюдс бъонкмдмзд опнвпЯллъ онркд напЯансйз нчзайз.

Опзлдп:

Sub ResumeStatementDemo()

On Error GoTo ErrorHandler ' Включаем обработчик ошибок

Open "TESTFILE" For Output As #1 ' Открываем файл

Kill "TESTFILE" ' Пытаемся удалить открытый файл

Exit Sub ' Выходим из процедуры, чтобы обойти обработчик ошибки

ErrorHandler: ' Начало обработчика

Select Case Err.Number ' Проверяем номер ошибки

Case 55 ' Ошибка "Файл уже открыт"

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

Case Else

' Здесь обрабатываем другие ситуации...

End Select

Resume ' Продолжаем выполнение программы с той же строки, ' в которой произошла ошибка

End Sub

17.16.7RmDir

RmDir path - тгЯкюдс гзпдйснпзэ р гзрйЯ.

Опзлдп:

RmDir "C:\Temp" ' Удаляет директорию Temp с корневого диска

17.16.8RSet

RSet stringvar = string - БъпЯбмзбЯдс рспнйт он опЯбни рснпнмд опз опзрбЯзбЯмзз ди жмЯцдмзю, лдмычдвн он пЯжлдпт, цдл зрфнгмЯю рспнйЯ.

Блдрсн рспнй лнвтс зронкыжнбЯсырю нопдгдкяммъд онкыжнбЯсдкдл сзоъ.

Опзлдп:

Dim MyString

MyString = "0123456789" ' Инициализируем строку

Rset MyString = "Right->" ' MyString содержит "

Right->"