Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Одна функция для двух одинаковых компонент, возникла проблема   Найти похожие ветки 

 
Вадим   (2010-04-28 16:05) [0]

В общем проблема в следующем.
Сначала на форме был один компонент Имаже1. Для него я написал длиннющую процедуру ДроуСрн.
procedure DrawSRN;
var
всякие переменные
begin
with Image1.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;
end;


Позже появилась надобность в еще одном компоненте-дубликате Имаже2, для которого нужно выполнить ту же процедуру ДроуСРН.
Каким способом поступают в этом случае?
Тупо создают вторую процедуру путем копирования тела DrawSRN, только меняют Image1 на Image2?
procedure DrawSRN_2;
var
всякие переменные
begin
with Image2.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;
end;


Или есть какой-то оптимальный вариант?
Например, такой вариант выдал ошибку:
procedure DrawSRN;
var
всякие переменные
begin
with Image1.Canvas and Image2.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;
end;


Ну, думаю, понятно объяснил.


 
12 ©   (2010-04-28 16:25) [1]

procedure DrawSRN(AImage:TImage);

with AImage.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;


 
_Гость_   (2010-04-28 16:26) [2]

procedure DrawSRN(Image: TImage);
begin
with Image.Canvas do


 
Lyonux ©   (2010-04-28 16:29) [3]

begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;


данный кусок кода записать в отдельную процедуру и для обоих компонентов писать:
with Image1.Canvas do %procedurename%
with Image2.Canvas do %procedurename%


 
Вадим   (2010-04-28 17:11) [4]

Большое спасибо! Как всё просто оказалось.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.102 c
2-1267032574
Nostalgia
2010-02-24 20:29
2010.08.27
стєк


3-1235071724
DmitryG.
2009-02-19 22:28
2010.08.27
Пробемы с ADO


2-1274178138
NBAH1990
2010-05-18 14:22
2010.08.27
Как запретить нажатие Alt+Tab, Ctrl+alt+del, ctrl+esc, alt+f4 ?


2-1265975826
ExGen
2010-02-12 14:57
2010.08.27
ADOTable


15-1263833680
Pikvar
2010-01-18 19:54
2010.08.27
Delphi - с чего начинать изучение?