Пятница, 17.05.2024, 12:12
Всего понемногу...
Меню сайта
Категории
Функции [9]
Операторы [9]
Разное [10]
Переменные [1]
Числа [1]
Строки [2]
Трюки [0]
Примеры [0]
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Ваши данные:
 
Главная » Статьи » Visual Basic » Операторы

Операторы VB5 (M...O)

---M---


Mid(stringvar, start[, length]) = string
Заменяет символы в строке stringvar начиная с позиции start символами, содержащимися в строке string.

Dim MyString
MyString = "The dog jumps" ' Инициализируем строку
Mid(MyString, 5, 3) = "fox" ' MyString = "The fox jumps".
Mid(MyString, 5) = "cow" ' MyString = "The cow jumps".
Mid(MyString, 5) = "cow jumped over" ' MyString = "The cow jumpe".
Mid(MyString, 5, 3) = "duck" ' MyString = "The duc jumpe".

MkDir path
Создаёт каталог path.

MkDir "MYDIR" ' Создаёт новую папку в текущем каталоге.
MkDir "C:\MYDIR" ' Создаёт новую папку в корневом каталоге диска С.

---N---


Name oldpathname As newpathname
Переименовывает файл или каталог с именем oldpathname в файл или каталог с именем newpathname.

Dim OldName, NewName
OldName = "OLDFILE": NewName = "NEWFILE" ' Устанавливаем имена
Name OldName As NewName ' Переименовываем

OldName = "C:\MYDIR\OLDFILE": NewName = "C:\YOURDIR\NEWFILE"
Name OldName As NewName ' Перемещаем и переименовываем файл


---O---


On Error GoTo line
On Error Resume Next
On Error GoTo 0

Устанавливает обработчик ошибок на процедуру. Первый оператор указывает метку, на которую будет передано управление при возникновении ошибки. С помощью второго оператора можно сделать так, чтобы при возникновении ошибки программа продолжала работать. И, наконец, третий позволяет отключить все ранее установленные обработчики ошибок.

Dim strVar As String
' Устанавливаем обработчик ошибки
On Error GoTo OSHIBKA
'Открываем несуществующий файл.Возникает ошибка №53 "Файл не найден" и
' программа передаёт управление на метку OSHIBKA

Open "C:\Windows\MyIni.ini" For Input As #3
Input #3, strVar
Close #3
Exit Sub ' Нужно выйти из процедуры, иначе появится ненужный MsgBox

OSHIBKA:
If Err.Number = 53 Then ' Объект Err - содержит свойства ошибки
MsgBox "Файл не найден!", vbCritical, "error"
Else
MsgBox "Какая-то другая ошибка!", vbCritical, "error"
End If

Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
Открывает файл для чтения, записи или для произвольного доступа.

' Открываем файл для последовательного чтения
Open "TESTFILE" For Input As #1
' Закрываем файл перед тем, как открыть его снова другим методом
Close #1

' Открываем для двоичного доступа и только для записи
Open "TESTFILE" For Binary Access Write As #1
' Закрываем файл перед тем, как открыть его снова другим методом
Close #1

' Этот пример открывает файл для произвольного доступа.
' Файл содержит записи определённого пользователем типа.

Type Record
ID As Integer
Name As String * 20
End Type

Dim MyRecord As Record ' Объявляем переменную типа запись
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
' Закрываем файл перед тем, как открыть его снова другим методом
Close #1


' Открываем файл для последовательной записи.
' Причём другие процессы также могут записывать или читать этот файл.

Open "TESTFILE" For Output Shared As #1
' Закрываем файл перед тем, как открыть его снова другим методом
Close #1


'Этот оператор открывает файл для двоичного доступа только для чтения,
' Причём другие процессы не могут обращаться к этому файлу!

Open "TESTFILE" For Binary Access Read Lock Read As #1


Option Base {0 | 1}
Задаёт нижний предел для массивов. Оператор действует на уровне модуля. По умолчанию все массивы начинают свои индексы с нуля.

Option Base 1 ' Устанавливаем границу для массивов равной единице

Dim Lower
Dim MyArray(20), TwoDArray(3, 4) ' Объявляем массивы
Dim ZeroArray(0 To 5) ' Этот массив всё равно начнётся с нуля
' Используем ф-цию LBound для выявления нижней границы массива
Lower = LBound(MyArray) ' Возвратит 1.
Lower = LBound(TwoDArray, 2) ' Возвратит 1.
Lower = LBound(ZeroArray) ' Возвратит 0.


Option Compare {Binary | Text | Database}
То же, что и выше, только задаёт тип сравнения, который будет использоваться по умолчанию. По умолчанию используется бинарный тип сравнения.

' Устанавливаем бинарный тип сравнения.
Option Compare Binary ' Теперь, строка "AAA" меньше, чем "aaa".
' Устанавливаем текстовый тип сравнения.
Option Compare Text ' Теперь, строка "AAA" равна строке "aaa".

Option Explicit
Если задать этот оператор, то нельзя будет использовать необъявленные ранее переменные, например, как в паскале.

Option Explicit
Dim MyVar ' Объявляем переменную
MyInt = 10
' MyInt - необъявленная переменная, поэтому произойдёт ошибка

MyVar = 10 ' Здесь всё ОК

Всегда помещайте оператор Option Explicit в начало любого модуля, чем избавите себя от ошибок, связанных с неверными именами переменных и управляющих элементов. Оператор Option Explicit будет автоматически помещаться в раздел глобальных объявлений каждого созданного вами модуля, если вы установите флажок Require Variable Declaration на вкладке Editor диалога Options (открывается одноименной командой меню Tools). Ниже приведён пример ошибки, являющейся следствием отстутствия оператора Option Explicit:

Private Sub Command1_Click()
Dim strCaption As String
strCaption = Form1.Caption
MsgBox strCaprion, vbCritical, "Нет Option Explicit"
End Sub

Назначение такого кода - вывести текущий заголовок формы Form1 в окно сообщения. Но результатом этого кода будет вот такая картина:

Почему так? Да потому что вы допустили ошибку при написании имени переменной. Вместо strCaption вы ввели strCaprion. А Visual Basic при встрече ещё не объявленной переменной объявляет эту переменную сам, как Variant, но не присваивает ей значения. Поверьте, вы далеко не сразу обнаружите несоответствие имён. Тем более если у вас был бы большой код! Ниже изображено окошко, которое появилось бы, если бы вы вставили Option Explicit в начало программного модуля:

И после нажатия на ОК, VB показал бы вам, где он нашёл неопределённую переменную. И вы бы уже давно писали следующий кусок кода программы, а не искали бы ошибку...


Option Private Module
Делает модуль приватным. Т.е. его методы и функции не могут быть использованы в других подключённых проектах.

Option Private Module ' Теперь модуль Module - приватный
Категория: Операторы | Добавил: adelay (26.04.2013) | Автор: Funbit
Просмотров: 1293 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
ADelay © 2024
Конструктор сайтов - uCoz