Классы
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 340
- Зарегистрирован: 22 ноя 2004, 19:15
- Откуда: Минск
- Контактная информация:
Ммм давно не был меня тут с год, и вот опять проблема очень надеюсь что поможите и сейчас
На форме есть 4 кнопки и list box
Надо при нажатии кнопки
1) Создать панель на ней label и edit
2) Создать панель на ней label и combobox
3) Создать панель на ней button
Все это записывается в listbox (просто цифра)
4) В зависимости от того что выделено в listbox удалить соотвествующую панель и все что на ней находится
Я так понимаю что общее у них панель он и будет родительским классом. (+ тут будут храниться общие переменные для edit combobox и button)
Далее создаются наследники edit combobox и button (каждый со своими индивидуальными переменными)
Дальше немного застопорился с create и destroy, откуда что вызывать.
На форме есть 4 кнопки и list box
Надо при нажатии кнопки
1) Создать панель на ней label и edit
2) Создать панель на ней label и combobox
3) Создать панель на ней button
Все это записывается в listbox (просто цифра)
4) В зависимости от того что выделено в listbox удалить соотвествующую панель и все что на ней находится
Я так понимаю что общее у них панель он и будет родительским классом. (+ тут будут храниться общие переменные для edit combobox и button)
Далее создаются наследники edit combobox и button (каждый со своими индивидуальными переменными)
Дальше немного застопорился с create и destroy, откуда что вызывать.
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Кучу примеров видел, загугли..
[syntax=Delphi] [/syntax]
-
- Сообщения: 340
- Зарегистрирован: 22 ноя 2004, 19:15
- Откуда: Минск
- Контактная информация:
Не нашел ничего толкового
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
давайте с кодом, а то снесу в РМЗ

-
- Сообщения: 340
- Зарегистрирован: 22 ноя 2004, 19:15
- Откуда: Минск
- Контактная информация:
Что с кодом давать??
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
если вы не напишите ваши наработки и в чём затык, то это в раздел "решите мне задачку" куда и снесу

-
- Сообщения: 340
- Зарегистрирован: 22 ноя 2004, 19:15
- Откуда: Минск
- Контактная информация:
Основной класс
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?
Потом идет осовбождение из памяти
хотя бы это организовать, дальше буду сам разбираться
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?
Потом идет осовбождение из памяти
хотя бы это организовать, дальше буду сам разбираться
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
с такими названиями полей класса вы быстро запутаетесь. Общепринято с буквы Т давать наименования типам. Поля, полистайте исходники VCL, называют с буквы F." писал(а):TPanelDataXXX
Не очень понятно, для чего вообще городить этот класс? Или это задание такое?
