Страница 1 из 1

Классы

Добавлено: 20 авг 2009, 17:59
Лелик_1044
Ммм давно не был меня тут с год, и вот опять проблема очень надеюсь что поможите и сейчас

На форме есть 4 кнопки и list box

Надо при нажатии кнопки

1) Создать панель на ней label и edit
2) Создать панель на ней label и combobox
3) Создать панель на ней button

Все это записывается в listbox (просто цифра)

4) В зависимости от того что выделено в listbox удалить соотвествующую панель и все что на ней находится

Я так понимаю что общее у них панель он и будет родительским классом. (+ тут будут храниться общие переменные для edit combobox и button)

Далее создаются наследники edit combobox и button (каждый со своими индивидуальными переменными)


Дальше немного застопорился с create и destroy, откуда что вызывать.

Re: Классы

Добавлено: 20 авг 2009, 19:41
Duncon
Кучу примеров видел, загугли..

Re: Классы

Добавлено: 21 авг 2009, 11:43
Лелик_1044
Не нашел ничего толкового

Re: Классы

Добавлено: 21 авг 2009, 11:44
Игорь Акопян
давайте с кодом, а то снесу в РМЗ

Re: Классы

Добавлено: 21 авг 2009, 13:25
Лелик_1044
Что с кодом давать??

Re: Классы

Добавлено: 24 авг 2009, 12:54
Игорь Акопян
если вы не напишите ваши наработки и в чём затык, то это в раздел "решите мне задачку" куда и снесу

Re: Классы

Добавлено: 26 авг 2009, 15:23
Лелик_1044
Основной класс

type
TPanelData = Class
private
TPanelDataType:Integer; //Тип поля 1-edit создан 2-combobox 3-button
TPanelDataTabPage:Integer; //Номер страницы
TPanelDataHeight:Integer; //Высота панели
TPanelDataReadOnly: Boolean; //Только для чтения
TPanelDataMustBE: Boolean; //Обязательный
TPanelDataMessage: String; //Сообщения если не заполненно
TPanelDataPathXML:String; //Путь в XML

TPanelDataPanel:TRzPanel;
procedure CreatePanel;
protected
constructor Create; virtual; abstract;
destructor Destroy; virtual; abstract;
public
end;

TPanelDataList = class(TList); //список куда будут помещяться панели

Наследник

type
TLabelData = Class(TPanelData)
private
TPanelDataLabel:TRzLabel;
protected
public
End;


Те щелкаю по кнопке 1 создается панелька TPanelDataType присваивается 1 (будет создан edit) и на панельки хочу создать label?

Потом идет осовбождение из памяти

хотя бы это организовать, дальше буду сам разбираться

Re: Классы

Добавлено: 28 авг 2009, 10:42
Игорь Акопян
&quot писал(а):TPanelDataXXX
с такими названиями полей класса вы быстро запутаетесь. Общепринято с буквы Т давать наименования типам. Поля, полистайте исходники VCL, называют с буквы F.

Не очень понятно, для чего вообще городить этот класс? Или это задание такое?