- •1 Знакомство с Visual Basic
- •1.1 Первое знакомство
- •1.1.1 Запуск VB
- •1.1.2 Выход из VB
- •1.1.3 Практическое задание
- •1.2 Файлы проекта
- •1.3 Шаги создания проекта на VB
- •1.3.1 Планирование действий, выполняемых приложением
- •1.3.2 Планирование пользовательского интерфейса
- •1.3.3 Установка свойств
- •1.3.4 Написание текста программы
- •1.3.5 Отладка приложения
- •1.4 Первый проект
- •1.4.1 Основные сведения об исполнении приложений в операционной системе Windows
- •1.4.2 Разработка проекта
- •1.4.3 Условие задачи
- •1.4.4 Элементы управления
- •1.4.4.1 Вставка надписей
- •1.2.1 Разработка программы
- •1.3 Усовершенствование проекта
- •1.4 Компиляция проекта
- •1.5 Отображение окон в среде VB
- •1.6 Вопросы для контроля
- •2 Переменные и константы
- •2.1 Основные типы данных VB
- •2.2 Структура проекта
- •2.3 Объявление переменных и констант
- •2.4 Преобразование и совместимость типов
- •2.5 Разработка проекта
- •2.6 Вопросы для контроля
- •3 Ввод и вывод значений переменных
- •3.1 Ввод данных с помощью функции InputBox
- •3.2 Вывод данных с помощью инструкции Print
- •3.3 Вывод данных с помощью функции MsgBox
- •3.4 Вопросы для контроля
- •4 Выражения в VB
- •4.1 Арифметические операции
- •4.1.1 Сложение
- •4.1.2 Вычитание
- •4.1.3 Умножение
- •4.1.4 Деление
- •4.1.5 Возведение в степень
- •4.1.6 Целочисленное деление
- •4.1.7 Остаток от деления
- •4.1.8 Унарный минус
- •4.2 Логические операции
- •4.2.1 Логическое И
- •4.2.2 Логическое ИЛИ
- •4.2.3 Логическое НЕ
- •4.2.4 Операции отношения
- •4.3 Символьные операции
- •4.4 Синтаксис выражений
- •4.5 Явное преобразование типов данных
- •4.6 Задание для самостоятельной работы
- •4.7 Вопросы для контроля
- •5 Конструкции VB, реализующие базовые алгоритмические структуры
- •5.1 Базовые структуры алгоритмов
- •5.1.1 Следование (композиция)
- •5.1.2 Ветвление
- •5.1.3 Цикл
- •5.2 Конструкция If..Then
- •5.3 Конструкция Select … Case
- •5.4 Конструкция Do…Loop
- •5.5 Цикл со счетчиком. Конструкция For…Next
- •5.6 Задание для самостоятельной работы
- •6 Массивы в VB
- •7 Алгоритмы сортировки
- •7.1 Алгоритм сортировки выборкой
- •7.2 Алгоритм сортировки вставкой
- •7.3 Алгоритм пузырьковой сортировки
- •7.4 Алгоритм быстрой сортировки
- •7.5 Алгоритм сортировки слиянием
- •7.6 Алгоритм сортировки подсчетом
- •8 Обработка строк в VB
- •9 Чтение и сохранение данных в файлы, выполнение операций с файлами в VB
- •10 Приложение: Коды ошибок VB
- •11 Описание событий VB
- •12 Приложение: Таблица кодов ASCII
- •13 Приложение: Виртуальные коды клавиш
- •14 Приложение: Функции VB (алфавитный перечень)
- •14.1.2 Array
- •14.3.1 Функции конвертирования типов
- •14.3.1.1 CBool
- •14.3.1.2 CByte
- •14.3.1.3 CCur
- •14.3.1.4 CDate
- •14.3.1.5 CDbl
- •14.3.1.6 CInt
- •14.3.1.7 CLng
- •14.3.1.8 CSng
- •14.3.1.9 CStr
- •14.3.1.10 CVar
- •14.3.4 Command
- •14.3.5 CreateObject
- •14.3.6 CurDir
- •14.3.7 CVErr
- •14.4.1 Date
- •14.4.2 DateAdd
- •14.4.3 DateDiff
- •14.4.4 DatePart
- •14.4.5 DateSerial
- •14.4.6 DateValue
- •14.4.9 DoEvents
- •14.5.1 Environ
- •14.5.3 Error
- •14.6.1 FileAttr
- •14.6.2 FileDateTime
- •14.6.3 FileLen
- •14.6.5 Format
- •14.6.6 FreeFile
- •14.7.1 GetAllSettings
- •14.7.2 GetAttr
- •14.7.3 object.GetAutoServerSettings
- •14.7.4 GetObject
- •14.7.5 GetSetting
- •14.8.2 Hour
- •14.9.2 Input
- •14.9.3 InputBox
- •14.9.4 InStr
- •14.9.6 IsMissing
- •14.9.7 IsNull
- •14.9.8 IsNumeric
- •14.9.9 IsObject
- •14.11.1 LBound
- •14.11.2 LCase
- •14.11.3 Left
- •14.11.5 LoadPicture
- •14.11.9 LTrim
- •14.12.2 Minute
- •14.12.3 Month
- •14.12.4 MsgBox
- •14.14.2 QBColor
- •14.15.1 SaveSetting
- •14.15.2 Seek
- •14.15.4 Shell
- •14.15.9 StrComp
- •14.15.10 StrConv
- •14.15.11 String
- •14.15.12 Switch
- •14.16.3 Time
- •14.16.4 Timer
- •14.16.5 TimeSerial
- •14.16.6 TimeValue
- •14.16.7 Trim
- •14.16.8 TypeName
- •14.17.1 UBound
- •14.17.2 UCase
- •14.18.2 VarType
- •14.19.1 Weekday
- •14.20.1 Year
- •15 Приложение: Функции VB (по назначению)
- •15.1 Арифметические
- •15.2 Строковые (символьные)
- •15.3 Логические
- •15.4 Дата и время
- •15.5 Преобразование и конвертирование значений
- •15.5.2 Функции конвертирования типов
- •15.5.2.1 CBool
- •15.5.2.2 CByte
- •15.5.2.3 CCur
- •15.5.2.4 CDate
- •15.5.2.5 CDbl
- •15.5.2.6 CInt
- •15.5.2.7 CLng
- •15.5.2.8 CSng
- •15.5.2.9 CStr
- •15.5.2.10 CVar
- •15.6 Массивы
- •15.7 Работа с файлами и ОС
- •15.7.17 SaveSetting
- •16 Приложение: Дополнительные материалы по вычислению некоторых выражений
- •17 Приложение: Операторы VB
- •17.1.1 AppActivate
- •17.2.1 Beep
- •17.3.1 Call
- •17.3.2 ChDir
- •17.3.3 ChDrive
- •17.3.4 Close
- •17.3.5 Const
- •17.4.1 Date
- •17.5 Def<Type>
- •17.5.1 DeleteSetting
- •17.5.3 Do... Loop
- •17.6.1 End [<Конструкция>]
- •17.6.2 Enum
- •17.6.3 Erase
- •17.6.4 Error
- •17.6.5 Event
- •17.6.6 Exit <Кострукция>
- •17.7.1 FileCopy
- •17.7.2 For Each...Next
- •17.7.3 For...Next
- •17.7.4 Function
- •17.8.2 GoSub
- •17.8.3 GoTo
- •17.9.2 Implements
- •17.9.3 Input
- •17.10.1 Kill
- •17.11.2 Like
- •17.11.3 Line Input
- •17.11.4 Load
- •17.11.5 Lock
- •17.11.6 LSet
- •17.12.2 MkDir
- •17.13.1 Name
- •17.14.1 On Error
- •17.14.2 Open
- •17.14.3 Option Base
- •17.14.4 Option Compare
- •17.14.5 Option Explicit
- •17.14.6 Option Private
- •17.15.1 Print
- •17.15.2 Private
- •17.15.3 Property Get
- •17.15.5 Property Set
- •17.15.6 Public
- •17.16.1 RaiseEvent
- •17.16.2 Randomize
- •17.16.3 ReDim
- •17.16.5 Reset
- •17.16.6 Resume
- •17.16.7 RmDir
- •17.16.8 RSet
- •17.17.1 SavePicture
- •17.17.2 SaveSetting
- •17.17.3 Seek
- •17.17.4 Select Case
- •17.17.5 SendKeys
- •17.17.7 SetAttr
- •17.17.8 Static
- •17.17.9 Stop
- •17.18.1 Time
- •17.18.2 Type
- •17.19.1 Unload
- •17.20.2 Width
- •17.20.3 With
- •17.20.4 Write
17.12 M
17.12.1Mid
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".
17.12.2MkDir
MkDir path - рнжгЯяс йЯсЯкнв path.
Опзлдп:
MkDir "MYDIR" ' Создаѐт новую папку в текущем каталоге.
MkDir "C:\MYDIR" ' Создаѐт новую папку в корневом каталоге диска С.
17.13 N
17.13.1Name
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 ' Перемещаем и переименовываем файл
17.14 O
17.14.1On Error
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
17.14.2Open
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength] - нсйпъбЯдс уЯик гкю цсдмзю, жЯозрз зкз гкю опнзжбнкымнвн гнрстоЯ.
ОЯпЯлдсп access лнедс опзмзлЯсы ркдгтэшзд жмЯцдмзю:
Append (Гнонкмдмзд (жЯозры б йнмдх уЯикЯ, дркз уЯикЯ мд ртшдрсбтдс,
атгдс рнжгЯм мнбъи),
Input (Ббнг. НсйпъбЯдс уЯик гкю цсдмзю, рсЯбзс йтпрнп б мЯцЯкн уЯикЯ.
Дркз уЯик мд ртшдрсбтдс, бнжмзйЯдс нчзайЯ),
Output (Бъбнг, НсйпъбЯдс уЯик гкю жЯозрз нцзшЯю двн. Дркз уЯик мд ртшдрсбтдс, нм рнжгЯдсрю),
Binary (Гбнзцмъи. НсйпъбЯдс уЯик гкю азмЯпмнвн гнрстоЯ)
Random (Опнзжбнкымъи. НсйпъбЯдс уЯик гкю опнзжбнкымнвн гнрстоЯ).
Опзлдп:
' Открываем файл для последовательного чтения
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
17.14.3Option Base
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.
17.14.4Option Compare
Option Compare {Binary | Text | Database} - Сн ед, цсн з бъчд, снкыйн жЯгЯяс сзо рпЯбмдмзю, йнснпъи атгдс зронкыжнбЯсырю он тлнкцЯмзэ. Он тлнкцЯмзэ
зронкыжтдсрю азмЯпмъи сзо рпЯбмдмзю.
Опзлдп:
' Устанавливаем бинарный тип сравнения.
Option Compare Binary ' Теперь, строка "AAA" меньше, чем "aaa". ' Устанавливаем текстовый тип сравнения.
Option Compare Text ' Теперь, строка "AAA" равна строке "aaa".
17.14.5Option Explicit
Option Explicit - Дркз жЯгЯсы ьснс нодпЯснп, сн мдкыжю атгдс зронкыжнбЯсы мднащюбкдммъд пЯмдд одпдлдммъд, мЯопзлдп, йЯй б оЯрйЯкд.
Опзлдп:
Option Explicit
Dim MyVar ' Объявляем переменную
MyInt = 10
' MyInt - необъявленная переменная, поэтому произойдѐт ошибка