Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Компонента как параметр процедуры.   Найти похожие ветки 

 
Talle   (2004-04-20 11:28) [0]

Подскажите пожалуйста, как передать в процедуру одну из компонент(label,button..), чтобы затем у переданной компоненты изменить свойство Font.


 
Talle   (2004-04-20 11:28) [0]

Подскажите пожалуйста, как передать в процедуру одну из компонент(label,button..), чтобы затем у переданной компоненты изменить свойство Font.


 
Тимохов ©   (2004-04-20 11:31) [1]

procedure changelabelfont(const aLabel: TLabel);
begin
  aLabel.Font....
end;

changelabelfont(lablel1);


 
Тимохов ©   (2004-04-20 11:31) [1]

procedure changelabelfont(const aLabel: TLabel);
begin
  aLabel.Font....
end;

changelabelfont(lablel1);


 
Smithson ©   (2004-04-20 11:31) [2]

var Alabel: TLabel

Другое дело, что смена шрифта у стандартных компонент (прорисовкой которых занимается windows), дело не благодарное...


 
Smithson ©   (2004-04-20 11:31) [2]

var Alabel: TLabel

Другое дело, что смена шрифта у стандартных компонент (прорисовкой которых занимается windows), дело не благодарное...


 
Тимохов ©   (2004-04-20 11:33) [3]


> Smithson ©   (20.04.04 11:31) [2]

А без var работать не будет? Ой-ли :)))))


 
Тимохов ©   (2004-04-20 11:33) [3]


> Smithson ©   (20.04.04 11:31) [2]

А без var работать не будет? Ой-ли :)))))


 
Smithson ©   (2004-04-20 11:35) [4]

Будет, но так МНЕ понятнее, что в этой процедуре переданный компонент меняется. А const я пишу, когда он используется, но не меняется. Извини, привычка :)


 
Smithson ©   (2004-04-20 11:35) [4]

Будет, но так МНЕ понятнее, что в этой процедуре переданный компонент меняется. А const я пишу, когда он используется, но не меняется. Извини, привычка :)


 
Ega23 ©   (2004-04-20 11:36) [5]

procedure MyFunction(aButton:TButton);
begin
aButton.Font. ....
end;


 
Ega23 ©   (2004-04-20 11:36) [5]

procedure MyFunction(aButton:TButton);
begin
aButton.Font. ....
end;


 
Тимохов ©   (2004-04-20 11:36) [6]


> Smithson ©   (20.04.04 11:35) [4]

по var не все можно передать - например результат другой функции не передашь.
имхо не очень удобно.


 
Тимохов ©   (2004-04-20 11:36) [6]


> Smithson ©   (20.04.04 11:35) [4]

по var не все можно передать - например результат другой функции не передашь.
имхо не очень удобно.


 
Ega23 ©   (2004-04-20 11:38) [7]

Тимохов ©   (20.04.04 11:33) [3]
Я один раз столкнулся, что не работало без var  :-((( По крайней мере, если var - то уж точно "по ссылке".


 
Ega23 ©   (2004-04-20 11:38) [7]

Тимохов ©   (20.04.04 11:33) [3]
Я один раз столкнулся, что не работало без var  :-((( По крайней мере, если var - то уж точно "по ссылке".


 
Smithson ©   (2004-04-20 11:39) [8]

> Тимохов ©   (20.04.04 11:36) [6]
А смысл менять временную переменную? Которую тебе вернет функция... Ее как раз по const

:)) Флеймим.


 
Smithson ©   (2004-04-20 11:39) [8]

> Тимохов ©   (20.04.04 11:36) [6]
А смысл менять временную переменную? Которую тебе вернет функция... Ее как раз по const

:)) Флеймим.


 
Тимохов ©   (2004-04-20 11:42) [9]


> Ega23 ©   (20.04.04 11:38) [7]

Быть не может...
Значит в другом ошибка.


> Smithson ©   (20.04.04 11:39) [8]

Не флеймим, а обмениваемя опытом и подходами.
Да пишите, как хотите - все равно откажетесь, т.к. поймете, что так делать не удобно и не соответствует семантике дельфи.


 
Тимохов ©   (2004-04-20 11:42) [9]


> Ega23 ©   (20.04.04 11:38) [7]

Быть не может...
Значит в другом ошибка.


> Smithson ©   (20.04.04 11:39) [8]

Не флеймим, а обмениваемя опытом и подходами.
Да пишите, как хотите - все равно откажетесь, т.к. поймете, что так делать не удобно и не соответствует семантике дельфи.


 
Silver Alex ©   (2004-04-20 11:42) [10]

в данном случае будет работать и без const и без var, только ссылка увеличится.


 
Silver Alex ©   (2004-04-20 11:42) [10]

в данном случае будет работать и без const и без var, только ссылка увеличится.


 
Тимохов ©   (2004-04-20 11:43) [11]


> только ссылка увеличится.

какая сслыка?


 
Тимохов ©   (2004-04-20 11:43) [11]


> только ссылка увеличится.

какая сслыка?


 
Ega23 ©   (2004-04-20 11:44) [12]

Да пишите, как хотите - все равно откажетесь, т.к. поймете, что так делать не удобно и не соответствует семантике дельфи.

А я, между прочим, один раз всего var для объекта писал. В том самом случае.
После обеда поищу, может найду эту фишку.


 
Ega23 ©   (2004-04-20 11:44) [12]

Да пишите, как хотите - все равно откажетесь, т.к. поймете, что так делать не удобно и не соответствует семантике дельфи.

А я, между прочим, один раз всего var для объекта писал. В том самом случае.
После обеда поищу, может найду эту фишку.


 
Тимохов ©   (2004-04-20 11:46) [13]


> Ega23 ©   (20.04.04 11:44) [12]

не ищи - не найдешь.


 
Тимохов ©   (2004-04-20 11:46) [13]


> Ega23 ©   (20.04.04 11:44) [12]

не ищи - не найдешь.


 
Silver Alex ©   (2004-04-20 11:47) [14]


> Тимохов ©   (20.04.04 11:43) [11]

на обьект, наверное,  какая же еще :)


 
Silver Alex ©   (2004-04-20 11:47) [14]


> Тимохов ©   (20.04.04 11:43) [11]

на обьект, наверное,  какая же еще :)


 
Тимохов ©   (2004-04-20 11:49) [15]


> Silver Alex ©   (20.04.04 11:47) [14]

т.е. ссылка увеличится (например на 1) и будет указывать уже не на объект, а фиг знает на что.

Про что речь то? Не поясните...
Я что-то не пойму о чем вы..


 
Тимохов ©   (2004-04-20 11:49) [15]


> Silver Alex ©   (20.04.04 11:47) [14]

т.е. ссылка увеличится (например на 1) и будет указывать уже не на объект, а фиг знает на что.

Про что речь то? Не поясните...
Я что-то не пойму о чем вы..


 
Григорьев Антон   (2004-04-20 11:57) [16]


> Другое дело, что смена шрифта у стандартных компонент (прорисовкой
> которых занимается windows),


Это с каких это пор прорисовкой TLabel"а занимается Windows?!


 
Григорьев Антон   (2004-04-20 11:57) [16]


> Другое дело, что смена шрифта у стандартных компонент (прорисовкой
> которых занимается windows),


Это с каких это пор прорисовкой TLabel"а занимается Windows?!


 
Reindeer Moss Eater ©   (2004-04-20 11:58) [17]

procedure MyFunction(var aButton:TButton);

Одно неосторожное движение в такой процедуре - и утечка памяти обеспечена.
Если только процедура не предназначена создавать новую кнопку и возвращать её в параметре


 
Reindeer Moss Eater ©   (2004-04-20 11:58) [17]

procedure MyFunction(var aButton:TButton);

Одно неосторожное движение в такой процедуре - и утечка памяти обеспечена.
Если только процедура не предназначена создавать новую кнопку и возвращать её в параметре


 
Talle   (2004-04-20 12:09) [18]

А можно ли как-либо определить тип параметра-компоненты процедуры, чтобы предавать в одну процедуру и метку,и кнопку?


 
Talle   (2004-04-20 12:09) [18]

А можно ли как-либо определить тип параметра-компоненты процедуры, чтобы предавать в одну процедуру и метку,и кнопку?


 
Reindeer Moss Eater ©   (2004-04-20 12:10) [19]

передавай их общего предка, уже имеющего нужное тебе свойство


 
Reindeer Moss Eater ©   (2004-04-20 12:10) [19]

передавай их общего предка, уже имеющего нужное тебе свойство


 
Тимохов ©   (2004-04-20 12:11) [20]


> Talle   (20.04.04 12:09) [18]

procedure Do(const aControl: TControl);
begin
  if aControl is TEdit then
  begin
     TEdit(aControl).Font....
  end else
  if aControl is TLabel then
  begin
     TLabel(aControl).Font....
  end else

end;


 
Тимохов ©   (2004-04-20 12:11) [20]


> Talle   (20.04.04 12:09) [18]

procedure Do(const aControl: TControl);
begin
  if aControl is TEdit then
  begin
     TEdit(aControl).Font....
  end else
  if aControl is TLabel then
  begin
     TLabel(aControl).Font....
  end else

end;


 
Talle   (2004-04-20 12:18) [21]

Всем большое спасибо


 
Talle   (2004-04-20 12:18) [21]

Всем большое спасибо


 
Jack128 ©   (2004-04-20 12:42) [22]


> Talle   (20.04.04 12:09) [18]
> А можно ли как-либо определить тип параметра-компоненты
> процедуры, чтобы предавать в одну процедуру и метку,и кнопку
Конкретно, для примера Тимохов © "a проще сделать так:

type
 TControlCrack = class(TControl)
 public
   property Font;
 end;

procedure Do(const aControl: TControl);
begin
 with TControlCrack(aControl) do
 begin
   Font...
 end
end;


 
Jack128 ©   (2004-04-20 12:42) [22]


> Talle   (20.04.04 12:09) [18]
> А можно ли как-либо определить тип параметра-компоненты
> процедуры, чтобы предавать в одну процедуру и метку,и кнопку
Конкретно, для примера Тимохов © "a проще сделать так:

type
 TControlCrack = class(TControl)
 public
   property Font;
 end;

procedure Do(const aControl: TControl);
begin
 with TControlCrack(aControl) do
 begin
   Font...
 end
end;



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.035 c
14-1082131239
Soft
2004-04-16 20:00
2004.05.09
Синдром выгорания как результат обыденных стрессов.


8-1075957443
Настенька
2004-02-05 08:04
2004.05.09
mp3


1-1082456952
Ruslan
2004-04-20 14:29
2004.05.09
Как узнать по какой строке щелкнул пользователь в ListView?


14-1082055129
тихий вовочка
2004-04-15 22:52
2004.05.09
Компиляция с условием


14-1082201078
ShellCreator
2004-04-17 15:24
2004.05.09
Набор в команду OpenSource проекта





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