Операторы.

P-R

 

По порядку:

Print

Private

Property Get

Property Let

Property Set

Public

Put

RaiseEvent

Randomize

ReDim

Rem

Reset

Resume

RmDir

RSet

 

 

P

 

Print #filenumber, [outputlist] - записывает переменную(ые) outputlist в файл последовательного доступа.

Пример:

Open "TESTFILE" For Output As #1 ' Открыть файл для записи
Print #1, "This is a test"
' Записать в файл строку текста
Print #1,
' Записать в файл пустую строку
Print #1, "Zone 1"; Tab ; "Zone 2"
' Записать информацию в две колонки (зоны)
Print #1, "Hello" ; " " ; "World"
' Разделить строки пробелом
Print #1, Spc(5) ; "5 leading spaces "
' Записать 5 лидирующих пробелов
Print #1, Tab(10) ; "Hello"
' Записать слово в десятый столбец

' Присвоим Boolean, Date, Null и Error значения.
Dim MyBool, MyDate, MyNull, MyError
MyBool = False
MyDate = #February 12, 1969#
MyNull = Null
MyError = CVErr(32767)
' True, False, Null и Error будут преобразованы, основываясь
' на локальных настройках вашей системы.
' Дата запишется, используя стандартный короткий формат
Print #1, MyBool ; " это Boolean значение"
Print #1, MyDate ; " это Дата"
Print #1, MyNull ; " это значение Null"
Print #1, MyError ; " это значение переменной Error"
Close #1 ' Закрываем файл

 

Private [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])] [As [New] type]] . . .

Объявляет приватные переменные и выделяет под них место в памяти. Пояснение: приватные отличаются от обычных, объявлённых операторм Dim тем, что не может объявлять переменные внутри процедуры или функции. При объявлении в разделе глобальных объявлений они равнозначны.

Пример:

Private Number As Integer ' Объявляем приватную переменную Number
Private NameArray(1 To 5) As String ' Приватный массив
' Несколько объявлений, 2 типа Variant и 1 Integer. Все приватные.
Private MyVar, YourVar, ThisVar As Integer

 

 

[Public | Private | Friend] [Static] Property Get name [(arglist)] [As type]
[statements]
[name = expression]
[Exit Property]
[statements]
[name = expression]
End Property

Объявляет процедуру получения значения свойства. Эта процедура срабатывает, когда пользователь обращается к свойству.

Пример:

Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

' Возвращает текущий цвет карандаша (Pen) в виде строки
Property Get PenColor() As String
Select Case CurrentColor
Case RED
PenColor = "Красный"
Case GREEN
PenColor = "Зелёный"
Case BLUE
PenColor = "Синий"
End Select
End Property

' Этот код обращается к свойству и вызывает процедуру Property Get
ColorName = PenColor

 

 

[Public | Private | Friend] [Static] Property Let name ([arglist,] value)
[statements]
[Exit Property]
[statements]
End Property

Объявляет процедуру присваивания значения свойству. Эта процедура срабатывает, когда пользователь присваивает значение свойству.

Пример:

Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

' Устанавливает цвет карандаша(Pen) по цвету, указанному в виде строки
' Переменной уровня модуля CurrentColor присваивается
' текущий цвет карандаша
Property Let PenColor(ColorName As String)
Select Case ColorName ' Проверяем строку, определяющую цвет
Case "Красный"
CurrentColor = RED ' Красный цвет
Case "Зелёный"
CurrentColor = GREEN ' Зелёный
Case "Синий"
CurrentColor = BLUE ' Синий
Case Else
CurrentColor = BLACK ' Присваиваем значение по умолчанию
End Select
End Property

' Этот код вызывает процедуру Property Let
PenColor = "Красный"

 

[Public | Private | Friend] [Static] Property Set name ([arglist,] reference)
[statements]
[Exit Property]
[statements]
End Property

Объявляет процедуру присваивания свойству ссылки на объект. Эта процедура срабатывает, когда пользователь присваивает свойству ссылку на объект. Например, если тип свойства - Picture.

Пример:

' Свойство DownPicture может иметь различные картинки
' CurrentPic - хранит рисунок
Property Set DownPicture(P As Picture)
Set CurrentPic = P ' Присваиваем новый рисунок
End Property

 

 

Public [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])] [As [New] type]] . . .

Объявляет глобальную переменную. Объявлённая таким способом переменная становится доступной из всех модулей и форм проекта. Если переменная объявлена в разделе глобальных объявлений, то доступ к ней осуществляется просто по её имени. Если же она объявлена в коде формы, то доступ к ней из других форм и модулей осуществляется так: ИмяФормы.ИмяПеременной.

Пример:

Public Number As Integer ' Глобальная переменная типа Integer
Public NameArray(1 To 5) As String ' Глобальный массив
' Несколько объявлений, 2 типа Variant и 1 Integer. Все глобальные.
Public MyVar, YourVar, ThisVar As Integer

 

 

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

 

R

 

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'у.

 

Randomize [number] - Инициализирует генератор случайных чисел. Если этот оператор не поместить перед функцией Rnd, то при каждом запуске приложения будут генерироваться одни и те же случайные числа.

Пример:

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

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

 

 

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

 

 

Rem comment - старый оператор для создания комментариев в тексте программы. Лучше использовать новый аналог - ' (апостроф).

Пример:

Dim MyStr1, MyStr2
MyStr1 = "Hello": Rem Здесь ваш комментарий
MyStr2 = "Goodbye" ' Это тоже комментарий, только без двоеточия

 

 

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

 

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

 

RmDir path - удаляет директорию с диска.

Пример:

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

 

RSet stringvar = string - Выравнивает строку по правой стороне при присваивании ей значения, меньшего по размеру, чем исходная строка. Вместо строк могут использоваться определённые пользователем типы.

Пример:

Dim MyString
MyString = "0123456789" ' Инициализируем строку
Rset MyString = "Right->" ' MyString содержит "     Right->"

 

 
 
Вернутся на главную   Вернутся на предыдущую.
Rambler's Top100   

 

Сайт управляется системой uCoz