- •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
2 Переменные и константы
Опз бъонкмдмзз бъцзркдмзи з гптвзф нодпЯхзи напЯансйз змунплЯхзз бнжмзйЯдс мднафнгзлнрсы жЯонлзмЯсы мдйнснпъд опнлдетснцмъд пджткысЯсъ. Гкю йЯегнвн зж ьсзф пджткысЯснб бъгдкюдсрю накЯрсы оЯлюсз йнлоыэсдпЯ, рнрснюшЯю зж нгмнвн зкз мдрйнкыйзф аЯис. Гкю снвн цснаъ гЯммъд накЯрсз оЯлюсз лнемн аъкн пЯжкзцЯсы, Я сЯйед злдсы бнжлнемнрсы рнркЯсырю мЯ дд рнгдпезлнд, ди рнонрсЯбкюэс злю.
ОЯпЯ, бйкэцЯэшЯю накЯрсы оЯлюсз гнрстомтэ бн бпдлю зронкмдмзю,
йЯй гкю цсдмзю, сЯй з гкю жЯозрз гЯммъф, з рнонрсЯбкдммнд ди злю,
мЯжъбЯдсрю одпдлдммни.
ОдпдлдммЯю – ьсн б мдйнснпнл рлъркд юцдийЯ гкю фпЯмдмзю змунплЯхзз, мЯопзлдп, цзркЯ, рспнйз рзлбнкнб. Опз ьснл злддсрю бнжлнемнрсы мднгмнйпЯсмн рцзсъбЯсы жмЯцдмзд одпдлдммни, Я сЯйед бнжлнемнрсы жЯозръбЯсы б ьст юцдийт гптвнд жмЯцдмзд. ОдпдлдммЯю лнедс зжлдмюсы рбнд жмЯцдмзд б опнхдррд бъонкмдмзю опнвпЯллъ.
ЗлдмЯ одпдлдммъф б VB гнкемъ тгнбкдсбнпюсы ркдгтэшзл спданбЯмзюл:
мЯцзмЯсырю р атйбъ;
бйкэцЯсы снкыйн атйбъ, хзупъ, рзлбнк онгцдпйзбЯмзю (_), йнснпъи мЯ йкЯбзЯстпд мЯфнгзсрю онг сзпд (-);
рнгдпеЯсы мд анкдд 255 рзлбнкнб.
НапЯсзсд бмзлЯмзд, злю мд лнедс рнгдпеЯсы опнадк ( ), снцйт (.),
жЯоюстэ (,), бнрйкзхЯсдкымъи жмЯй (!) зкз рзлбнкъ (@), (&), ($), (#). Мд ркдгтдс зронкыжнбЯсы злдмЯ, рнбоЯгЯэшзд р йкэцдбълз
(жЯпдждпбзпнбЯммълз) ркнбЯлз южъйЯ.
Б южъйд VB мд пЯжкзцЯэсрю рспнцмъд з опнозрмъд атйбъ.
Лмнедрсбн бнжлнемъф жмЯцдмзи одпдлдммни, гнотрсзлъд нодпЯхзз,
йнснпъд й мди опзлдмзлъ, йнкзцдрсбн аЯиснб, нсбдгдммъф гкю мдд,
нопдгдкюдсрю сзонл одпдлдммни. Б йЯегнл южъйд опнвпЯллзпнбЯмзю нопдгдкдмЯ рбню рзрсдлЯ сзонб одпдлдммъф.
Й йнмрсЯмсЯл нсмнрзсрю брд сн, цсн рйЯжЯмн бъчд н одпдлдммъф. Мн дрсы нгмн ртшдрсбдммнд нскзцзд: йнмрсЯмсЯ мд лнедс зжлдмзсы жмЯцдмзд опз бъонкмдмзз опнвпЯллъ. Одпдлдммъд з йнмрсЯмсъ – ьсн гЯммъд.
2.1 Основные типы данных VB
ОнжмЯйнлзлрю р рзрсдлни сзонб гЯммъф VB:
СЯакзхЯ 1 - Нрмнбмъд сзоъ гЯммъф VB
Сзо гЯммъф |
ПЯжлдп юцдийз б |
ГзЯоЯжнм жмЯцдмзи |
|
аЯисЯф |
|||
|
|
||
|
|
||
|
|
|
Boolean |
2 |
||
(кнвзцдрйзи) |
|||
|
|||
|
|
|
|
|
|
|
|
Byte (аЯис) |
1 |
||
|
|
|
|
|
|
|
|
Integer(хдкъи) |
2 |
||
|
|
|
|
|
|
|
|
Long (гкзммъи |
4 |
||
хдкъи) |
|||
|
|||
|
|
|
|
|
|
|
|
Single (р окЯбЯэшди |
|
||
снцйни наъцмни |
4 |
||
снцмнрсз) |
|
||
|
|
|
|
|
|
|
|
Double (р |
|
||
окЯбЯэшди снцйни |
8 |
||
гбнимни снцмнрсз) |
|
||
|
|
|
|
|
|
|
|
Currency |
8 |
||
(гдмдемъи) |
|||
|
|||
|
|
|
|
|
|
|
|
Date (гЯсЯ/бпдлю) |
8 |
||
|
|
|
|
|
|
|
True зкз False
Нс 0 гн 255
Нс -32 768 гн 32 767
Нс -2 147 483 648 гн 2 147 483 647
Џарнкэсмнд жмЯцдмзд мЯфнгзсрю б гзЯоЯжнмд нс 1,401298E-45 гн
3,402823E385
Џарнкэсмнд жмЯцдмзд мЯфнгзсрю б гзЯоЯжнмд нс 4,94065645841247E-324
гн 1,79769313486232E308
Нс -922 337 203 685 477,5808 гн 922
337 203 685 477,5807
Нс 1 юмбЯпю 100 в. гн 31 гдйЯапю 9999
в.
5 Онг жЯозрыэ (Цзркн1ЕХдкндЦзркн2) ркдгтдс онмзлЯсы Цзркн1,
тлмнедммнд мЯ 10, бнжбдгдммнд б рсдодмы ХдкндЦзркн2.
Сзо гЯммъф |
ПЯжлдп юцдийз б |
ГзЯоЯжнм жмЯцдмзи |
|
аЯисЯф |
|||
|
|
||
|
|
||
|
|
|
|
|
|
|
|
Object (нащдйс) |
4 |
Кэани тйЯжЯсдкы нащдйсЯ |
|
|
|
|
|
|
|
|
|
String (рспнйЯ |
10 аЯис + гкзмЯ |
ГкзмЯ рспнйз нс 0 гн опзакзжзсдкымн |
|
одпдлдммни гкзмъ) |
рспнйз |
2 лзккзЯпгнб рзлбнкнб |
|
|
|
|
|
|
|
|
|
|
|
ГЯсЯ/бпдлю; цзркнбъд жмЯцдмзю р сдл |
|
Variant |
16 аЯис+ гкзмЯ |
ед гзЯоЯжнмнл, цсн з гкю Double; |
|
(тмзбдпрЯкымъи сзо) |
рспнйз |
рспнйз р сдл ед гзЯоЯжнмнл, цсн з гкю |
|
|
|
String |
|
|
|
|
|
|
|
|
|
Type (сзо, |
Нопдгдкюдсрю |
ГзЯоЯжнм йЯегнвн ькдлдмсЯ |
|
нопдгдкюдлъи |
|||
йнлонмдмсЯлз |
нопдгдкюдсрю двн сзонл гЯммъф |
||
онкыжнбЯсдкдл) |
|||
|
|
||
|
|
|
|
|
|
|
Дркз, мЯопзлдп, б опнвпЯллд злддсрю одпдлдммЯю сзоЯ Integer р
злдмдл ЙнкзцдрсбнРстгдмснб, сн вгд-мзатгы б опнвпЯллд лнемн мЯозрЯсы:
ЙнкзцдрсбнРстгдмснб = 1000
з гкю брдф змрсптйхзи, йнснпъд онюбюсрю онркд ьснвн, одпдлдммЯю ЙнкзцдрсбнРстгдмснб атгдс брдвгЯ пЯбмЯ цзркт 1000 – онйЯ, бнжлнемн, мд онюбзсрю змрсптйхзю ЙнкзцдрсбнРстгдмснб = 1050
ЙнкзцдрсбнРстгдмснб б ьсни змрсптйхзз юбкюдсрю злдмдл одпдлдммни, Я 1000 б ьснл опзлдпд – дя жмЯцдмздл.
Змрсптйхзэ ЙнкзцдрсбнРстгдмснб = 1000 мЯжъбЯэс нодпЯснпнл опзрбЯзбЯмзю: одпдлдммЯю ЙнкзцдрсбнРстгдмснб онктцЯдс жмЯцдмзд, пЯбмнд
1000.
Ьст змрсптйхзэ мдкыжю онмзлЯсы б снл рлъркд, цсн кдбЯю цЯрсы пЯбмЯ опЯбни цЯрсз. НодпЯснп опзрбЯзбЯмзю – ьсн гдирсбзд, жЯйкэцЯэшддрю б снл,
цсн жмЯцдмзд опЯбни цЯрсз жЯозръбЯдсрю б юцдийт оЯлюсз, нсбдгдммтэ гкю фпЯмдмзю жмЯцдмзю одпдлдммни, злю йнснпни тйЯжЯмн ркдбЯ нс жмЯйЯ
пЯбдмрсбЯ б змрсптйхзз опзрбЯзбЯмзю. Атгдс нчзайни жЯозрЯсы ьст змрсптйхзэ сЯй: 1000 = ЙнкзцдрсбнРстгдмснб
РкдбЯ нс жмЯйЯ пЯбдмрсбЯ гнкемЯ мЯфнгзсырю одпдлдммЯю.
Одпдлдммъд сзонб Byte, Integer, Long, Single, Double, Currency
опзмзлЯэс цзркнбъд жмЯцдмзю.
Дркз б опнвпЯллд злддсрю одпдлдммЯю a сзоЯ Single, сн сЯйни одпдлдммни лнемн опзрбнзсы цзркнбнд жмЯцдмзд р гпнамни цЯрсыэ,
мЯопзлдп: a = – 62.697
Б ьсни змрсптйхзз опзрбЯзбЯмзю ропЯбЯ нс жмЯйЯ пЯбдмрсбЯ мЯфнгзсрю йнмрсЯмсЯ р окЯбЯэшди снцйни. Б VB гкю нсгдкдмзю хдкни цЯрсз нс гпнамни цЯрсз опзлдмюдсрю рзлбнк (.). Бнжлнедм гптвни ронрна жЯозрз йнмрсЯмс р окЯбЯэшди снцйни – р онпюгйнл. МЯопзлдп, 1.5Е–16 нжмЯцЯдс 1.5*10-16 (зкз змЯцд 0.00000000000000015).
Й цзркнбъл одпдлдммъл лнемн опзлдмюсы Япзулдсзцдрйзд нодпЯхзз ркнедмзю (+), бъцзсЯмзю (–), тлмнедмзю (*), гдкдмзю (/), бнжбдгдмзю б рсдодмы (^).
ЖмЯцдмздл одпдлдммни сзоЯ String лнедс аъсы рзлбнк зкз рспнйЯ рзлбнкнб.
ЖмЯцдмздл одпдлдммни сзоЯ Date лнедс аъсы, гЯсЯ, бпдлю зкз гЯсЯ з
бпдлю.
ОдпдлдммЯю сзоЯ Boolean лнедс опзмзлЯсы брдвн гбЯ жмЯцдмзю. СЯйЯю одпдлдммЯю лнедс злдсы жмЯцдмзд True (зрсзмЯ) зкз жмЯцдмзд False (кнеы).
Сзо Variant юбкюдсрю тмзбдпрЯкымъл. Одпдлдммъд сзоЯ Variant
лнвтс опзмзлЯсы цзркнбъд жмЯцдмзю, жмЯцдмзю рзлбнкнб з рспнй рзлбнкнб,
жмЯцдмзд гЯсъ, бпдлдмз з гЯсъ з бпдлдмз. НрсЯкымъд сзоъ гЯммъф онйЯ йнллдмсзпнбЯсы мд атгдл.
Дркз UserName юбкюдсрю одпдлдммни сзоЯ String, снвгЯ лнемн мЯозрЯсы: UserName = "ЗбЯм" (жгдры нцдмы бЯемъ йЯбъцйз, сЯй йЯй змЯцд VB
лнедс опзмюсы ЗбЯм жЯ злю одпдлдммни). Ьснс опзлдп онйЯжъбЯдс, цсн йнмрсЯмсЯ сзоЯ String гнкемЯ аъсы жЯйкэцдмЯ б гбнимъд йЯбъцйз.