Прикладное приложение "Разработка проекта для создания нового класса TextString и элемента управления ListBoxCommandButto со стандартными методами и свойствами в системе объектно-ориентированного программирования"

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

УКРАИНСКАЯ ИНЖЕНЕРНО-ПЕДАГОГИЧЕСКАЯ АКАДЕМИЯ

Кафедра информатики и компьютерных технологий










Курсовая работа

Дисциплина "Прикладное программирование"

Тема: "Прикладное приложение "Разработка проекта для создания нового класса TextString и элемента управления ListBoxCommandButto со стандартными методами и свойствами в системе объектно-ориентированного программирования""




Исполнитель:ст. гр. ДРЕ-К1-1

Иванов С.С.

Руководитель:

проф. Бондаренко Н.А.



Харьков

г.

Содержание


Техническое задание

Календарный план

Введение

. Анализ задачи и выбор методов решения

.1 Анализ функционирования разрабатываемого элемента управления ActiveX, его свойств и методов

.2 Анализ разрабатываемого класса, его свойств и методов

. Разработка и тестирование элемента управления

.1 Разработка внешнего вида элемента управления. Программирование событий инициализации и изменения размеров

.2 Программирование свойств и методов элемента управления

.3 Тестирование элемента управления на этапе проектирования

.4 Тестирование элемента управления на этапе выполнения

. Разработка и тестирование нового класса

.1 Определение и программирование свойств и методов

.2 Тестирование нового класса

Заключение

Руководство пользователя

Список литературы


Техническое задание


"Разработка проекта для создания нового класса TextString и элемента управления ListBoxCommandButton со стандартными методами и свойствами в системе объектно-ориентированного программирования"

1. Основание для разработки

Задание кафедры ИКТ (распоряжение от 10.02.2005 г.).

2. Назначение. Создание базовых структур, используемых при разработке диалоговых окон и прикладных программ обработки данных.

. Требования к программе или программному продукту

3.1. Операционная система Windows 98 / NT / XP.

.2. Язык программирования: Visual Basic в среде ООП Visual Basic 6.

.3. Программа представляется на дискете формата 3,5 (1,44 Mb);

4. Требования к документации

К защите представляются:

пояснительная записка, содержащая: техническое задание, описание программного продукта, результаты тестирования;

дискета с разработанным программным продуктом.

5. Стадии и этапы разработки

5.1. Подбор и изучение литературы по теме курсовой работы - 1 неделя.

.2. Анализ задачи и выбор методов ее решения - 1 неделя.

.3. Разработка нового элемента управления - 1 неделя.

.4. Разработка программ тестирования элемента управления. Тестирование и отладка элемента управления - 2 недели.

.5. Разработка свойств и методов нового класса - 1 неделя.

.6. Разработка программ тестирования нового класса. Тестирование и отладка нового класса - 2 недели.

Календарный план


№ п\пВыполненная работаНомер неделиПлановый срок выполненияРеальный срок выполнения1Оформление задания для выполнения курсовой работы122.02.2005 г.2Подбор и изучение литературы по теме курсовой работы224.02.2005 г.3Разработка и оформление технического задания на разработку программного продукта303.03.2005 г.4Анализ задачи и выбор методов ее решения411.03.2005 г.5Разработка алгоритма617.03.2005 г.6Разработка и отладка объектно-ориентированной программы924.03.2005 г.7Оформление пояснительной записки и графического материала1031.03.2005 г.8Подготовка к защите1006.05.2005 г.9Защита курсовой работы1110.05.2005 г.

ст. гр. ДРЭ-К3-1 Иванов С.С.

Руководитель: проф. Бондаренко Н.А.


Аннотация


Курсовая работа посвящена разработке нового компонента ActiveX (элемента управления ListBoxCommandButton со стандартными методами и свойствами) и нового пользовательского класса TextString в системе объектно-ориентированного программирования Visual Basic 6. В работе представлены результаты разработки и программирования нового элемента управления и нового класса объектов. Приведены результаты тестирования нового элемента управления и нового класса, которые показывают, что разработанные программные продукты функционируют правильно.

