- •Институт информационных систем управления
- •Кандидат экономических наук, доцент в.А. Машурцев
- •Введение.
- •Глава 1. Vb 6.0 – среда разработки приложений.
- •1.1. Окна среды vb.
- •1.2. Файловая структура проекта.
- •1.3. Визуальное конструирование приложения.
- •1.4. Основные свойства формы и задание их значений.
- •1.5. Добавление форм к проекту и удаление форм из проекта.
- •1.6. Основные элементы управления и их свойства.
- •1.6.1. Элемент Label.
- •1.6.2. Элемент TextBox. Элемент TextBox (текстовое окно) предназначен для ввода исходной
- •1.6.3. Элементы HscrollBar и VscrollBar.
- •1.6.4. Элемент CommandButton.
- •1.7. События и методы.
- •1.8. Включение изображений в интерфейс пользователя.
- •1.8.1. Элемент Image. Элемент управления Image предназначен в основном для нанесе-
- •1.8.2. Элемент PictureBox.
- •1.9. Сохранение проекта.
- •Глава 2. Данные vb.
- •2.1. Типы данных.
- •2.1.1. Типы числовых данных.
- •2.1.1.1. Целочисленные данные.
- •2.1.1.2. Вещественные данные.
- •2.1.2. Типы нечисловых данных.
- •2.2. Объявление переменных и констант.
- •2.3. Область видимости переменных и констант.
- •2.4. Совместимость и преобразование типов данных.
- •2.5. Ввод исходных данных и вывод результатов обработки.
- •2.5.1. Окно сообщений. Оператор и функция MsgBox.
- •2.6. Форматирование вывода чисел.
- •Глава 3. Алгоритмизация вычислительных процессов.
- •3.1. Алгоритм и его свойства.
- •3.2. Типы вычислительных процессов.
- •3.3. Операторы vb.
- •3.4. Логические выражения.
- •3.5. Управляющие конструкции.
- •3.5.1. Операторы ветвлений.
- •3.5.1.1. Условный оператор.
- •3.5.1.2. Оператор выбора.
- •3.5.2. Операторы циклов.
- •3.5.2.1. Регулярный цикл.
- •3.5.2.2. Итерационные циклы.
- •3.5.2.3. Цикл перечислимого типа.
- •3.5.3. Элементы выбора.
- •3.5.3.1. Элемент CheckBox.
- •3.5.3.2. Элемент OptionButton.
- •3.5.4. Элемент управления и функция Timer.
- •3.5.5. Дата и время.
- •3.5.6. Оператор DoEvents.
- •3.5.7. Объединение кнопок в группы.
- •3.5.7.1. Элемент Frame.
- •3.6. Списки.
- •3.6.1. Элемент ListBox.
- •3.6.2. Элемент ComboBox.
- •Глава 4. Массивы.
- •4.1. Одномерные массивы.
- •4.2. Двумерные массивы.
- •4.3. Статические и динамические массивы.
- •4.4. Функция Array.
- •4.5. Генератор случайных чисел.
- •4.6. Функции lBound и uBound.
- •4.7. Массивы элементов управления.
- •4.8. Сопоставление массивов и списков.
- •4.9. Элемент msFlexGrid.
- •4.10. Упорядочение строк элемента msFlexGrid.
- •Глава 5. Процедуры и функции полоьзователя.
- •5.1. Создание стандартного модуля в приложении.
- •5.2.2. Вызов процедуры на выполнение.
- •5.3. Функции пользователя.
- •Глава 6. Обработка текстовой информации.
- •6.1. Изменение регистра символов в тексте.
- •6.2. Поиск заданной подстроки в тексте.
- •6.3. Выборка части текста.
- •6.4. Замена символов в тексте.
- •6.5. Удаление лишних пробелов из строки текста.
- •6.6. Инвертирование строк.
- •6.7. Преобразование текстовых строк в числа и наоборот.
- •6.8. Определение длины текста.
- •Глава 7. Создание меню пользователя.
- •Глава 8. Пользовательский тип данных.
- •8.1. Записи.
- •8.2. Сложные структуры данных.
- •Глава 9. Файлы.
- •9.1. Файлы последовательного доступа.
- •9.1.1. Открытие файла последовательного доступа.
- •9.1.2. Запись информации в файл.
- •9.1.3. Чтение информации из файла.
- •9.1.4. Закрытие файла.
- •9.2. Файлы произвольного доступа.
- •9.2.1. Открытие файла произвольного доступа.
- •9.2.2. Запись информации в файл.
- •9.4. Операции с файлами в vb.
- •9.5. Файловые операторы и функции обработки данных.
- •9.6. Сравнительный пример работы с файлами.
- •Глава 10. Обработка бд Access в среде vb.
- •10.1. Создание бд Access в среде vb.
- •10.2. Использование технологии Data Access Objects (dao).
- •10.2.1. Элемент управления Data.
- •10.2.2. Свойство Recordset элемента Data.
- •10.2.3. Программное связывание элементов.
- •10.3. Технология ActiveX Data Objects (ado).
- •10.3.1. Подключение ado Data к источнику данных (бд).
- •10.3.2. Подключение ado Data к источнику записей.
- •10.3.3. Элемент управления DataGrid.
- •10.4. Объекты ado.
- •10.4.1. Объект Connection.
- •10.4.2. Объект RecordSet.
- •10.4.3. Перемещение по набору записей.
- •10.4.4. Обращение к отдельным полям записи.
- •10.4.5. Выполнение запросов к бд.
- •10.5. Пример обработки бд в рамках технологии ado.
- •Глава 11. Обмен данными между приложениями.
- •11.1. Экспорт данных из бд в текстовый файл.
- •11.2. Технология внедрения и связывания (ole).
- •11.3. Связывание и внедрение на этапе design.
- •11.3.1. Связывание на этапе проектирования. Сразу же после размещения на форме элемента ole появляется
- •11.3.2. Внедрение на этапе проектирования.
- •11.4. Связывание и внедрение объектов на этапе run.
- •11.4.1. Свойства ole-контейнера.
- •11.4.2. Методы ole-контейнера.
- •11.4.3. События, связанные с ole-контейнером.
- •11.4.5. Внедрение объекта на этапе run. Для внедрения объектов в vb-приложение используется метод CreateEmbed. Синтаксис оператора, использующего этот метод:
- •Глава 12. Графические средства vb 6.
- •12.1. Управление цветом.
- •12.2. Изображения в интерфейсе проекта.
- •12.2.1. Наложение изображения на этапе проектирования. Наложение изображения на форму.
- •Восстановление утраченных графических файлов.
- •Наложение изображения на элемент PictureBox.
- •Наложение изображения на элемент CommandButton.
- •12.2.2. Наложение изображений на этапе выполнения.
- •12.3. Использование анимированных изображений.
- •12.3.1. Визуализация анимированных gif-файлов.
- •12.3.2. Визуализация на форме клипов.
- •12.4. Рисунки на графических объектах.
- •12.4.1. Элемент Shape.
- •12.4.2. Элемент Line.
- •12.5. Графические методы.
- •12.5.1. Методы для работы с изображением точки.
- •12.5.2. Метод Line.
- •12.5.3. Метод Circle.
- •12.6. Использование графики для решения отдельных задач.
- •12.6.1. Визуализация процесса сортировки элементов массива.
- •12.6.2. Принадлежность точки заданной области.
- •Приложение 1. Типовые алгоритмы обработки чисел.
- •Приложение 3. Алгоритмы обработки массивов.
- •Приложение 4. Примеры создания процедур и функций.
- •Приложение 5. Пример обработки типизированных файлов.
- •Приложение 6. Пример обработки бд Access в среде vb.
- •Оглавление
- •Глава 1. Vb 6.0 – среда разработки приложений. 4
- •Глава 2. Данные vb. 20
- •Глава 3. Алгоритмизация вычислительных процессов. 33
- •Глава 4. Массивы. 61
- •Глава 5. Процедуры и функции полоьзователя. 77
- •Глава 10. Обработка бд Access в среде vb. 110
- •Глава 11. Обмен данными между приложениями. 139
- •Глава 12. Графические средства vb 6. 150
2.4. Совместимость и преобразование типов данных.
В операциях присвоения VB отсутствует жёсткий контроль совместимости типов, свойственный другим языкам программирования. Так,
если Вы объявили:
Dim a As Byte, b!
то 2 оператора: b = 3.14: a = b не приведут к появлению сообщения о несоответствии типов. Просто в переменную a запишется округленное до ближайшего целого значение переменной b.
Особенностью VB является требование, чтобы результат арифметических операций не превышал значения, свойственного максимальному типу операндов. Так, если Вы объявили: Dim a &, b%, c As Byte
и присвоили значения: b = 1000: c = 33, то оператор a = b*c вызовет сообщение о переполнении. Хотя в переменную “a” может быть помещено число, существенно превышающее 33000 (ее тип Long), но это число выходит за допустимые пределы значений максимального типа для приведенных операндов (Integer).
Чтобы избежать такой ошибки, можно либо одному из сомножителей или слагаемых принудительно установить такой тип, какой должен быть у результата, либо применить к выражению соответствующую функцию преобразования типа. В VB имеется множество таких функций: CLng, Cint, CSng, CDbl и др. Из названий этих функций ясно, в какой тип преобразует переменную или выражение каждая из них. В приведенном выше примере достаточно записать: a = CLng(b*c).
Ошибка несоответствия типов возникает всегда, если Вы число, содержащееся в свойстве текст текстового окна, попытаетесь присвоить числовой переменной. В свойстве Text текстового окна любая информация, в том числе и числовая, содержится в символьном виде. Значит, такая попытка – это попытка числовой переменной присвоить символьное значение. Чтобы избежать ошибок несоответствия типов числовых и символьных переменных, нужно их взаимно преобразовывать. Для этих целей служит две функции:
Str(n) – преобразовывает число n в символьное представление;
Val(s) – преобразовывает символьное представление числа s в
числовую форму.
Последнее возможно только тогда, когда s действительно является символьным представлением числа, а не буквой или иным символом.
Пример. Пусть n – число. Чтобы передать его свойству Text текстового окна, его нужно перевести в символьную форму: Text1.Text = Str(n)
Если в свойстве Text текстового окна содержится число, и Вы хотите передать его числовой переменной n, то нужно выполнить оператор: n = Val(Text1.Text).
2.5. Ввод исходных данных и вывод результатов обработки.
Самым универсальным и наиболее часто используемым методом
ввода исходных данных является функция InputBox. Функция InputBox в общем случае имеет 7 параметров:
<имя переменной> = InputBox (<подсказка>, <заголовок>,< вводимое по умолчанию значение >, < координаты левого верхнего угла окна ввода>, < файл помощи>, < контекстная справка>)
Координаты и контекстная справка являются арифметическими выражениями, а все остальные параметры – строковыми выражениями. Наиболее часто используют первые 3 параметра. В результате вызова функции InputBox на экране появляется окно ввода, содержащее подсказку и пустое поле ввода. С клавиатуры набираете значение, которое должна принять переменная, и нажимаете либо клавишу Enter, либо кнопку Оk. Введённое значение будет присвоено переменной. Второй параметр является заголовком окне ввода. Третий параметр представляет собой строку текста, вводимого пользователем по умолчанию. Если он задан, то пользователю нужно просто нажать кнопку Оk, ничего не небирая на клавиатуре. Значение 3-го параметра будет присвоено переменной. Функция InputBox возвращает строку в том виде, как она была набрана на клавиатуре, никак не преобразуя ее. Поэтому при вводе чисел нужно преобразовывать введенную строку в число с помощью функции Val, а значение по умолчанию нужно заключать в кавычки, например:
a = Val(InputBox(“Введите вещественное число”, “Ввод исходных
данных”, “3.792”)).
Здесь у функции InputBox заданы все основные параметры. Из этого примера видно, что в качестве десятичного разделителя необходимо использовать точку. Если вводится целое число, то преобразование его строки в число происходит автоматически и функцию Val можно не использовать, а значение по умолчанию можно в кавычки не заключать:
n = InputBox(“Введите целое число”, , 37)
Заметим также, что, отсутствие 2-го параметра (заголовок) не отменяет его запятой.
Существует несколько объектов, с помощью которых результирующая или промежуточная информация может быть выведена на экран монитора:
-
Ввод в текстовое окно. Пусть Вы объявили переменные:
Dim price @, kol %, sum @
Ввести исходные данные price и kol можно с помощью набора на клавиатуре их значений в текстовых окнах Text1 и Text2. Если предполагается использовать эти значения в вычислениях, то нужно передать их соответствующим переменным, преобразовав их в числовое представление: price = Val(Text1.Text): kol = Val(Text2.Ttext)
Вывести итоговую стоимость в окно Text3 можно следующими операторами:
sum = price*kol
Text3,Text = Str(sum)
или
Text3.Ttext = Str(Val(Text1.Text)*Val(Text2.Text))
Если Вы вводите значения переменных price и kol с помощью функции
InputBox, то:
price = Val(InputBox (“Введите стоимость изделия”))
kol = InputBox (“Введите кол-во изделий”)
Text3.Text = Str(price*kol)
-
Для вывода информации на экран может быть использовано свойство Caption метки:
Label1.Caption = “Сумма= “ & Str(Sum)
-
Для вывода на экран промежуточной информации и разного рода
сообщений можно использовать оператор или функцию MsgBox.