
- •Институт информационных систем управления
- •Кандидат экономических наук, доцент в.А. Машурцев
- •Введение.
- •Глава 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
9.1.4. Закрытие файла.
После окончания обработки информации файл необходимо закрыть оператором Close. Например: Close #1.
9.2. Файлы произвольного доступа.
В файлах произвольного доступа данные хранятся в виде набора
записей фиксированной длины, которая должна быть сообщена системе. Переменная, в которую считывается запись из файла, должна иметь тот же тип, что и читаемая запись. При организации произвольного доступа к любой записи в файле нужно указывать место расположения требующейся записи в файле, то есть её позицию в файле. Нумерация записей в файле начинается с единицы.
9.2.1. Открытие файла произвольного доступа.
Файл произвольного доступа открывается оператором Open. Его син-
таксис:
Open <имя файла> For Random As <номер файла> Len = <длина
записи>
Здесь <имя файла> это имя файла вместе с путём к нему; <номер файла> это целое число в диапазоне от 1 до 511; <длина записи> это числовое выражение целого типа >= 0. Оно должно совпадать с длиной записи. Len – это сообщаемое системе значение параметра: <длина записи>. Это значение используется системой для разметки файла на равные участки указанной длины, что позволяет обращаться непосредственно к требующейся записи, минуя все лредшествующие ей записи.
Пример: Если объявлен тип Rec, и переменная pred As Rec, то длина записи равна Len(pred) и тогда для открытия файла d.dat, расположен-
ного а папке Kurs на диске A, нужно записать:
Open “A:\Kurs\d.dat” For Randome As #1 Len = Len(pred).
Для чтения информации из файла и записи её в файл он должен быть предварительно открыт оператором Open. Если указанного в операторе файла не существует, он будет предварительно создан, а затем открыт. При этом файловый указатель будет установлен на начало файла.
9.2.2. Запись информации в файл.
Запись информации в файл произвольного доступа осуществляет-
ся оператором Put #. Его синтаксис:
Put [#]<номер файла>, [<позиция >], <переменная>.
Здесь <позиция> это номер той записи в файле, в которую будет помещена информация. Нумерация начинается с единицы. Аргумент <позиция> может быть опущен и тогда вывод информации будет произведён в текущую позицию в файле. Отсутствие аргумента <позиция> не отменяет его запятой: Put #4, ,pred.
9.2.3. Чтение информации из файла.
Чтение информации из файла произвольного доступа осуществляется оператором Get #. Его синтаксис:
Get [#]<номер файла>, [<позиция >], <переменная>
Пример: Get #3, 4, pred
У операторов Put # и Get # аргумент <позиция> может быть числовой переменной, которой перед обращением к этим операторам должно быть присвоено целочисленное значение.
9.2.4. Закрытие файла.
Оператор Close [<список номеров файлов>]
закрывает перечисленные в списке файлы, открытые ранее оператором Open. При этом освобождается используемая для буфера файлов память, освобождаются номера файлов, то есть каналы их ввода / вывода. Если список номеров файлов отсутствует, то закрываются все открытые в этот момент файлы.
9.3. Организация ввода информации в файлы.
Часто при вводе записей в файл произвольного доступа их коли-
чество заранее не определено и пользователь сам решает, когда прекратить ввод. В таких случаях обычно ввод организуется с помощью цикла, выход из которого происходит при выполнении некоторого, задаваемого пользователем в процессе ввода условия. Такое условие удобно организовать с помощью функции MsgBox.
Пример. Пусть pr – переменная, являющаяся записью, содержащей данные о некотором предприятии. Тогда ввод информации в файл может быть организован следующим образом:
Open “A:\Kurs\pred.dat” For Random As #1 Len = Len(pr)
Do
pr.code = InputBox(“Введите код предприятия”)
pr.nazv = InputBox(“Введите название предприятия”)
pr.pl = InputBox(“Введите план выпуска продукции”)
pr.vp = InputBox(“Введите выполнение плана в %”)
Put #1, ,pr
Loop Until MsgBox(“Продолжить ввод?”, 36) = vbNo
Здесь параметр options функции MsgBox является суммой 32 + 4. Следовательно, на окне сообщений будет расположена пиктограмма запроса (options = 32), и две кнопки Yes и No (options = 4). Выход из цикла происходит тогда, когда пользователь щёлкнет на кнопке “Нет”. Если пользователь щёлкнет по кнопке “Да”, то ввод данных будет продолжен.
Если запись имеет большое количество полей, то бывает утомительно при вводе и выводе значений полей записи для каждого поля указывать имя переменной. Его можно не указывать, если воспользоваться оператором присоединения With. Тогда приведенный пример запишется так:
Open “A:\Kurs\pred.dat” For Random As #1 Len = Len(pr)
Do
With pr
.code = InputBox(“Введите код предприятия”)
.nazv = InputBox(“Введите название предприятия”)
.pl = InputBox(“Введите план выпуска продукции”)
.vp = InputBox(“Введите выполнение плана в %”)
End With
Put #1, ,pr
Loop Until MsgBox(“Продолжить ввод?”, 36) = vbNo.
Хотя имя переменной при использовании оператора With не указывается, но точку, разделяющую ее имя и имя поля, указывать нужно.