Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Выполнение оператора в строке


Автор: Leklerk 31.8.2012, 15:06
Добрый день! Подскажите пожалуйста, как выполнить оператор в строке. Например, надо выполнить
Код

ComboBox1.Text:= '';
ComboBox2.Text:= '';
ComboBox3.Text:= '';
ComboBox4.Text:= '';
ComboBox5.Text:= '';
ComboBox6.Text:= '';
ComboBox7.Text:= '';
ComboBox8.Text:= '';

Я пишу
Код

for I:=1 to 8 do
  Функция('ComboBox'+IntToStr(I)+'.Text:= '''';');

Есть такая Функция? 

Автор: DarkProg 31.8.2012, 15:53
Код

(FindComponent('Имя компонента') As TComboBox).Text:=''

Автор: Leklerk 10.9.2012, 18:33
Большое спасибо!

Автор: Akella 12.9.2012, 18:16
Ещё вариант
Код
TComboBox(FindComponent('Имя компонента')).Text:='';


а лучше
Код

if FindComponent('Имя компонента') is TComboBox then
  TComboBox(FindComponent('Имя компонента')).Text:='';


иначе можно нарваться на exception в один прекрасный день smile

Автор: northener 13.9.2012, 00:49
Цитата(Akella @  12.9.2012,  18:16 Найти цитируемый пост)
иначе можно нарваться на exception в один прекрасный день smile

Это уже перестраховка, граничащая с паранойей. smile 
В своей собственной программе задать компонент[у/е] типа TComboBox имя "Что-то там"n и при этом ничего об этом не знать/не помнить можно только с очнеь большого бодуна! smile

Хотя, с другой стороны глядя, я ещё никогда сам в своих проектах не использовал функцию FindComponent. Ибо не нужна была она мне никогда.

Автор: DarkProg 13.9.2012, 08:41
Цитата(Akella @  12.9.2012,  19:16 Найти цитируемый пост)
а лучше

Тогда уж более правильный вариант.
Код

Var Comp:TComponent;
....
Comp:=FindComponent('Имя компонента');
if Comp is TComboBox then
  TComboBox(Comp).Text:='';

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)