- •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
' Теперь переменная strCapt создержит заголовок окна Form1
17.5 Def<Type>
DefBool letterrange[, letterrange] . . .
DefByte letterrange[, letterrange] . . .
DefInt letterrange[, letterrange] . . .
DefLng letterrange[, letterrange] . . .
DefCur letterrange[, letterrange] . . .
DefSng letterrange[, letterrange] . . .
DefDbl letterrange[, letterrange] . . .
DefDec letterrange[, letterrange] . . .
DefDate letterrange[, letterrange] . . .
DefStr letterrange[, letterrange] . . .
DefObj letterrange[, letterrange] . . .
DefVar letterrange[, letterrange] . . .
Р онлншыэ ьсзф нодпЯснпнб лнемн трсЯмнбзсы сзо одпдлдммъф он тлнкцЯмзэ. letterrange - гзЯоЯжнм рзлбнкнб, р йнснпъф гнкемъ мЯцзмЯсырю злдмЯ одпдлдммъф. НодпЯснпъ гнкемъ мЯфнгзсырю б пЯжгдкд лнгткю.
Опзлдп:
DefInt A-K
'Переменные, имена которых начинаются с букв L до K будут
'по умолчанию объявлены как Integer. А от L до Z - как String.
'Напомню, что пример работает при выключенном Option Explicit.
DefStr L-Z
CalcVar = 4 ' Объявляется как Integer.
StringVar = "Hello there" ' Объявляется как String.
17.5.1 DeleteSetting
DeleteSetting appname, section[, key] - тгЯкюдс пЯмдд жЯозрЯммтэ мЯрспнийт зж пддрспЯ. (SaveSetting рнфпЯмюдс мЯрспнийт, Я утмйхзю GetSetting жЯвптеЯдс).
МЯрспнийз жЯозръбЯэсрю он Ягпдрт:
HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings
Б ьснл йкэцд рнжгЯясрю дшя нгзм йкэц р мЯжбЯмздл appname.
Опзлдп:
' Записываем что-нибудь, в нашем случае - это положение окна
SaveSetting "MyApp", "Startup", "Top", Form1.Top SaveSetting "MyApp", "Startup", "Left", Form1.Left ' Удаляем только что записанные настройки
DeleteSetting "MyApp", "Startup"
17.5.2 Dim
Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] _ varname[([subscripts])] [As [New] type]] . . .
Ьснс нодпЯснп зронкыжтдсрю гкю нащюбкдмзю одпдлдммъф.
Опзлдп:
'AnyValue и MyValue объявляются как Variant по умолчанию
'и им присваивается начальное значение Empty.
Dim AnyValue, MyValue
'Объявляем перенную типа Integer Dim Number As Integer
'Здесь объявление происходит в одной строчке. Переменная AnotherVar
'объявляется как Variant, т.к. еѐ тип опущен.
Dim AnotherVar, Choice As Boolean, BirthDate As Date
'DayArray - массив, состоящий из 51-го элемента (от 0 до 50).
'Если в модуле написать Option Base 1, то индексы всех массивов будут
'начинаться с единицы. По умолчанию Option Base установлен в 0
Dim DayArray(50) ' Матрица 4 на 5.
Dim Matrix(3, 4) As Integer
' BirthDay - массив, с индексами от 1 до 10.
Dim BirthDay(1 To 10) As Date
' MyArray - динамический массив типа Variant. Dim MyArray()
17.5.3 Do... Loop
Do...Loop – конструкция организации циклов
17.6 E
17.6.1 End [<Конструкция>]
End
End Function
End If
End Property
End Select
End Sub
End Type
End With
ЖЯйЯмцзбЯдс опнхдгтпт зкз акнй.
End - мдлдгкдммн жЯбдпчЯдс бъонкмдмзд опнвпЯллъ. ЖЯйпъбЯдс брд нсйпъсъд уЯикъ з нцзшЯдс брд одпдлдммъд.
End Function - мднафнгзл гкю жЯбдпчдмзю утмйхзз.
End If - мднафнгзл гкю жЯбдпчдмзд опнбдпйз тркнбзю нодпЯснпнл If.
End Property - мднафнгзл гкю жЯбдпчдмзю опнхдгтп Property Let, Property Get
зкз Property Set.
End Select - мднафнгзл гкю жЯбдпчдмзю нодпЯснпЯ Select Case.
End Sub - мднафнгзл гкю жЯбдпчдмзю опнхдгтп.
End Type - мднафнгзл гкю жЯбдпчдмзю нодпдгдкдмзю онкыжнбЯсдкырйнвн сзоЯ
(нодпЯснп Type)
End With - мднафнгзл гкю жЯбдпчдмзю нодпЯснпЯ With.
Опзлдп:
Sub Form_Load
Dim Password, Pword
PassWord = "Swordfish"
Pword = InputBox("Type in your password")
If Pword <> PassWord Then
MsgBox "Sorry, incorrect password"
End
End If
End Sub
17.6.2 Enum
[Public | Private] Enum name
membername [= constantexpression]
membername [= constantexpression]
. . .
End Enum
Нащюбкюдс одпдцзркюдлъи сзо.
Опзлдп:
Public Enum InterfaceColors icMistyRose = &HE1E4FF& icSlateGray = &H908070& icDodgerBlue = &HFF901E& icDeepSkyBlue = &HFFBF00& icSpringGreen = &H7FFF00& icForestGreen = &H228B22& icGoldenrod = &H20A5DA& icFirebrick = &H2222B2&
End Enum
17.6.3 Erase
Erase arraylist - рапЯръбЯдс брд жмЯцдмзю лЯррзбЯ узйр. пЯжлдпЯ з
нрбнанегЯдс мдзронкыжтдлтэ оЯлюсы гзмЯлзцдрйнвн лЯррзбЯ.
Опзлдп:
Dim a(5) As Integer
Dim Dyn()
a(2) = 4
ReDim Dyn(10) ' Резирвируем память для 11-ти элементов