Главная страница
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.146 c
2-1271740246
serhiyiv
2010-04-20 09:10
2010.08.27
Прочитать текст с екрана


8-1203001110
][aker
2008-02-14 17:58
2010.08.27
Проблемы с Tmediaplayer у начинающего лузера


15-1262219675
Petr V. Abramov
2009-12-31 03:34
2010.08.27
закрывается Игналинская АЭС


15-1270233026
Smile
2010-04-02 22:30
2010.08.27
Off Top дальше некуда))


2-1269157020
Delphist2
2010-03-21 10:37
2010.08.27
вставка из буфера