Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
883 Кб
Скачать

Занятие 13

1.Создание нового модуля

Delphi предоставляет возможность программисту создать свой собственный компонент и поместить его на одну из вкладок палитры компонентов. В главном меню Delphiвыберите пункт Componentи далее команду NewComponent. Открывается диалоговое окно настройки параметров будущего компонента. Можно начатьразработку компонента с нуля. В этом случае необходимо обеспечить выполнение ряда важных функций. В качестве непосредственного предка рекомендуется выбирать как минимум класс TComponent. В списке Ancestortype(тип родителя) выбирается класс - предок нового компонента.

Автоматически сгенерированное имя класса компонента можно изменить. Запишите в поле ClassName имя Tnothing. Список Palletepage задает страницу палитры компонентов, в которую будет установлен компонент. Поле Unitfilenameпозволяет установить имя файла модуля, в котором будет сохранен исходный код класса компонента. Поле Seachpath задает пути поиска файла модуля. Оставим эти параметры без изменений. К текущему проекту добавляется сформированный модуль с исходным кодом нового компонента. В модуль компонента включено объявление нового класса. В раздел реализации помещена процедура Register, которая используется во время установки компонента на страницу палитры компонентов. Во время добавления компонента в пакет Delphi использует файл ресурсов, в котором должен находиться битовый образ значка компонента. Файл ресурсов можно создать при помощи утилиты ImageEditor. Запустите утилиту командой Tools- ImageEditor.

В меню File утилиты выберите команду Newи из появившегося списка выберите тип

Создаваемого файла Component Resource File.Перед Вами окно файла ресурсов компонента Untitled.dcr, а в меню диалогового окна ImageEditor появился новый пункт - Resource. Выберите команду New меню Resourceи далее тип создаваемого ресурса - Bitmap. Битовому образу надо присвоить имя. Имя должно совпадать с именем класса. Выделите имя битового образа Bitmap1 выберите в контекстном меню команду Renameи введите имя класса TCIockLabel. Имя файла ресурсов должно совпадать с именем модуля компонента. Выполните команду File -SaveAs. В диалоговом окне введите имя файла ресурсов ClockLabe1.dcr. Выполним команду InstallComponent из пункта меню Component. В диалоговом окне laInstallComponentполя уже заполнены. В поле Unitfilename введено имя файла модуля. Поле Searchpath содержит каталог с файлом ресурсов. Поле Packagefilename содержит имя пакета, в который будет установлен компонент. Это имя мы ввели, когда устанавливали компонент TNothing. Откройте страницу Samples палитры компонентов и убедитесь, что там появился новый компонент в виде пиктограммы, которую Вы разработали. За окном кода видно окно Редактора пакета компонентов.

Если бы во время компиляции компонента были обнаружены ошибки, то их необходимо было бы исправить и продолжить установку, нажав на кнопку Compile панели инструментов редактора. Закройте окно редактора пакета.

2.Тестирование компонента

Разработаем приложение, в котором используем разработанный нами компонент. Используя окно ViewForm+ F12), отобразите форму приложения Form1. Поместите на форму компонент ТТгаскВаг, расположенный на странице Win32 палитры компонентов.

Этот компонент предназначен для визуального управления числовой величиной. Он схож со стандартным элементом TScrollBar и отличается от него только оформлением. Поместите на форму компонент TSpinEdit со страницы Samples палитры. При вводе кода свойство FontColor выберите из всплывающего окна свойств и методов. Введитекод:

Case SpinEdit1 .Value of 0: ClockLabeM.FontColor :=clBlack;

1: ClockLabeM.FontColor :=clMaroon;

2: ClockLabeM.FontColor :=clGreen;

3: ClockLabeM.FontColor :=clOlive;

4: ClockLabeM.FontColor :=clRed;

End;

Поместите на форму компонент TCIockLabel. Установите высоту шрифта 14 пунктов. В заготовку процедуры введите оператор

TrackBaM.Position:= TrackBarl.Position+1;

Запустите программу на выполнение.