![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Возможно зедлать этот код более компактным а то уменя этих if ещё целая куча. Может как то оптимизировать??? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
ivan219, что такое FPC1, FPL1, FPC2 и иже с ними? в чём вообще суть представленного кода? переработка архитектуры допустима?
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
ivan219, можно всем указаным объектам в поле Tag заносить свой номер
так для Form1.LCFC, Form1.LCFL, Form1.LCFF - будет один и тот же номер, например 1 И сделать масив элементы которого процедурного типа например procs, так элемент под индексом 1 будет процедра GB1 (procs[1] := GB1;) теперь весь этот длинный код можно будет упростить до одной строчки:
Это сообщение отредактировал(а) alexeis1 - 17.9.2006, 00:26 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
там процедуры разные. одни принимают параметры, другие нет.
Добавлено @ 00:31 т.е. как минимум одно ветвление придётся делать и разные массивы. или приведение типов. а раз разная логика у вызываемых обработчиков, то на кой их сводить вместе? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
skyboy, на сколько разные? Я видел там всего два вида, без параметров и с передачей объекта.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ivan219 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Это контролы тип TLabeledEdit и эта процедура вызывается из
Я её вынес отдельно так как Unit1 стал более громозким, там уменя ещё и Button, ComboBox, RadioButton и.т.д. и чтоб не создавать на каждый отдельный обработчик я зделал так как было выше. alexeis1 С тегами я думал и пришол к этому коду
Он по проще но всё равно как то громоздко получается.
Можеш поподробнее Это сообщение отредактировал(а) ivan219 - 17.9.2006, 07:19 |
||||||||
|
|||||||||
| Alexeis |
|
||||||||||||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Описывается процедурный тип
если используются обычные процеуры. или
если используются методы классов. Далее объявляется массив
в коде инициализируем его
индекс должен соответствовать тэгам каждой группы теперь вызов нужной функции будет производится procs[<номер нужного тэга>](общие параметры) Если имеются две группы функций с одинаковымим параметрами. Каждой группе можно поставить в соответствие свой массив Нвпример если их две то получим процедурные типы будут соотв.
А запуск соответственно
Это сообщение отредактировал(а) alexeis1 - 17.9.2006, 18:14 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||||||||||||
|
|||||||||||||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 14 Всего: 116 |
alexeis1,
|
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Попробую.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
volvo877, спасибо, что поправил
[offtop]Это результат перехода с делфи на С++, начинаю комбинировать обе конструкции -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Что то я неразобрался как этим пользоватся alexeis1 Это сообщение отредактировал(а) ivan219 - 24.9.2006, 15:25 |
|||
|
||||
![]()
|
| Правила форума "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. |