1. Постановка задачи
Разработка справочной системы по визуальным компонентам Delphi.
Основные требования: получение информации по основным визуальным компонентам (не менее 15 компонент). Визуализация компонент в специально отведенной области с возможностью задания им разных свойств (размер, цвет и т.д.). Обеспечить возможность с помощью мыши перемещения компонент по отведенной области с отображением координат.Описание компонент должно храниться в текстовом файле.
Общие требования:
При выходе из программы обеспечить возможность сохранения измененных свойств компонент в файле с возможностью их загрузки в будущем.
Тип приложения: GUI
2. Выбор средств реализации
Для выполнения проекта был выбран язык программирования Delphi, так как он сочетает в себе простоту выполнения задачи, построения пользовательского интерфейса, а также обладает мощным набором функций, экономящим время на разработку программного обеспечения.
В разрабатываемой программе предполагается использование следующих функций и модулей
Модуль Forms позволяет работать с формами. Для создания GUI- приложения будут использованы объекты класса TForm;
Модули StdCtrls, Buttons, ExtCtrls для создания с помощью кнопок интерфейса, удобного и привычного пользователю;
Модуль Controls для работы с классом TControl, что позволяет упростить написание обработчиков события перемещения объектов по форме с помощью мыши;
Модуль Dialogs для вызова модальной формы с помощью функции showmessage;
Модуль Windows для создания объекта FocusRect класса TRect, используемого для отображения прямоугольника при перемещении объектов по форме с помощью мыши;
Модуль Graphics для работы с классом TColor;
Модули ComCtrls и Grids исключительно для создания примеров компонент, остальные компоненты есть в ранее упомянутых модулях.
Реализация метода Drag and Drop для перемещения объектов по форме;
Реализация сохранения и загрузки состояния компонент на форме;
Изменение некоторых свойств создаваемых объектов;
Получение справочной информации о выбранном компоненте;
Получение информации о программе;
Выход из программы.
3. Описание логики работы приложения и разработка программного обеспечения
В разрабатываемом приложении реализуется справочная система по визуальным компонентам Delphi. Пользователь имеет возможность получить информацию о некоторых компонентах библиотеки VLC Delphi, увидеть пример этих компонент, изменить их свойства, а также сохранить текущее состояние программы для последующей загрузки.
В файл, при условии наличия объекта компоненты на форме, сохраняются значения его координат и размеры объекта. При отсутствии компонента в файл записывается на соответствующее место ноль. Алгоритм загрузки производится в обратном порядке.
Листинг программы приведен в приложении А.
В процессе создания программного обеспечения были разработаны процедуры и функции, приведённые в таблице 1.
Таблица 1.
Используемые методы.
Процедура |
Описание |
procedure ListBox1Click |
При нажатии на элемент списка создаётся или удаляется соответствующий объект( при активированном переключателе CheckBox1 также показывается справка о нём). |
procedure SetProperties |
Присваевает свойству Text компонент Edit1, Edit2, Edit3, Edid4 соответствующие свойства выбранного компонента. |
procedure ComponentMouseDown |
Обработчик события нажатия кнопкой мыши на объекте для последующего его перемещения. |
procedure ComponentMouseMove |
Обработчик события перемещения компонента по ограниченной области формы с помощью мыши. |
procedure ComponentMouseUp |
Обработчик события прекращеия перемещения объекта по форме. |
procedure Button1Click |
Применение к выбранному компоненту свойств, заданных в Edi1, Edit2, Edit3, Edid4. |
procedure BitBtn4Click |
Выход из программы |
procedure BitBtn5Click |
Вызов модальной формы, показывающей информацию о программе |
procedure BitBtn1Click |
Сохранение текущего состояния программы в файл |
procedure BitBtn3Click |
Кнопка, вызывающая процедуру clear_all |
procedure BitBtn2Click |
Удаление всех созданных пользователем объектов и загрузка положения компонент на форме из файла |
procedure clear_all |
Удаляет созданные пользователем объекты с формы. |