- •Знакомство с visual basic
- •Практическая работа
- •Свойства, методы и события
- •Практическая работа
- •Переменные
- •Объявление переменных
- •Область видимости переменной
- •Ф орма 1
- •Форма 2
- •Математические операторы
- •Операторы сравнения
- •Логические операторы
- •Практическая работа
- •Обработка ошибок
- •Практическая работа
- •Самостоятельно
- •Условия и циклы
- •Самостоятельно
- •Использование списков и полей со списками
- •Удаление строк из списка
- •Ф орма Код (самостоятельно)
- •Массивы
- •Объявления массивов Объявление массива как одной переменной:
- •Заполнение массива
- •Динамический массив
- •Самостоятельно
- •Работа со строками
- •Определение длины строки
- •Усечение строк
- •Самостоятельно
- •Использование одной кнопки для включения / выключения
- •Конкатенация разнотипных строк
- •Коды символов в формате ascii
- •Окно ввода данных
- •Функция Val() и Slr()
- •Вывод информации на форму
- •Функция Format
- •Работа с графическим окном
- •Элемент управления RichTextBox
- •Объект Printer
- •Дополнительные возможности работы со строками Оператор Like и неопределенный поиск
- •Прочие строковые функции
- •Работа с файлами Чтение текстового файла (1 способ)
- •Запись текста в текстовый файл: Форма
- •Чтение текстового файла (2 способ)
- •Самостоятельно
- •Код (самостоятельно)
- •Простой файловый менеджер
- •'FileCopy не допускает файловые шаблоны, поэтому копирование по полному пути
- •Изменение регистра символов строки
- •Код (проанализировать программу, при необходимости – набрать и проверить работу)
- •Создание меню
- •Клавиши доступа и быстрые клавиши
- •Создание всплывающих меню
- •Разделение строк меню
- •Вырезание, копирование и вставка с помощью объекта Clipboard (буфера обмена)
- •Выделение текста в поле текста
- •Самостоятельно
- •Код (сначала попытайтесь самостоятельно написать код)
- •Использование элемента управления
- •Управляющие элементы Image List и Tool Bar
- •Создание дистрибутивного пакета – подготовка приложения к распространению
- •Время и таймеры
- •Использование одной кнопки для включения /выключения
- •Вычисление разницы между датами
- •Вычисление возраста
- •Код (проанализировать, при необходимости набрать проверить работу)
- •Самостоятельно
- •Код (сначала самостоятельно)
- •Подпрограммы и функции Использование процедур в Visual Basic
- •Самостоятельно
- •Определение точки входа в программу (запуск проекта с нужной формы)
- •Выбор подпрограммы Main() точкой входа проекта
- •' Оповещаем пользователя
- •Тестирование и отладка программ
- •Точка остановки программы
- •Наблюдение за несколькими переменными
- •Полосы прокрутки
- •Самостоятельно
- •Дополнительные компоненты active X
- •Создание дистрибутивного пакета – подготовка приложения к распространению
- •Время и таймеры
- •Использование одной кнопки для включения /выключения
- •Вычисление разницы между датами
- •Вычисление возраста
- •Код (проанализировать, при необходимости набрать проверить работу)
- •Самостоятельно
- •Форма Код (сначала самостоятельно)
- •Подпрограммы и функции Использование процедур в Visual Basic
- •Самостоятельно
- •Определение точки входа в программу (запуск проекта с нужной формы)
- •Выбор подпрограммы Main() точкой входа проекта
- •' Оповещаем пользователя
- •Понятие о базах данных
- •Терминология баз данных
- •Элемент управления данными
- •Свойства элемента управления данными
- •Методы элемента управления данными
- •Свойства набора данных
- •Методы набора записей
- •Практическая работа
- •Связывание элемента управления данными с базой данных
- •Что такое Recordset?
- •Поиск записей
- •Поиск дальше
- •Запросы
- •Компоненты языка sql
- •Самостоятельно
- •Создание отчетов с помощью crystal reports
- •Создание отчета
- •Объекты
- •Практика
- •Движение объектов
- •О связанных элементах управления Последовательность событий при загрузке формы
- •Отношения родитель/потомок между элементами управления данными
- •Практикум –
- •Создание базы данных своими руками
- •Какую технологию выбрать?
- •Элемент управления данными ado
- •Сортировка и объединение данных с помощью элемента управления Hierarchical FlexGrid
- •Проект «Школьный журнал» (пример создания и работы с базой данных)
- •Практическое задание Создать базу данных «Записная книжка»
- •Простейший графический редактор
- •При отпускании кнопки мыши
- •Dim n As Integer ‘счетчик новых записей в массиве
Практическое задание Создать базу данных «Записная книжка»
Описание:
Форма 1:
При нахождении курсора мыши над надписью Создать базу данных «Записная книжка» она загорается красным. Вне надписи – черным
При щелчке мышью на надписи все элементы формы (кроме кнопки «Добавить таблицу с …») становятся доступными, а элемент List1 заполняется предлагаемыми пользователю полями для записной книжки.
Первая строка в первом листе выделена.
При переносе строк во второй лист выделенная строка из первого списка удаляется.
Все кнопки >, >>, <, << прописать аналогично.
При появлении во втором листе первого выбранного поля кнопка «Добавить таблицу с …» становится доступной
После щелчка по кнопке создания базы должно появиться сообщение об успешном создании базы по указанному пути. Или сообщения о следующих ошибках создания 1) База уже существует, 2) Путь для создания не найден. В этом случае предложить создать путь. (Помните – вложенные папки создаются по одной!)
При создании таблицы сообщение об успешном создании таблицы. Также имеется возможность добавления нескольких таблиц с выбранными полями в базу.
Под кнопками удаления запрашивать подтверждение.
По нажатии кнопки «Работа с базой» открывается вторая форма:
где можно:
Открыть форму для заполнения выбранной таблицы. Имена полей в форме пишутся в столбик (они выбираются из таблицы базы). Причем пишутся так, чтобы размеры формы соответствовали количеству полей выбранной таблицы. Рядом с именами полей выводятся текстовые поля для изменения полей БД. Все они привязаны к конкретным поля таблицы БД. На форме также имеются кнопки «Новая», «Сохранить», «Удалить», «Обновить», «Выход». В элементе управления данными отображается номер текущей записи из таблицы.
Открыть таблицу в режиме таблицы (DBGrid)
Добавить новое поле в таблицу.
Удалить поле из таблицы (этого не делали – догадайтесь самостоятельно)
Во время всего написания кода тестируйте программу – постарайтесь обнаружить всевозможные ошибки раньше пользователя! Помните – признаком хорошей программы является то, что она не разрешает пользователю выполнить некорректное действие!
Простейший графический редактор
Принципы, положенные в основу функционирования этого графического редактора, используются во всех графических редакторах.
Открыть новый проект
Дать ему имя Painter
Установить свойство формы MousePointer = 2 - Cross, чтобы при движении мыши над формой курсор превращался в крестик
В поле кода добавить:
'General
Dim AnchorX As Integer 'Начальная точка
Dim AnchorY As Integer 'Начальная точка
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
AnchorX = X
AnchorY = Y
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Line (AnchorX, AnchorY)-(X, Y)
End Sub
При нажатии кнопки мыши на форме в переменных AnchorX и AnchorY будут сохранены коодинаты точки нажатия.
При отпускании кнопки в другом месте формы будет нарисована линия от начальной точки до конечной.
Запустите программу и проделайте это.
Теперь, чтобы рисуемую линию можно было видеть в процессе рисования, надо добавить и обработать процедуру MouseMove:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Line (AnchorX, AnchorY)-(X, Y)
E nd Sub
Запустите программу.
Теперь, как только Вы попали мышью на форму - начинается рисование веера линий от левого верхнего угла (координаты 0,0).
При щелчке кнопки мыши начальные координаты веера изменятся на текущие. Попробуйте.
Линии рисуются безотрывно.
Измените код:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then Me.Line (AnchorX, AnchorY)-(X, Y)
End Sub
Теперь только при нажатой кнопке будет рисоваться веер линий.
В разделе общих объявлений задайте две переменные:
Dim OldX As Integer
Dim OldY As Integer
Затем в событии MouseMove добавьте:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then
Me.Line (AnchorX, AnchorY)-(OldX, OldY), &H8000000F
Me.Line (AnchorX, AnchorY)-(X, Y)
OldX = X
OldY = Y
End If
End Sub
Эти переменные (OldX, OldY) нужны для сохранения в них предыдущего значения координат. Используя их, можно затирать линию цветом фона (&h8000000F)
Теперь можно рисовать линии и видеть их при этом.
Редактор почти готов. Вот только при наложении линии на линию предыдущие линии затираются! (Видно из рисунка).
Это неизбежно. Поэтому во всех графических редакторах ВСЕГДА ПРИ РИСОВАНИИ (изменении рисунка) происходит перерисовка ВСЕГО предыдущего изображения! В Windows для этого существует специальный МЕТАФАЙЛ, который хранит все команды (а точнее, формулы) рисования и при рисовании каждое мгновение перерисовывает изображение. И при этом еще и пополняется новыми инструкциями (формулами рисунка)
Мы тоже будем использовать этот принцип постоянной перерисовки. Только вместо метафайла для хранения данных (координат) используем массив.
7. Объявим массив в General:
Dim MF() As Integer
Массив без элементов - динамический. Так как мы не знаем, сколько линий придется рисовать.
И при добавлении новой линии каждый раз будем его переопределять (на 1 элемент больше)
При движении мыши с нажатой кнопкой:
Координаты линий из массива считываются и по ним рисуются линии.