---I---
If condition Then [statements] [Else elsestatements]
Условный оператор If...End If
В этой конструкции некоторые операторы выполняются только при условии, содержащееся в конструкции логическое выражение имеет значение True (истинно):
If Логическое_выражение Then Оператор
или сложнее
If Логическое_выражение Then
Группа_операторов
End If
В первом случает оператор может быть только один. Во втором сколько угодно (в том числе и один).
If (a = b) And (c <> d) Then
b = d
a = 20
End If
Скобки здесь не обязательны, но они повышают читабельность кода.
Условный оператор If...Else...ElseIf...End If
Такая конструкция используется для более сложных ветвлений:
If Логическое_выражение 1 Then
Группа_операторов
ElseIf Логическое_выражение 2 Then
Группа_операторов
...
Else
Группа_операторов
End If
Эта схема может быть и в укороченном виде If...Then...Else...End If. При этом операторы после Else выполняются только в том случае, если ни одно из условий не выполнено.
If (a = b) Or (c <> d) Then
b = d
a = 20
Else
c = d
End If
Выражение c=d будет выполнено только в том случае, если a<>b или c=d.
Implements [InterfaceName | Class] - Определяет интерфейс или класс, который будет включён в модуль класса. В качестве параметра задаётся либо имя интерфейса, либо имя класса, методы которого будут включены в класс, в котором определён оператор. В общем это вам не плюшки трескать :) А вообще, честно говоря, я и сам толком не понял зачем он нужен. Если Вы можете объяснить, то скиньте описание мне на мыло и я помещу ваше описание сюда.
Input #filenumber, varlist - Последовательно читает данные из файла и записывает их в переменную(ые) varlist.
Dim MyString, MyNumber
Open "TESTFILE" For Input As #1 ' Открываем файл для чтения
Do While Not EOF(1) ' Зацикливаемся, пока не конец файла
Input #1, MyString, MyNumber ' Читаем данные в две переменные
Debug.Print MyString, MyNumber ' Печатаем полученные данные в Dubug
Loop
Close #1 ' Закрываем файл
---K---
Kill pathname - Убивает файл! Да-да, именно так! Наверное Билли перед придумываем названия посмотрел какой-нибудь боевичок :) Ну, а если серьёзно, то этот оператор просто удаляет файл с диска. В качестве pathname моно использовать маску.
' Удаляем файл
Kill "TestFile"
' Удаляем все файлы с расширением txt, находящиеся в текущей директории
Kill "*.TXT"
---L---
[Let] varname = expression - Это оператор присваивания, который перекачал со старинного бейсика (который я помню ещё со времён спектрума). В общем он необязательный. И использовать его не рекомендую. Но пример всё-таки приведу:
Dim MyStr As String
Let MyStr = "Hello World" ' Присваиваем с использованием оператора Let
MyStr = "Hello World" ' То же самое, но без оного.
String Like Pattern - оператор для проверки строки String на маску Pattern. Это очень мощный оператор, почти аналог регулярных выражений в Perl.
Dim MyCheck
MyCheck = "aBBBa" Like "a*a" ' Возвратит True.
MyCheck = "F" Like "[A-Z]" ' Возвратит True.
MyCheck = "F" Like "[!A-Z]" ' Возвратит False.
MyCheck = "a2a" Like "a#a" ' Возвратит True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Возвратит True.
MyCheck = "BAT123khg" Like "B?T*" ' Возвратит True.
MyCheck = "CAT123khg" Like "B?T*" ' Возвратит False.
myString = "312T-87GD-8922"
If myString Like "###[A-Z]-##[A-Z][A-Z]-####" Then ...
Спец-символы в маске:
? Любой одиночный символ
* Ноль или более символов
# Любая одиночная цифра (0–9).
[charlist] Любой одиночный символ в классе символов (списке)
[!charlist] Любой одиночный символ не принадлежащий классу символов
Line Input #filenumber, varname - Последовательно читает одну строку из открытого файла в переменную String.
Dim TextLine
Open "TESTFILE" For Input As #1 ' Открываем файл
Do While Not EOF(1) ' Зацикливаемся, пока не конец файла
Line Input #1, TextLine ' Читаем в переменную
Debug.Print TextLine ' Печатаем в окно Debug
Loop
Close #1 ' Закрываем файл
Load object - загружает форму или компонент в память. Пример, хоть и большой, но очень простой и понятный.
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 ' Закрываем файл
LSet stringvar = string - Выравнивает строку по левой стороне при присваивании ей значения, меньшего по размеру, чем исходная строка. Вместо строк могут использоваться определённые пользователем типы.
Dim MyString
MyString = "0123456789" ' Инициализируем строку
Lset MyString = "<-Left" ' MyString содержит "<-Left "
Источник: http://Visual Basic - крепкий орешек |