Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Созание компоненты

Название: Созание компоненты
Раздел: психология, педагогика
Тип: реферат Добавлен 06:23:13 06 декабря 2005 Похожие работы
Просмотров: 17 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

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

Для начала нужно определиться, какую компоненту будем создавть. Для примера сделаем компоненту на базе стандартной компоненты дельфи TEdit. Эта компонента будет представлять собой поле ввода, в которое можно будет ввести только число с возможностью ввода одного знака "минус" в начале числа. Пусть компонента будет называться TNEdit. Создайте отдельную папку для компоненты.

Для начала создания новой компоненты запустите дельфи и выбирите из меню Component команду New Component. В появившемся окне в поле Ancestor Type впишите TEdit [StdCtrls] (или можно выбрать из ниспадающего списка). В поле Class Name нужно вписать имя класса компоненты - TNEdit. Из списка Palette Page выберите существущюю вкладку палитры компонент, либо введите свое название вкладки (она будет создана), где будет размещаться наша компонента. В поле Unit file name введите путь до папки, где будут размещаться модуль компоненты. Все. Жмите Ok (не Install!!!) и к текущему проекту добавится сгенерированная дельфи заготовка модуля компоненты.

Редактируем шаблон

Тут я просто приведу текст шаблона, к какому виду его нужно привести. А в конце кода опишу все изменения.

unit NEdit1;

interface

uses

Windows, Messages, SysUtils, Classes, Controls, StdCtrls;

type

TNEdit1 = class(TEdit)

private

EditNumber : single;

function getNum : single;

procedure setNum(val : single);

protected

procedure KeyPress(var Key : Char); override;

public

{ Public declarations }

published

Constructor Create(AOwner : TComponent); override;

property Num : single

read getNum

write setNum;

end;

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Samples', [TNEdit1]);

end;

constructor TNEdit1.Create(AOwner : TComponent);

begin

inherited Create(AOwner);

end;

function TNEdit1.getNum : Single;

begin

try

Result := StrToFloat(text);

except begin

Result := 0;

text := '';

end;

end;

end;

procedure TNEdit1.setNum(val: Single);

begin

EditNumber:=val;

text:=FloatToStr(val);

end;

procedure TNEdit1.KeyPress(var key:char);

begin

case key of

'0'..'9', #13, #8: ;

'-' : if Length(text)<>0 then key := #0;

else

if not ((key=DecimalSeparator)and(pos(DecimalSeparator,text)=0)) then Key:=#0;

end;

inherited KeyPress(key);

end;

end.

Компонента реагирует на нажатие пользователем клавиши в поле ввода процедурой TNEdit.KeyPress. Eю мы заменили соответствующюю процедуру базового класса. В качестве параметра процедуре передается нажатая клавиша (вернее её код). Перед выводом в рабочую область числа мы проверяем это число. Если оно не содержит цифру, код клавиш Enter и Backspace, или вводится минус в середине числа, либо вводится второй разделитель(.), то соответствующему коду клавиши присваевается #0 и символ не выводится в рабочюю область. Для проверки работоспособности компоненты мы её протестируем.

Тестируем компоненту

Положите на форму кнопку (Button1) и метку (Label1). В Uses добавьте имя нашего модуля TNEdit. В раздел обьявления приложения добавьте инструкцию обьявления компоненты. А в событии OnCreate формы добавьте процедуру создания компоненты. Вот что должно у вас получиться:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, NEdit1;

type

TForm1 = class(TForm)

Label1: TLabel;

Button1: TButton;

Edit1: TEdit;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

NEdit_ : TNEdit1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

NEdit_ := TNEdit1.Create(self);

NEdit_.Parent :=self;

NEdit_.Top := 16;

NEdit_.Left := 24;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Label1.Caption := FloatToStr(NEdit_.Num);

end;

end.

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

Устанавливаем компоненту на палитру компонент.

У всех компонент на палитре есть свои значки. А мы то чем хуже? Давайте нарисуем иконку для нашей компоненты. В меню Tools выбирайте команду Image Editor (если вы его установили в момент установки дельфи). В появившемся окне выбираем File->New->Component Resource File. Создастся пустой файл ресурсов для компонент. Правой кнопкой щелкаем на Contents и выбираем New->Bitmap. Устанавливаем размер 24x24 и 16 цветов. Что бы переименовать ресурс, щелкните правой кнопкой мыши на Bitmap1 и выбирите команду Rename. Установите имя ресурса TNEdit1(очень важно!!!). Дважды щелкните на TNEdit1. Откроется окно редактирование битового образа. Нарисуйте иконку и сохраните файл ресурсов в ту папку, где находится модуль NEdit1 под именем NEdit1.dcr.

Теперь, когда файл ресурсов с иконкой готов, можно приступить к непосредственно установке компоненты. Для этого выберите из меню Component команду Install Component. Откроется диалоговое окно Install Component. В поле UnitFileName укажите путь к модулю компоненты. В поле Search Path указаны пути, по которым во время установки компоненты дельфи будет искать необходимые файлы. Поле Package file name содержит имя пакета, куда будет устанавливаться компонента. Удостоверьтесь, что все поля вы заполнили правильно, нажмите кнопку Ok и потвердите обновление пакета. Если все прошло успешно то появляется окно с информацией о добавленых модулях. Вот и все. Свою компоненту вы найдете на той вкладке, которую указали в самом начале создания компоненты.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений22:32:56 18 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
14:41:29 24 ноября 2015

Работы, похожие на Реферат: Созание компоненты

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(150947)
Комментарии (1842)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru