Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Использование индекса в именах компонентов...   Найти похожие ветки 

 
Zahar   (2005-03-10 17:35) [0]

Вопрос наверняка уже обсуждялся. Прошу не пинать, просто дайте краткий ответ, буду очень длагодарен.

Есть 25 TEdit-ов. Как обращаться к ним в цикле?
Например как в цикле очистить из значения?


for i:=1 to 25 do begin
  ...
end;


 
begin...end ©   (2005-03-10 17:39) [1]

Если этим edit"ам назначен владелец, то можно использовать его свойство-массив TComponent.Components.


 
@Lex ©   (2005-03-10 17:42) [2]

for i := 0 to ComponentCount - 1 do
 if Components[i] is TEdit then (Components[i] as TEdit).Clear;


 
Zahar   (2005-03-10 17:44) [3]

begin...end
???
а можно кусочек кода с примером?


 
Zahar   (2005-03-10 17:47) [4]

@Lex
Это очистит мне все поля TEdit. А если я хочу только первые 20?


 
Antonn ©   (2005-03-10 17:47) [5]

Zahar   (10.03.05 17:44) [3]
см [2]. Только можно еще tag проверять(выставить у нужных), а то не у тех едитов постирают:)


 
Antonn ©   (2005-03-10 17:48) [6]

for i := 0 to ComponentCount - 1 do
if Components[i] is TEdit then
if (Components[i] as TEdit). tag=1 then (Components[i] as TEdit).Clear;

примерно так, у нужных tag в еденицу выставить.


 
Zahar   (2005-03-10 17:49) [7]

Antonn
Можно по-подробнее плиз?


 
Zahar   (2005-03-10 17:56) [8]

Может это поможет вам понять, чего я хочу :)
Для примера в PHP имя переменной можно составить из частей.

Например:

$a1="vasea";
$a2="petea";
$a3="tolea";

$x=2;

print ${"a$x"};


Выведется "petea".

Можно, что-то подобное сделать в Дельфи???


 
jack128 ©   (2005-03-10 17:56) [9]

var
 EditIndex: Integer;
begin
for i := 0 to ComponentCount - 1 do
 if Components[i] is TEdit then
   if TryStrToInt(Copy(Components[i].Name, Length("Edit") + 1, Length(Components[i].Name)), EditIndex) and (EditIndex >= 1) and (EditIndex <= 20) then
        TEdit(Components[i]).Text := "";
end;


 
Гаврила ©   (2005-03-10 18:06) [10]

А можно так

if MatchesMask(Components[i]).Name, "Edit*") then


 
Zahar   (2005-03-10 18:59) [11]

THX to ALL
разобрался!!!!



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

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.058 c
1-1110813628
John
2005-03-14 18:20
2005.03.27
локально-поисковая система


14-1110374841
Yanis
2005-03-09 16:27
2005.03.27
Толковый словарь


1-1110951645
Tankist
2005-03-16 08:40
2005.03.27
LISTBOX - Как сортировать элементы не по 1-му столбцу, а по 2-му?


14-1110115466
olookin
2005-03-06 16:24
2005.03.27
Протокол матча Локомотив - Авангард


14-1109913140
begin...end
2005-03-04 08:12
2005.03.27
С Днём рождения! 4 марта