Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.055 c
9-1187953783
max_
2007-08-24 15:09
2010.08.27
DirectX - текстура


11-1221339711
Dy1
2008-09-14 01:01
2010.08.27
пожалуйста скажите что не так


2-1267590008
cwl
2010-03-03 07:20
2010.08.27
адрес - property с индексом


15-1267521403
sniknik
2010-03-02 12:16
2010.08.27
Символ + и TIdURI.URLEncode, как правильно?


15-1271534156
Игорь Шевченко
2010-04-17 23:55
2010.08.27
руки моделируют





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский