![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| кмс |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 12.2.2009 Где: Казахстан Репутация: 1 Всего: 2 |
Здравствуйте.
Возник такой вопрос. Есть большая программа, в ней одна функция изначально было с одним входным параметром. Теперь мне нужно добавить еще один параметр, естественно теперь нужно менять все обращения к этой функции, а их очень много. Может как то возможно облегчить работу с помощью самой Delphi? Например, при компиляции Delphi выдает ошибку и ставит курсор как раз в то место куда нужно вставить параметр. Отсюда и возник вопрос, раз она точно знает где ошибка, может и сама может вставить нужное Если вопрос совсем глупый, то сразу извиняюсь PS: Delphi XE |
|||
|
||||
| DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
Есть следующие решения, на мой взгляд:
1) Если параметр передавать не обязательно, и в большинстве случаев у вас должно передаваться, например, True, то можно задать дефолтовое значение, а там где нужно поставить нужное значение руками. 2) Используя скажем Notepad++ пробежаться по всему проекту(а именно по pas-файлам) и найти вызовы этой функции, и поправить, в принципе вполне шустрый вариант(если набор переменных стандартизирован и вызовы схожи, можно сделать замену по файлам, я так за пару часов 200 файлом модифицировал недавно, надо было почистить uses, а потом прописать новые unit'ы). 3) Попробуйте посмотреть умеет ли делать такое рефакторинг, но из того что я пробовал с изменением параметров, я потом очень долго матюкался, потому что становилось только хуже. P.S. чисто гипотетически, делфи сразу знает все места где эта ошибка обитает, но почему-то в списке ошибок сразу валится ещё и предупреждения и прочее и порой больше 10 ошибок в той куче за раз не найти и приходится шаманить, вот как описал выше. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
http://www.webdelphi.ru/2011/05/osnovy-ref...ga-v-delphi-xe/
посмотри там "Rename – переименование" Добавлено через 36 секунд там ещё есть "Change Params – изменение списка параметров" |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 7 Всего: 15 |
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
да, за такое наказывать нужно
|
|||
|
||||
| кмс |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 12.2.2009 Где: Казахстан Репутация: 1 Всего: 2 |
Пока выкрутился заменой в Notepad++, но не всегда такое прокатит
Akella за ссылку спасибо. Просто тему создал поздно ночью, когда уже в край достало в ручную все редактировать Название темы теперь не могу поправить Это сообщение отредактировал(а) кмс - 24.4.2013, 12:46 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
А чем Find in Files в самой IDE не устроил? А CnPack имеет ещё и функцию Replace in Files. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| кмс |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 12.2.2009 Где: Казахстан Репутация: 1 Всего: 2 |
northener, ну да, одно и тоже, просто нотепадом давно пользуюсь и как то привычней
А CnPack'ом стараюсь не делать никаких глобальных изменений после того как он накосячил при очистке не используемых модулей. Может и сам что то не так сделал, но все равно побаиваюсь PS: изначально вопрос был вообщето чуть другим, то есть на счет расширенных возможностей тех же Find in Files и Replace. Вот и подумалось что это касается самого IDE, собсно по этому тему так и назвал. Это сообщение отредактировал(а) кмс - 24.4.2013, 18:08 |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 0 Всего: 7 |
А она может так НЕ сделать?? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| кмс |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 12.2.2009 Где: Казахстан Репутация: 1 Всего: 2 |
Ну это я говорил не насчет угадывание мыслей Имел ввиду раз дельфи точно знает где ошибка, то не плохо было бы туда вставлять что ей укажут. Уже понял что нельзя. |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 7 Всего: 15 |
Я FAR с каким то плагином юзал - когда с RX на JVCL переходил.
|
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 0 Всего: 7 |
Компоненты с одного на другой заменить? Такое GEExperts могет.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Вообще, озвученное DarkProg использование дефолтового значения в подавляющем большинстве решит проблему без перелопачивания pas файлов проекта.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Ну насчёт подавляющего большинства я бы поостерегся так утверждать. Случай описанный автором достаточно редкий для большого и давнего проекта. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| кмс |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 12.2.2009 Где: Казахстан Репутация: 1 Всего: 2 |
Так мне как раз и нужно было передавать параметр и в разных случаях разный, для того я и добавлял его в функцию.
Параметр типа integer и вариантов там хоть и не 2147483647 но все равно по дефолту ни как бы не прокатило. |
|||
|
||||
![]()
|
| Правила форума "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. |