| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Упростить код. |
| Автор: ivan219 16.9.2006, 23:59 | ||
Возможно зедлать этот код более компактным а то уменя этих if ещё целая куча. Может как то оптимизировать??? |
| Автор: skyboy 17.9.2006, 00:12 |
| ivan219, что такое FPC1, FPL1, FPC2 и иже с ними? в чём вообще суть представленного кода? переработка архитектуры допустима? |
| Автор: Alexeis 17.9.2006, 00:23 | ||
| ivan219, можно всем указаным объектам в поле Tag заносить свой номер так для Form1.LCFC, Form1.LCFL, Form1.LCFF - будет один и тот же номер, например 1 И сделать масив элементы которого процедурного типа например procs, так элемент под индексом 1 будет процедра GB1 (procs[1] := GB1;) теперь весь этот длинный код можно будет упростить до одной строчки:
|
| Автор: skyboy 17.9.2006, 00:29 |
| там процедуры разные. одни принимают параметры, другие нет. Добавлено @ 00:31 т.е. как минимум одно ветвление придётся делать и разные массивы. или приведение типов. а раз разная логика у вызываемых обработчиков, то на кой их сводить вместе? |
| Автор: ivan219 17.9.2006, 07:09 | ||||||||
Это контролы тип TLabeledEdit и эта процедура вызывается из
Я её вынес отдельно так как Unit1 стал более громозким, там уменя ещё и Button, ComboBox, RadioButton и.т.д. и чтоб не создавать на каждый отдельный обработчик я зделал так как было выше. alexeis1 С тегами я думал и пришол к этому коду
Он по проще но всё равно как то громоздко получается.
Можеш поподробнее |
| Автор: Alexeis 17.9.2006, 12:40 | ||||||||||||||
Описывается процедурный тип
если используются обычные процеуры. или
если используются методы классов. Далее объявляется массив
в коде инициализируем его
индекс должен соответствовать тэгам каждой группы теперь вызов нужной функции будет производится procs[<номер нужного тэга>](общие параметры) Если имеются две группы функций с одинаковымим параметрами. Каждой группе можно поставить в соответствие свой массив Нвпример если их две то получим процедурные типы будут соотв.
А запуск соответственно
|
| Автор: volvo877 17.9.2006, 13:34 | ||
alexeis1,
|
| Автор: ivan219 17.9.2006, 13:52 |
| Попробую. |
| Автор: Alexeis 17.9.2006, 18:16 |
| volvo877, спасибо, что поправил [offtop]Это результат перехода с делфи на С++, начинаю комбинировать обе конструкции |
| Автор: ivan219 24.9.2006, 15:12 | ||
Что то я неразобрался как этим пользоватся alexeis1 |