2.1. Экранная форма, программный модуль, программный проект
Хотя по привычке мы часто называем построение Windows-приложения в системе Visual Basic написанием программы, более точным должно быть другое название — создание программного проекта [1].
Прежде всего, выясним смысл трёх важнейших понятий, с которыми мы будем постоянно иметь дело, — это экранная форма, программный модуль и программный проект.
Объекты, свойства и их значения — это важнейшие и непростые понятия Visual Basic, с которыми мы будем постоянно иметь дело. Объяснение их смысла мы дадим чуть позже, когда будем комментировать процесс создания конкретного приложения.
А сейчас вместо объяснения этих понятий приведём пример объекта и его свойств.
На рис. 2.1 представлена экранная форма простейшего окна приложения.
Назначение этого приложения — открытие маленького окошка с приветствием пользователю после нажатия командной кнопки СТАРТ. Экранная форма содержит единственный объект — командную кнопку.
Принцип работы, создание и конструирование Пользовательских Форм — UserForms (2)
Свойствами этого объекта являются: имя кнопки, размеры кнопки, её положение в окне, её цвет, надпись на кнопке и многое другое.
Рис. 2.1. Экранная форма с единственным объектом — командной кнопкой
Значение свойства цвет — «серый», значение свойства надпись — «СТАРТ», значение свойства имя — «Командная Кнопка» и т. д.
В работающем приложении, после того как пользователь щёлкнет мышью кнопку СТАРТ, должно появиться окно сообщения (рис. 2.2).
Рис. 2.2. Окно сообщения, появляющееся после щелчка кнопки СТАРТ
В этом окне уже не один, а три объекта: кнопка ОК., надпись «Студент РГУПС! Учись писать программы!» и графический элемент (рисунок).
В Visual Basic экранная форма хранится в отдельном файле, имя которого имеет расширение frm.
Программный модуль — это хранящийся в отдельном файле программный код (текст некоторой программы). Он может использоваться при решении чаще всего одной, а иногда и нескольких задач. Имя этого файла имеет расширение bas.
Под программным модулем мы будем подразумевать программный код, который относится к одной экранной форме. Мы так и будем говорить: программный модуль данной экранной формы.
Программный модуль может быть маленьким — содержать всего несколько строк программного кода, а может быть и очень большим — содержать сотни и тысячи строк кода. Для приложения, приведённого в примере 2.1, программный код очень небольшой:
Private Sub КоманднаяКнопка_Click()
MsgBox «Студент РГУПС ! Учись писать программы!», 64, «Рекомендации»
End Sub
Программный проект — это совокупность частей, составляющих будущее Windows-приложение. Что это за части?
Любой проект должен состоять из одной или нескольких экранных форм и одного или нескольких программных модулей.
Как можно описывать экранные формы UI / Денис Сыропущинский / Qulix Systems
Visual Basic хранит каждый проект в отдельном файле, имя которого имеет расширение vpb.
Программный код проекта существует не сам по себе, он не оторван от экранной формы, а привязан к отдельным её элементам (объектам). Более того, часть кода, которая относится только к одному объекту, в свою очередь, может состоять из нескольких фрагментов — процедур.
К каким же «частям» объектов привязываются процедуры — фрагменты программного кода?
Вспомним, что такое программа по определению. Это инструкция исполнителю. Исполнитель начинает её выполнять, когда что-то служит сигналом к началу его работы.
В системе Visual Basic в процессе решения задачи мы обычно имеем дело с большим количеством таких сигналов. Они называются событиями. В Visual Basic событие наряду со свойством является важнейшей характеристикой объекта.
Примерами событий могут служить: щелчок мыши по какому-нибудь объекту экранной формы, загрузка новой экранной формы, перемещение указателя мыши вдоль объекта, который называется полосой прокрутки, и т. п.
Большинство процедур, из которых состоит программный код Visual Basic, привязаны к событиям и называются процедурами-событиями.
Программный код 2.1 (из примера 2.1) стоит из единственной процедуры-события. Имя этой процедуры Командная Кнопка-Click.
В дальнейшем вы будете учиться программировать, изучая многочисленные примеры кодов процедур-событий, а также разрабатывая алгоритмы и составляя коды таких процедур самостоятельно.
Источник: studfile.net
Разработка ЭКРАННЫХ ФОРМ И алгоритма программы
В предыдущем разделе было сказано, что процесс решения поставленной задачи разбивается на 3 этапа, первый из которых заключается в построении интерфейса с пользователем на основе экранных форм и визуальных объектов проектирования.
По сформулированной в предыдущем задании постановке должна иметься возможность выполнения манипуляций с файлами на жестком диске (открытие, сохранение, создание). Для этого разместим на форме объекты OpenDlg типа TOpenDialog (стандартный диалог открытия файла) и SaveDlg типа TSaveDialog (стандартный диалог сохранения файла). Эти объекты помогают автоматизировать процесс навигации по иерархии файлов и папок жесткого диска компьютера и выбора требуемого имени для открытия или сохранения файла.
Для запуска процедур открытия или создания файла, разместим на форме объект MainMenu типа TMainMenu. Настройка пунктов меню приведена на рисунке 2.1
Рисунок 2.1 — Настройка пунктов главного меню
Для возможности ввода исходных данных о компьютере поместим на форме поля ввода типа TEdit и соответствующие метки описания к ним. Для вывода информации о всех компьютерах аэропорта, предусмотрим объект SGrid1 типа TStringGrid, в который позволяет выводить информацию в виде таблицы.
Также для запуска функции продвижение к следующей записи, продвижение на предыдущую запись, сохранение изменений об одной записи, добавления новых записей в типизированный файл, удаления отдельных записей из типизированного файла, поиск записей по какому-либо критерию и вывод результатов на экранную форму, поместим на форме кнопки типа TBitButton. Сами процедуры для выполнения тех или иных функций реализуем как обработчики нажатия на соответствующие кнопки.
В итоге, спроектируем экранную форму, вид которой приведен на рисунке 2.2
Рисунок 2.2 — Экранная форма приложения
Для удобства работы в программе целесообразно всю информацию из файла хранить в динамическом массиве с элементами типа запись и оперировать с элементами массива.
Словесный алгоритм действий при открытии файла:
1. Открыть файл для чтения.
2. Принять размерность массива равной нулю.
3. Считать очередную запись из файла.
4. Если достигнут конец файла, перейти на пункт 8.
5. Увеличить длину динамического массива на единицу.
6. Занести очередную запись, считанную из файла в конец массива.
7. Перейти на пункт 3.
9. Отобразить содержимое массива в таблице на экранной форме.
Словесный алгоритм действий при сохранении файла:
1. Открыть требуемый файл для записи.
2. Установить на начало массива (номер равен нулю).
3. Если достигнут конец массива, перейти на пункт 6.
4. Сохранить очередной элемент массива под номером в конец файла.
5. Нарастить на 1 и перейти на пункт 3.
При поиске все записи, удовлетворяющие критерию выбираются в отдельный массив и отображаются на экранной форме. Словесный алгоритм действий при поиске:
1. Установить на начало исходного массива А.
2. Обнулить размерность результирующего массива В.
3. Если достигнут конец массива А, перейти на пункт 8.
4. Если запись исходного массива А удовлетворяет критериям поиска, перейти на пункт 4, если не удовлетворяет, перейти на пункт 7.
5. Нарастить длину результирующего массива В на единицу.
6. Записать элемент массива А в конец результирующего массива В.
7. Нарастить на единицу и перейти на пункт 3.
8. Отобразить содержимое массива В в таблице на экранной форме.
Анализируя требования к функциям разрабатываемого приложения под разработанную экранную форму можно выделить следующие программные модули:
1) вывод информации о разработчике программы и задании на курсовой проект;
2) создание нового типизированного файла, с информацией о компьютерах (инициализация временного массива записей );
3) сохранение содержимого файла в типизированном файле на жестком диске;
4) сохранение содержимого файла в типизированном файле на жестком диске под новым именем;
5) вывод информации о компьютере текущей записи массива в поля ввода на экранной форме;
6) перенос информации из типизированного файла в динамический массив и вывод содержимого на форме;
7) продвижение к следующей записи в массиве;
8) продвижение на предыдущую запись массива;
9) перенос информации из полей ввода в поля текущей записи из массива;
10) добавление новой записи в массив;
11) удаление текущей записи из массива;
12) поиск записей по какому-либо критерию и вывод результатов на экранную форму;
13) вывод содержимого динамического массива на объекте типа TStringGrid.
Каждый из вышеприведенных модулей реализуем при помощи процедуры. Модули 1,2, 3, 4, 6 будут обработчиками нажатий на соответствующие пункты главного меню. Для запуска модулей 7, 8, 9, 10, 11, 12 предусмотрим экранные кнопки на форме, для чего поместим на форму объекты типа TBitButton. А сами процедуры будут реализованы как обработчики нажатия на соответствующие кнопки. Модули 5, 13 реализуем как отдельную процедуру.
Cоставим алгоритм приложения, который представлен в приложении на рисунке A.1. На алгоритме приведены основные события экранной формы. В этом алгоритме:
блок №3 реализован процедурой NOpenClick,
блок №4 процедурой NSaveClick,
блок №5 — процедурой NShowClick,
блок №6 — процедурой NSaveAsClick,
блок №7 — процедурой NCreateClick,
блок №8 реализован процедурой BBDeleteClick,
блок №9 процедурой NInfoClick,
блок №10 — процедурой BBNextClick,
блок №11 — процедурой BBPrevClick,
блок №12 — процедурой BBUpdateClick,
блок №13 — процедурой BBAddClick,
блок №14 — процедурой BBSearchClick,
блок №15 — процедурой NExitClick.
Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах.
Источник: studentopedia.ru
Определение формы
Экранная форма — это настроенное визуальное представление, предназначенное для ввода и редактирования данных одной записи и связанных с ней записей.
Настройка формы производится в визуальном редакторе (конструкторе) форм и предоставляет пользователю возможность сформировать при помощи мышки произвольный и удобный дизайн для конечного пользователя.
Пример экранной формы
Экранная форма содержит следующий набор элементов:
- Панель инструментов:
- Пользовательские кнопки (по умолчанию доступны кнопки «Сохранить» и «Архивировать»). Добавить/удалить кнопки можно в конструкторе Панели инструментов для формы(больше информации в статье Настройка панелей инструментов);
- Системные кнопки:
- Обновить— обновляет данные на форме;
- Информация— открывает список доступных для перехода разделов:
- Процессы— позволяет перейти на список связанных с записью процессов (если у пользователя есть соответствующие права);
- Задачи— позволяет перейти на список связанных с записью задач (если у пользователя есть соответствующие права);
- История— открывает панель с историей создания и изменения текущей записи;
- Открыть в конструкторе— позволяет перейти к редактированию текущей формы в конструкторе форм (если у пользователя есть соответствующие права);
- Перейти к настройкам шаблона— позволяет перейти к настройкам текущего шаблона записи (если у пользователя есть соответствующие права).
Раздел «Формы» находится в настройках шаблона записи.
Расположение раздела «Формы»
Список форм содержит следующие элементы (с возможностью сортировки столбцов):
- Имя— наименование атрибута;
- Основная— флаг, означающий, что указанная форма открывается по умолчанию при переходе к экранной форме записи.
Кнопки верхней навигационной панели:
- Добавить — открывает конструктор новой формы;
- Удалить— удаляет выбранную форму. Кнопка доступна после выбора формы или форм (больше информации в статье Удаление форм);
- Сделать основной — делает выбранную форму открывающейся по умолчанию при переходе к экранной форме записи. Кнопка доступна после выбора формы.
В новом шаблоне записи по умолчанию присутствует форма, которая носит наименование от наименования шаблона записи с постфиксом «Основная форма».
Считаете ли вы эту статью полезной?
Источник: kb.comindware.ru