![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Veve |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: нет Всего: 13 |
Существует следующая проблема. Есть большие участки кода которые повторяются по два раза... и различаются лишь в одной строчечке...
Что-то наподобие такого...: Button1. Caption:='Text'; Button1.Left:=111; ..... Button2. Caption:='Text'; Button2.Left:=111; Ну только проблема не в Button, а более глабальная.... и код повторяется в гораздо больших маштабох.... К примеру в переменую perem := TOrder(от чего-то там) ну и сней делаются всякие там штуки.... В таком же коде, отличающемся только одной строчкой в которой perem := чё-то другое пресваивается и уже с этим делаются теже всякие штучки.... Хотелось бы избавиться от этого дубляжа... Это сообщение отредактировал(а) Veve - 7.12.2006, 20:06 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
имхо так Это сообщение отредактировал(а) Romikgy - 7.12.2006, 20:23 -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Veve |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: нет Всего: 13 |
Ну да с Buttonом там много существует решений, но как я ранее говорил проблемма не в Buttonaх....
Мои два обьекта совсем других типов.... Тоесть мне нужно работать с так называемой переменой x, но в одном случае это переменая и одного типа в другом дрогого
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Veve, слишком расплывчатый вопрос
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Rodman, почти, только у TObject нет таких свойств лучше юзать более высокого предка, например,
TComponent, TControl, TWinControl, т.е. будет
а вот с caption проблема, он появляется только у конечного класса. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
Veve, а чего они у тебя разного типа, раз хранят суть одинаковую информацию?
если это классы, прицепи к ним интерфейсы. если это "просто" переменные - можешь передавать указатель и индикатор типа(в виде целого числа), а внутри в зависимости от индикатора производить привдение типов |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
alexeis1, можно написать свой класс, "делающий всякие штуки", от которого унаследовать классы, заточенные уже под конкретные задачи.
Добавлено @ 20:57 вообще, в целом, есть всего два подхода: классический модульный, т.е. выделение общего кода в отдельные процедуры/модули, и ООП-шный. предпочтение того или иного зависят уже от конкретики решаемой задачи. если речь идёт только о том, чтобы изменить два свойства у двух контролов - писать свои классы, наверное, смысла нет. если о том, чтобы объеденить объекты с похожей логикой работы - то здесь, наверное, ООП - оптимум. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
x77, можно, но тогда для удобства прийдется переписывать пол палитры компонентов, а потом еще их регистрировать. Мороки много... Иногда если задача не слишком сложная проще выкрутится
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ivan219 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Вот так выводить.
Или в массив Писал здесь могут быть ошибки. Но это особо не уменьшит код я в своёи проекте где 5000 строк также делал оптимизацию все что болеш одного выносил в отдельную процедуру только запутался в конечном результате Это сообщение отредактировал(а) ivan219 - 8.12.2006, 21:23 |
||||
|
|||||
| Veve |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: нет Всего: 13 |
Зато это позваляет избавиться от багов... Всем спасибо!
Это сообщение отредактировал(а) Veve - 11.12.2006, 17:11 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |