![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Привет, всем!
В программе приходится очень часто использовать данный код в различных функциях и процедурах и даже формах:
Также, развивая программу, приходится добавить новые данные, что создает определенные проблемы по слежению за всем этим. Решил наконец весь этот код вывести в отдельную процедуру и в дальнейшем обходится только ее вызовом. Теперь хочу узнать, оправдан ли такой выход из ситуации? Правильный ли это подход? Дело в том что когда-то давно, где-то читал что нехорошо использовать в вызове процедуры больше десяти параметров. Может я ошибаюсь, может там где читал - ошибались, но поиск, моей мысли не понял. Что посоветуете? |
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 3 Всего: 8 |
Про количество передаваемых параметров в первый раз слышу, а вот то, что код в процедуры пихать нужно - такое было...по крайней мере меньше кода компилироваться будет, а в придачу модуль красивее станет! |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Ну если есть столько связанных параметров, то это уже тянет на объект или как минимум Record. Его следует хранить таким образом и передать в функцию как var или const параметр (т.е. по ссылке).
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Pavelbej |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
А я вроде что-то припоминаю, но давно было, может путаю.
Вот только смущяет ее будущий вид:
|
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Это уже есть:
А вот использовать как Вы предлагаете еще не приходилось. Можно пример функции? |
|||
|
||||
| Alexeis |
|
||||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Заменяем
на
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||||
|
|||||||
| vladimir74 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: нет Всего: 3 |
я так понимаю у человека просто ввод с формы всяких данных в один рекорд (как я думаю).... или что то в этом роде вызов процедуры примерно такой...
--------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
||||
|
|||||
| Pavelbej |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Не совсем. Данные получаю из различных источников(XML, HTML, Opera bookmarks, .url файлы и базы данных), но есть и возможность вводить их вручную. Собираю все необходимые данные и "присваиваю" их определенному узлу (используется компонент VirtualStringTree).
Вот и непонятно Alexeis, ведь из разных процедур, форм и юнитов я должен послать в данную Вами процедуру, разные данные.
И пока не улавливаю. Что такое aBookmark, и который это data^? |
||||||
|
|||||||
| vladimir74 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: нет Всего: 3 |
тогда, если еще не поздно, я бы огласился бы с первым постом Alexeis,
в таком случае у вас есть проперти в которые вы заносите нужные вам данные. все легко, прозрачно, легко расширяема и не нужно мучаться с процедурой и думать скальо и какие значения передавать.... В противном случае (эьл уже ИМХО выход из положения когда очень сложно что то поменять) можно передавать StringList в котором и бдут все значения твоего будующего рекорда..... --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
||||
|
|||||
![]()
|
| Правила форума "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. |