Разработанные элемент управления может быть использован при создании прикладных программ, использующих ввод и редактирование данных, представленных в виде простых списков. Новый класс может быть полезен при разработке прикладных программ для форматного вывода текстовых сообщений.


Введение


В состав языка Visual Basic входит большое количество стандартных и дополнительных элементов управления, с помощью которых создаются прикладные программы с необходимыми элементами интерфейса. Однако, имеющихся элементов управления бывает недостаточно. Например, часто приходится использовать одни и те же сочетания элементов управления. В этом случае их было бы целесообразно объединить в одну группу и использовать как один элемент управления.

Система объектно-ориентированного программирования Visual Basic 6 (ООП VB 6) дает возможность создания собственных элементов управления, которые получили название "элементы управления ActiveX", или "элементы управления пользователя" (User Control). При этом программист должен самостоятельно определить свойства, методы и события нового элемента управления. Процесс разработки нового элемента управления состоит из следующих этапов:

проектирование. На этом этапе определяются свойства, методы и события элемента управления, исходя из его функционального назначения;

создание проекта на основе шаблона ActiveX Control и придание проектируемому элементу управления необходимого вида;

программирование свойств, методов и событий, которые будет иметь новый элемент управления;

тестирование и отладка элемента управления. При этом должна быть проверена работа всех методов, свойств и событий.

В данной курсовой работе рассматривается разработка нового элемента управления ListBoxCommandButton на основе стандартных элементов.

Другой существенной особенностью системы ООП VB 6 является возможность создания собственных классов. Как известно, в основе идеологии объектно-ориентированного программирования лежит подход, при котором программирование сводится к описанию объектов и определению их свойств, методов и событий. Такими объектами являются, например, стандартные элементы управления в системе ООП VB 6 - метки, текстовые поля, списки, командные кнопки и т. д. Прикладная программа создается путем задания необходимых объектов и определением их взаимодействия между собой и операционной системой.

Каждый объект, существующий в программе, имеет свои, присущие только ему свойства. Однако отдельные объекты могут иметь общие признаки, поведение и события. Такие объекты объединяются в классы. Таким образом, класс - это абстракция, объединяющие различные объекты в одну группу в соответствии с их свойствами и поведением. Например, все командные кнопки являются объектами класса CommandButton, все метки - объектами класса Label.. Класс отличается от элемента управления тем, что объекты класса могут реально существовать в программе, хотя и не иметь визуального отображения.

В данной курсовой работе рассматривается разработка нового класса TextString с помощью специальной программы ООП VB 6 - Class Builder Utility.


1. Анализ задачи и выбор методов решения


1.1 Анализ функционирования разрабатываемого элемента управления ActiveX, его свойств и методов


При разработке прикладных программ иногда возникает задача корректировки списка данных (например, удаление элементов из списка). Обычно такая задача решается при помощи стандартных элементов управления следующим образом. На форме в непосредственной близости друг от друга размещают список (List1) и командную кнопку (Command1). Предполагается, что в списке должен быть выделен некоторый элемент, а после нажатия кнопки Command1 он будет удален из списка. Поскольку такая задача является типичной, целесообразно разработать новый элемент управления ListBoxCommandButton, в котором были бы объединены указанные стандартные элементы управления и в котором были бы заранее запрограммированы необходимые действия по удалению данных из списка. Кроме того, в таком элементе управления должны быть предусмотрены основные свойства и методы, которые имеют входящие в него элементы управления. Например, должна быть предусмотрена возможность доступа программным путем к данным в списке, изменения надписи на кнопке и др.

Таким образом, проведенный анализ показывает, что поставленная задача может быть более детально сформулирована следующим образом. Необходимо разработать элемент управления ActiveX, который состоит из стандартных элементов управления - списка (ListBox) и командной кнопки (CommandButton). В этом элементе управления выделенный в списке элемент после нажатия командной кнопки удаляется из списка. Если никакой элемент не выделен, никакие действия не производятся. Такой элемент управления должен иметь следующие параметры.

