Главная страница
    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.054 c
2-1273570593
Фильтор
2010-05-11 13:36
2010.08.27
Как замерить производительность приложения


2-1269519135
Влад
2010-03-25 15:12
2010.08.27
ActiveX


15-1265078165
Дмитрий С
2010-02-02 05:36
2010.08.27
Подскажите телефон


15-1269517786
DVM
2010-03-25 14:49
2010.08.27
Забавная SQL Injection


2-1271746680
Who_is_you?
2010-04-20 10:58
2010.08.27
Cбои при чтении с порта.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский