Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизОдна функция для двух одинаковых компонент, возникла проблема Найти похожие ветки
← →
Вадим (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.072 c