Свойства:- массив символьных строк, отражающий содержимое списка. Доступ для чтения и записи;

ListCount - целое число, указывающее количество элементов в списке. Тип данных - Integer. Доступ только для чтения;

ListIndex - целое число, указывающее номер текущего элемента в списке. Тип данных - Integer. Доступ для чтения и записи;

Caption - символьная строка для надписи на командной кнопке. Тип данных - String. Доступ для чтения и записи;

Методы:- добавление элемента в список. Аргумент - символьная строка (тип данных String), содержащая добавляемый элемент;

RemoveItem - удаление элемента из списка. Аргумент - целое число (тип данных Integer), указывающее номер удаляемого элемента.

activex программирование инициализация управление

1.2 Анализ разрабатываемого класса, его свойств и методов


Новый класс TextString разрабатывается для отображения на экране форматированного текста, то есть такого, который представлен различными способами начертания (прямой, курсивный, полужирный), гарнитурой и размером шрифта, цветом и т.п.

Для удобства и гибкости работы с объектами такого класса необходимо предусмотреть возможность задания ряда свойств и методов.

Таким образом, проведенный анализ показывает, что поставленная задача ее может быть более детально сформулирована следующим образом. Необходимо разработать новый класс TextString для отображения на экране форматированных строк. Такой класс должен иметь следующие параметры.

Свойства класса:

) Text - исходный текст. Тип данных - String;

) Bold - полужирное начертание текста. Тип данных - Boolean;

) Italic - курсивное начертание текста. Тип данных - Boolean;

) Color - цвет текста. Тип данных - Long;

) Font - гарнитура шрифта. Тип данных - String;

) Size - размер шрифта. Тип данных - Integer.

Методы класса:

) Show - отображает текст в соответствии с заданными свойствами. Метод должен быть процедурой с одним аргументом - элементом управления, в который будет выводиться форматированный текст.

Выводы: в результате проведенного анализа поставленных задач были определены основные характеристики и параметры разрабатываемого элемента управления ActiveX нового класса, что дает возможность приступить к программированию и тестированию необходимых свойств и методов.


2. Разработка и тестирование элемента управления


2.1 Разработка внешнего вида элемента управления. Программирование событий инициализации и изменения размеров


Внешний вид разработанного элемента управления показан на рис. 2.1. Он выбран исходя из соображений удобства ввода данных и компактности размещения, входящих в него элементов. Вверху располагается текстовое поле для ввода данных, под ним - список, в который вводятся данные. В самом внизу расположена командная кнопка с надписью "DELETE" (Удалить), после нажатия на которую выделенный элемент удаляется из списка.


Рис. 2.1. Внешний вид элемента управления ListBoxCommandButton


Для программирования событий инициализации и изменения размеров элемента управления выбраны следующие параметры:

ширина всех составляющих компонентов равна ширине контейнера;

высота списка составляет 40/50 высоты контейнера;

высота командной кнопки составляет 9/50 высоты контейнера;

промежуток между компонентами составляет 1/50 высоты контейнера;

горизонтальная координата всех компонентов относительно контейнера равна 0.

Указанные параметры представлены в таблице 3.1.

Значения некоторых свойств компонент элемента управления ListBoxCommandButton


КомпонентЗначение свойствLeftTopWidthHeightList00Ширина контейнера40/50 высоты контейнераCommand0На 1/50 высоты контейнера ниже спискаШирина контейнера9/50 высоты контейнера

В соответствии с этими параметрами были составлены процедуры обработки событий инициализации и изменения размеров, приведенные ниже.

Sub UserControl_Initialize()

' Процедура обработки события инициализации

' Начальное положение списка

List1.Left = 0

List1.Top = 0

' Размеры списка.Height = UserControl.Height / 50 * 40.Width = UserControl.Width

' Начальное положение командной кнопки.Left = 0.Top = List1.Top + List1.Height + UserControl.Height / 50

' Размеры командной кнопки.Height = UserControl.Height / 50 * 9.Width = UserControl.WidthSub Sub UserControl_Resize()

