- •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
розрйЯ Япвтлдмснб.
Опзлдп:
Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Speedy", "United", "Federal")
End Function
ЖЯлдцЯмзд:
Лнемн трйнпзсы йнг р зронкыжнбЯмздл Choose:
Бъ лнедсд зронкыжнбЯсы Choose сЯл, вгд лнемн жЯлдмзсы лЯррзб зкз онрспнзсы сЯакзхъ пджткысЯснб, мЯ рсЯгзз йнлозкюхзз (compile-time), блдрсн снвн, цснаъ гдкЯсы ьсн мЯ рсЯгзз бъонкмдмзю (run time). МЯопзлдп, дркз БЯл мЯгн жмЯсы жмЯцдмзю уЯйснпзЯкнб цзрдк нс 1 гн 10, онопнатисд ркдгтэшзи опзлдп (Choose опнзжбнгзс бъанп уЯйснпзЯкЯ зж мЯанпЯ злдэшзфрю жмЯцдмзи брдрсн снвн, цснаъ бърцзсъбЯсы уЯйснпзЯк йЯегъи пЯж жЯмнбн):
Function Factorial (number As Integer) As Long
Factorial = Choose(number, 1, 2, 6, _
24, 120, 720, 5040, 40320, _ 362880, 3628800)
End Function
14.3.4 Command
Command - бнжбпЯшЯдс Япвтлдмсъ р йнлЯмгмни рспнйз (с.д. дркз жЯотрсзсы опнвпЯллт зж йнлЯмгмни рспнйз, мЯопзлдп: myprogram.exe arguments)
Опзлдп:
Ьснс опзлдп зронкыжтдс утмйхзэ Command гкю онктцдмзю Япвтлдмснб р йнлЯмгмни рспнйз. Утмйхзю GetCommandLine бнжбпЯсзс жмЯцдмзд сзоЯ Variant рнгдпеЯшдд зф лЯррзб.
Function GetCommandLine(Optional MaxArgs)
Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
If IsMissing(MaxArgs) Then MaxArgs = 10
'Приводим массив в корректный размер
ReDim ArgArray(MaxArgs)
NumArgs = 0: InArg = False
'Получаем аргументы с командной строки.
CmdLine = Command()
CmdLnLen = Len(CmdLine)
'Перемещаемся по всем символам в командной строке
For I = 1 To CmdLnLen
C = Mid(CmdLine, I, 1)
'Тестируем на пробел или символ табуляции.
If (C <> " " And C <> vbTab) Then
'Если ни то и ни другое. 'Тест на текущий аргумент.
If Not InArg Then
'Новый аргумент начался.
'Тестируем на слишком большое кол-во аргументов.
If NumArgs = MaxArgs Then Exit For
NumArgs = NumArgs + 1
InArg = True
End If
'Соединение символа с текущим аргументом.
ArgArray(NumArgs) = ArgArray(NumArgs) & C
Else
'Ищем пробел или символ табуляции.
InArg = False
End If
Next I
ReDim Preserve ArgArray(NumArgs) 'Возвращаем массив как результат ф-ции. GetCommandLine = ArgArray()
End Function
14.3.5 CreateObject
CreateObject (class) - бнжбпЯшЯдс рръкйт мЯ нащдйс ActiveX йкЯррЯ class
Опзлдп:
Dim xlApp As Object ' Объявляем переменную типа Object.
Set xlApp = CreateObject("excel.application")
'Должны изменить свойство Visible в True, если хотите,
'чтобы проект Excel был виден
xlApp.Visible = True
' Используем xlApp для доступа к другим объектам Microsoft Excel's. xlApp.Quit ' используйте метод
' Quit для закрытия Excel
Set xlApp = Nothing ' Сбрасываем ссылку
14.3.6 CurDir
CurDir [(drive)] - бнжбпЯшЯдс String, рнгдпеЯшзи сдйтшзи отсы
Опзлдп:
'Предположим, что текущим путь на диске C - "C:\WINDOWS\SYSTEM".
'Предположим, что текущим путь на диске D - "D:\EXCEL".
'Предположим, что текущий диск - диск C.
Dim MyPath
MyPath = CurDir ' возвратит "C:\WINDOWS\SYSTEM".
MyPath = CurDir("C") ' возвратит "C:\WINDOWS\SYSTEM".
MyPath = CurDir("D") ' возвратит "D:\EXCEL".
14.3.7 CVErr
CVErr (error number) - бнжбпЯшЯдс Variant ртасзоЯ Error, рнгдпеЯшзи йнг
нчзайз, нопдгдкяммъи онкыжнбЯсдкдл.
Опзлдп:
' Вызывает CalculateDouble с аргументом, приводящим к ошибке.
Sub Test()
Debug.Print CalculateDouble("345.45robert")
End Sub
' Определение ф-ции CalculateDouble.
Function CalculateDouble(Number)
If IsNumeric(Number) Then
CalculateDouble = Number * 2 ' Возвращает результат.
Else
CalculateDouble = CVErr(2001) ' Возвращает номер ошибки, ' определѐнный пользователем.
End If
End Function
14.4 D
14.4.1 Date
Date - бнжбпЯшЯдс сдйтштэ гЯст.
Опзлдп:
Dim MyDate
MyDate = Date ' MyDate содержит текущую системную дату.
14.4.2 DateAdd
DateAdd (interval, number, date) - БнжбпЯшЯдс гЯст, б йнснпни й date
гнаЯбкюдс бпдлдммни змсдпбЯк.
ОЯпЯлдсп interval лнедс опзмзлЯсы ркдгтэшзд жмЯцдмзю: yyyy - Внг
q - ЙбЯпсЯк m - Лдрюх
y - Гдмы внгЯ d - Гдмы
w - Гдмы мдгдкз ww - Мдгдкю
h - ЦЯр
n - ЛзмтсЯ s - РдйтмгЯ
number - йнкзцдрсбн змсдпбЯкнб, йнснпъд бъ фнсзсд гнаЯбзсы.
Опзлдп:
Dim FirstDate As Date
Dim IntervalType As String
Dim Number As Integer
IntervalType = "m"
'"m" устанавливает в качестве интервала - месяцы. FirstDate = Date
Number = InputBox("Введите кол-во месяцев для добавки")
MsgBox = "Новая дата: " & _
DateAdd(IntervalType, Number, FirstDate)
14.4.3 DateDiff
DateDiff (interval, date1, date2[, firstdayofweek[, firstweekofyear]]) - бнжбпЯшЯдс