Главная страница
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.06 c
3-1109784056
Алексей Петухов
2005-03-02 20:20
2005.03.27
blob поля в ms access и ado


3-1109747601
Мила
2005-03-02 10:13
2005.03.27
Обрезается поле nvarchar в MSSQL


3-1109500901
xman
2005-02-27 13:41
2005.03.27
Создание схемы в базе ORACLE


14-1109928448
syte_ser78
2005-03-04 12:27
2005.03.27
Olympus SDK


4-1108561162
Чел@век
2005-02-16 16:39
2005.03.27
Установка сервиса