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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2013, 23:32   #1
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
Счастье Глобальная процедура

Всем доброго времени!

Прошу помощи!
Есть несколько форм и несколько юнитов. У меня постоянно после некоторых действий нужно перерисовывать главный объект в разных формах.
1) Как сделать процедуру, которую можно будет вызывать с любой формы.
2) Как описать эту процедуру, которая ничего не возвращает, а только получает координаты?
3) Где необходимо ее описать, чтоб все работало?

Заранее спасибо!
glazik вне форума Ответить с цитированием
Старый 04.12.2013, 23:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
перерисовывать главный объект в разных формах.
Давай не стесняйся в подробностях. А то такие оболдуи как я просто скажут "опиши процедуру в каком-то юните, и во всех формах в OnPaint формы вызывай процедуры из него"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2013, 23:50   #3
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
По умолчанию

Допустим рисуется прямоугольник и его пересекают дуги. После построения дуг, часть прямоугольника стирается. Хотелось бы вызывать каждый раз после рисования дуги процедуру, которая бы перерисовывала начальный прямоугольник. (прямоугольник с множеством деталей, поэтому и нужна собственная процедура). И вообще хотелось бы в принципе понять, как описывать глобальные процедуры, поэтому, я думаю, не важно что там рисуется)))
glazik вне форума Ответить с цитированием
Старый 05.12.2013, 00:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
После построения дуг, часть прямоугольника стирается.
brush.style:=bsNone поставь. тогда дуги стирать фоном не должны.
Цитата:
вообще хотелось бы в принципе понять, как описывать глобальные процедуры
Ну например так как я сказал - в отдельном модуле, доступном везде. В процедуры модуля можно передавать Canvas где рисовать.
Код:
unit draw;
...
procedure dra(c:TCanvas)...
...
c.line(...
...
Код:
unit unit1;
uses draw;
...
form1=class(TForm...
...
procedure Form1Paint(sender...)
begin
 dra(Form1.Canvas);
....
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2013, 00:41   #5
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

можете написать эту функцию в главном unit-e с добавление её в public или же после типа, она будет глобальной, просто нужно будет везде в uses подписывать unit, собственно тоже самое, что предложили ребята выше отписавшийся, только без создания отдельного unit-a
uberchel вне форума Ответить с цитированием
Старый 06.12.2013, 00:21   #6
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
По умолчанию

Спасибо большое!
glazik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальная переменная winhttp C# (си шарп) 15 20.07.2016 16:03
Глобальная статистика Marinast906 Помощь студентам 0 18.12.2012 14:14
Глобальная переменная mutabor JavaScript, Ajax 2 31.12.2010 12:23
с#: глобальная матрица Natok Помощь студентам 4 25.05.2009 00:36
глобальная матрица Natok Общие вопросы .NET 0 24.05.2009 23:19