Цикъл за компоненти ???
5 отговора
150 прегледа
Цикъл за компоненти ???
Мoже ли някои да ми каже как да направя цикъл на Delphi
който да присвоява на 10 Edit-а някаква стойност. Въпросът ми е
как се въртят компонентите Edit1, Edit2 и т.н.
Благодаря предварително !!!
който да присвоява на 10 Edit-а някаква стойност. Въпросът ми е
как се въртят компонентите Edit1, Edit2 и т.н.
Благодаря предварително !!!
Re: Цикъл за компоненти ???
ami naprimer taka:
for i := 0 to Panel1.ControlCount-1 do
if (Panel1.Controls is TEdit) then
TEdit(Panel1.Controls).Text := IntToStr(i);
Щом не върви от първия път, значи има шанс
for i := 0 to Panel1.ControlCount-1 do
if (Panel1.Controls is TEdit) then
TEdit(Panel1.Controls).Text := IntToStr(i);
Щом не върви от първия път, значи има шанс
Re: Цикъл за компоненти ???
for i:=1 to 10 do
(FindComponent('Edit'+IntToStr(i)) as TEdit).Text := anyText;
Това оба4е не е много елегантно решение ;-))) В момента в който пипнеш името на някой от компонентите - и спира да работи - помисли за функция която да ти инициализира компонентите във формата - веднъж
ще напишеш 10 или 15 реда - но за сметка на това няма да имаш за вбъдеще проблеми
---
Е т'ва е живот!
(FindComponent('Edit'+IntToStr(i)) as TEdit).Text := anyText;
Това оба4е не е много елегантно решение ;-))) В момента в който пипнеш името на някой от компонентите - и спира да работи - помисли за функция която да ти инициализира компонентите във формата - веднъж
ще напишеш 10 или 15 реда - но за сметка на това няма да имаш за вбъдеще проблеми
---
Е т'ва е живот!
Wij towa
var i : Integer;
EditArr : TEdit;
begin
for i:=0 to ComponentCount - 1 do
begin
if ( Components[ i ] is TEdit) then
begin
EDitArr := TEdit( Components[ i ] );
EDitArr.Text := ..// Kakwoto iskash tuka
end;
end;
EditArr : TEdit;
begin
for i:=0 to ComponentCount - 1 do
begin
if ( Components[ i ] is TEdit) then
begin
EDitArr := TEdit( Components[ i ] );
EDitArr.Text := ..// Kakwoto iskash tuka
end;
end;
Dobavqne
RTTI работи малко бавно, и за това в место "is TEdit" можеш да ползваш
.ClassName = 'TEdit' then ...
.ClassName = 'TEdit' then ...
Редактирано от z_free на