Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2011, 20:00   #1
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
Вопрос Вынос цикла

У меня в программе ОЧЕНЬ часто повторяется цикл For(при нажатии на разные кнопки) как сделать так чтобы не пришлось прописывать его по каждому нажатию OnClick ????
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 10.07.2011, 20:04   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если цикл один и тот же, то вынесите в функцию.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.07.2011, 20:17   #3
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Код:
var
i:integer;
begin
for i:=0 to Form1.PageControl1.ActivePage.ControlCount-1 do
    if Form1.PageControl1.ActivePage.Controls[i] is TRichEdit then begin
Я пробовал в процедуру а как в функцию не знаю =(
Может подскажите?!
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 10.07.2011, 20:59   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Все зависит от того, что делает ваш код.Если он что-то возвращает, то это сдейте отдельной функцией. Если ничего не возвращает, то делайте код процедурой.
Человек_Борща вне форума Ответить с цитированием
Старый 10.07.2011, 21:09   #5
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

ОН просто перебирает все вкладки для поиска активной и вырезает на активной текст например

Код:
var
i:integer;
begin
//RichEdit1.CutToClipboard;
for i:=0 to Form1.PageControl1.ActivePage.ControlCount-1 do
    if Form1.PageControl1.ActivePage.Controls[i] is TRichEdit then begin

      TRichEdit(Form1.PageControl1.ActivePage.Controls[i]).CutToClipboard;
end;
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 11.07.2011, 18:24   #6
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

вызов функции:

Код:
begin
....
a:=MyFunction('sdfsdf');
...
end;
Описание функции:

Код:
Function MyFunctiion(Text:string):string;
begin
Text:=Text+'sdfsdfsdgdfgh';
result:=Text;
end;
Думаю, разберетесь...

PS: я бы назвал такую задачу не "вынос функции", а "вынос мозга"... Но это не моё дело, разумеется.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вложеные цикла pr0kazn1k Помощь студентам 10 21.12.2010 15:10
вынос методов класса в дин библиотеки(dll) Пепел Феникса Общие вопросы C/C++ 8 07.12.2010 20:55
Вынос компонентов программы (которые делфи всталяет в каждую программу) из проги в dll GanGSISoft Общие вопросы Delphi 17 02.07.2009 17:24
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10