- •Знакомство с 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
Создайте форму:
Код:
Dim ttt As TextBox
Private Sub Command1_Click()
Set ttt = Text1
ttt.Text = "Надпись в 1 поле текста"
Set ttt = Nothing
End Sub
Private Sub Command2_Click()
Set ttt = Text2
ttt.Text = "Надпись во 2 поле текста"
Set ttt = Nothing
End Sub
Как видите, мы используем объектную переменную ttt для ссылки на разные объекты.
Запустите приложение.
Пример 2
Если надо написать процедуру, центрирующую форму на экране, то можно написать ее в следующем виде:
Private Sub Command1_Click()
CenterForm Me
End Sub
Private Sub Command2_Click()
Dim formCopy As New Form1
formCopy.Show
End Sub
‘Процедура центрирования любой формы (точнее – формы, откуда вызывается процедура)
Public Sub CenterForm(frm As Form)
frm.Move (Screen.Width - frm.Width) / 2, (Screen.Height - frm.Height) / 2
End Sub
Как видите, в процедуре CenterForm используется объектная переменная frm – она используется для ссылки на объект типа формы (не на конкретную форму!!!). А под кнопкой центрирования вместо указания конкретной формы используется ключевое слово Me (меня, то есть текущую форму).
Так же можно вместо ключевого слова Me напрямую указывать конкретную форму.
Самостоятельно создайте приложение, состоящее из нескольких различных (не копий!) форм. Каждая форма должна иметь кнопку центрирования, обрабатывающая одну процедуру CenterForm. Сначала используйте слово Ме, потом измените код для центрирования какой-либо формы.
Форма 1:
Форма 2:
Форма 3:
Один из вариантов кода первой формы:
Private Sub Command1_Click()
CenterForm Me
End Sub
Public Sub CenterForm(frm As Form)
frm.Move (Screen.Width - frm.Width) / 2, (Screen.Height - frm.Height) / 2
End Sub
Private Sub Command2_Click()
Form2.Show
End Sub
Private Sub Command3_Click()
Form3.Show
End Sub
Для второй и третьей формы допишите программу самостоятельно.
Запустите программу.
Замечание:
Если Вы под кнопками центрирования будете писать не Ме, а указывать конкретную форму, то эта кнопка и будет центрировать любую указанную форму из Вашего проекта.
Движение объектов
Для перемещения объектов используется метод Move.
Задайте форму и поместите туда объект Image (здесь – кисточка) :
Напишите код (обратите внимание – событие MouseDown):
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then Image1.Move X, Y ‘Если кнопка нажата
End Sub
Запустите программу и пощелкайте мышью на форме.
Измените событие в коде на MouseMove:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Запустите программу.
Еще пример:
Замените предыдущий код на следующий:
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Image1.Move X, Y
End Sub
Теперь Вы можете перетаскивать элементы по форме. (при перетаскивании элемент в виде серой рамки, а сам не виден)
ИСПОЛЬЗОВАНИЕ МНОГОДОКУМЕНТНОГО ИНТЕРФЕЙСА
MDI
MDI-форма обычно называется MDI-контейнером, которое содержит множество других окон, обычно называемых дочерними формами. Интерфейс MDI используется во всех приложениях (Word, Excel и т.д.)
MDI-форма не имеет поверхности, на которую можно поместить какие-либо элементы управления! Поэтому обычно она используется вместе с меню, в котором можно задать вызов дочерних форм. Одной из наиболее мощных возможностей MDI является возможность изменения меню родительской формы в зависимости от того, какая из дочерних форм получила фокус.
Пример:
Откройте новый проект.
Из меню Projects выберите пункт Add MDI Form.
В Form1 (которая загрузилась автоматически в начале) установите свойство MDIChild = True
В МDI-форме задайте меню для показа дочерней формы.
Напишите код в меню
Запустите проект
Формы:
Дочерняя форма
Если подвигать мышью дочернюю форму, то видно, что ее видимое перемещение ограничивается размерами родительской формы.
ЭЛЕМЕНТ УПРАВЛЕНИЯ С ЗАКЛАДКАМИ
Tabbed Dialog Cotrol 5.0
Создает группу диалоговых панелей, каждая из которых снабжена закладкой:
или другой стиль (свойство Style):
Общее количество таблиц задается в свойстве Tabs, а количество таблиц в одной строке – в свойстве TabsPerRow.
Каждая закладка наполняется обычным образом, однако следует помнить о недопустимости двойного щелчка при заполнении! Двойной щелчок ставит элемент не на закладку, а на форму!
Элемент управления ProgressBar
Меню Project – Components – Microsoft Windows Common Control 5.0
В панель инструментов добавляется 8 управляющих элементов. Добавьте в форму элемент Progress Bar:
и напишите код обработки события таймера (предварительно установив интервал 1000, а максимальное значение Max элемента ProgressBar - 60:
Private Sub Timer1_Timer()
Static Progress As Integer
Progress = (Progress + 1) Mod 60
Label2.Caption = Str$(Progress)
ProgressBar1.Value = Progress
End Sub
Запустите программу.
Элемент управления Slider Control (бегунок)
Работает аналогично полосе прокрутки. Отличие от полосы – наличие линейки, что иногда бывает удобнее, чем пустая полоса прокрутки.
Управляющий элемент Status Bar (строка состояния)
Это строка, обычно расположенная в нижней части приложения, в которой указывается текущая информация о состоянии приложения. (В Word, например, в этой строке указывается номер строки, режим вставки или замена и т.д.)
Строка состояния может быть разделена максимум на 16 панелей.
Параметр Text задает текст для области, параметр Style устанавливает метод вывода информации в строке состояния:
SbrText – выводит текст или картинку
SbrCaps, SbrNum, SbrScrl – если соответствующая клавиша нажата, то выводит отчетливо, иначе – приглушенно.
SbrTime, SbrDate – выводит дату или время.
Установите элемент управления в форму.
Щелкните правой кнопкой мыши на элементе и выберите из контекстного меню пункт Properties.
Задайте:
Вкладка General:
Style – SbrNormal
Вкладка Panels:
Text – Панель 1
Щелкните кнопку Insert Panel
Text – Панель 2
Insert Panel
Text – Панель 3
Insert Panel
Style – sbrDate
Insert Panel
Style – sbrTime
OK
У Вас должно получиться:
Если в Вашем приложении строка состояния будет использоваться для вывода подсказки или чего-то подобного, то стиль надо изменить на sbrSimple и написать (или задать вывод в программе) Simple Text.
Сделайте самостоятельно форму, заполненную несколькими элементами. При движении мыши через элемент в строке состояния появляется подсказка (в данном случае мышь над командной кнопкой):
ЕЩЕ РАЗ