Главная страница
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.043 c
14-1110195108
MU
2005-03-07 14:31
2005.03.27
FreeVCS ->JediVCS


9-1104660454
Vaitek
2005-01-02 13:07
2005.03.27
Не совсем игра, но трехмерная графика...


3-1109152784
juice
2005-02-23 12:59
2005.03.27
Выборка из набора данных


4-1108178714
nickmas
2005-02-12 06:25
2005.03.27
Как убрать программу из трея?


14-1110053626
Vasya.ru
2005-03-05 23:13
2005.03.27
Помогите найти алгоритм