' Процедура обработки события изменения размеров

UserControl_InitializeSub


2.2 Программирование свойств и методов элемента управления


На первом этапе программирование свойств и методов было осуществлено при помощи специальной программы ООП VB 6 - ActiveX Control Interface Wizard.

Сначала в соответствии с поставленной задачей были выбраны необходимые свойства и методы разрабатываемого элемента управления (рис. 2.2).


Рис. 2.2. Выбор свойств и методов разрабатываемого элемента управления


Затем была установлено соответствие между выбранными свойствами и методами разрабатываемого элемента управления и свойствами и методами входящих в него стандартных элементов управления. Новые пользовательские свойства и методы не добавлялись. В результате программой ActiveX Control Interface Wizard был сгенерирован следующий программный код, реализующий работу выбранных свойств и методов.


'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!

'MappingInfo=List1,List1,-1,AddItemSub AddItem(ByVal Item As String, Optional ByVal Index As Variant).AddItem Item, IndexSub

'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!

'MappingInfo=List1,List1,-1,ListProperty Get List(ByVal Index As Integer) As String= List1.List(Index)PropertyProperty Let List(ByVal Index As Integer, ByVal New_List As String).List(Index) = New_List"List"Property

'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!

'MappingInfo=List1,List1,-1,ListCountProperty Get ListCount() As Integer= List1.ListCountProperty

'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!

'MappingInfo=List1,List1,-1,ListIndexProperty Get ListIndex() As Integer= List1.ListIndexPropertyProperty Let ListIndex(ByVal New_ListIndex As Integer).ListIndex() = New_ListIndex"ListIndex"Property

'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!

'MappingInfo=List1,List1,-1,RemoveItemSub RemoveItem(ByVal Index As Integer).RemoveItem IndexSub

'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!

'MappingInfo=Command1,Command1,-1,CaptionProperty Get Caption() As String= Command1.CaptionPropertyProperty Let Caption(ByVal New_Caption As String).Caption() = New_Caption"Caption"Property

'Load property values from storageSub UserControl_ReadProperties(PropBag As PropertyBag)Index As Integer

'TO DO: The member you have mapped to contains an array of data.

' You must supply the code to persist the array. A prototype

' line is shown next:.List(Index) = PropBag.ReadProperty("List" & Index, "").ListIndex = PropBag.ReadProperty("ListIndex", 0).Caption = PropBag.ReadProperty("Caption", "DELETE")Sub

'Write property values to storageSub UserControl_WriteProperties(PropBag As PropertyBag)Index As Integer

'TO DO: The member you have mapped to contains an array of data.

'You must supply the code to persist the array. A prototype

'line is shown next:PropBag.WriteProperty("List" & Index, List1.List(Index), "")PropBag.WriteProperty("ListIndex", List1.ListIndex, 0)PropBag.WriteProperty("Caption", Command1.Caption, "DELETE") Sub

В данный программный код была добавлена следующая процедура обработки события нажатия на командную кнопку.

Private Sub Command1_Click()

' Проверка того, что в списке выделен элементList1.ListIndex < 0 Then Exit Sub

' Удаление элемента из списка.RemoveItem List1.ListIndexSub


2.3 Тестирование элемента управления на этапе проектирования


Для тестирования разработанного элемента управления на этапе проектирования прикладной программы (design time) в среде ООП VB 6 был создан новый проект Standard EXE, к которому был подключен разработанный элемент управления. Соответствующий значок UserControl появился на панели стандартных элементов (рис. 2.3).

Рис. 2.3. Значок UserControl на панели стандартных элементов


После двойного щелчка мыши на этом значке разработанный элемент управления был размещен на форме в исходном виде, что свидетельствует о том, что процедура обработки инициализации элемента отработала корректно и без сбоев (рис. 2.4).


Рис. 2.4.


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ УКРАИНСКАЯ ИНЖЕНЕРНО-ПЕДАГОГИЧЕСКАЯ АКАДЕМИЯ Кафедра информатики и компьютерных технологий

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