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

Вниз

Как работать с большой группой одинаковых компонентов   Найти похожие ветки 

 
hex_for_delphi   (2003-06-26 13:13) [0]

Как работать с большой группой одинаковых компонентов например мне нужно в цикле раздать большое количество значений компанентам edit1 у меня их 96 штук и 96 значений для них. Приблезительно это выглядит вот так:
edit0.Text := inttostr(tabl[0,0].damegepl1);
edit1.Text := inttostr(tabl[0,0].damegepl2);
edit2.Text := inttostr(tabl[0,0].ustalostpl1);
edit3.Text := inttostr(tabl[0,0].ustalostpl2);
edit4.Text := inttostr(tabl[0,0].dinampl1);
edit5.Text := inttostr(tabl[0,0].dinampl2);
Но так 96 штук не очень хочется прописывать хочется это сделать в цикле.
что то типа:
for i:=0 to 95 do
brgin
edi[i].Text := inttostr(tabl[0,0].damegepl1);
edi[i+1].Text := inttostr(tabl[0,0].damegepl2);
edit[i+2].Text := inttostr(tabl[0,0].ustalostpl1);
edit[i+3].Text := inttostr(tabl[0,0].ustalostpl2);
edit[i+4.Text := inttostr(tabl[0,0].dinampl1);
edit[i+5].Text := inttostr(tabl[0,0].dinampl2);
end;


 
Skier ©   (2003-06-26 13:17) [1]

1) EditsOwner.ComponentCount + EditsOwner.Components[...] +
кастинг
2) TList или TObjectList или их потомки.


 
KILLER_ABV ©   (2003-06-26 13:20) [2]

var i: integer;
begin
for i:=0 to EditsOwner.ComponentCount-1 do
begin
EditsOwner[i].color:=... задаеш свои параметры
end;
end;


 
Skier ©   (2003-06-26 13:23) [3]

>KILLER_ABV © (26.06.03 13:20)
вряд ли будет работать...:)


 
KILLER_ABV ©   (2003-06-26 13:25) [4]

Почему?


 
Skier ©   (2003-06-26 13:26) [5]

>KILLER_ABV © (26.06.03 13:25)
У TComponent-a нет свойства Color :)


 
KILLER_ABV ©   (2003-06-26 13:28) [6]

Я к примеру.


 
hex_for_delphi   (2003-06-26 13:28) [7]

а как будет?? так как вы не работает выдаёт ошибку на EditsOwner.ComponentCount-1 do


 
Михаил МК   (2003-06-26 13:30) [8]

Попробуй так, у меня все работает

for i:=1 to 40 do
begin
radio := nil;
radio:=TRadioButton(FindComponent("RadioButton"+IntToStr(i)));
if radio <> nil then
begin
// Действия
end;
end;


 
KILLER_ABV ©   (2003-06-26 13:31) [9]

for i:=0 to Edit1.ComponentCount - 1 do


 
Skier ©   (2003-06-26 13:31) [10]

>hex_for_delphi (26.06.03 13:28)
У Вас edit-ы на чём лежат, батенька ? Как этот компанент зовут ?
(св-во Name)


 
hex_for_delphi   (2003-06-26 13:39) [11]

Эдиты лежат на форме.


 
Skier ©   (2003-06-26 13:42) [12]

>hex_for_delphi (26.06.03 13:39)


var
ii : Integer;
begin
for ii := 0 to Form1.ComponentCount - 1 do begin
if Form1.Components[ii] is TEdit then begin
with TEdit(Form1.Components[ii]) do begin
//.................
Text := "Hello, world !";
//.................
end; //with
end; //if
end; //for
end;


 
hex_for_delphi   (2003-06-26 13:47) [13]

[Error] Unit1.pas(42): Illegal character in input file: " " ($A0)
- Вот что пишет !


 
Skier ©   (2003-06-26 13:49) [14]

>hex_for_delphi (26.06.03 13:47)
Хватит гадить в форум !


 
KILLER_ABV ©   (2003-06-26 13:50) [15]

>hex_for_delphi (26.06.03 13:47)
Чем тибе не нравится через цыкл?


 
hex_for_delphi   (2003-06-26 13:54) [16]

что за ошибка то ???


 
Skier ©   (2003-06-26 13:56) [17]

ДНК


 
hex_for_delphi   (2003-06-26 13:57) [18]

вс нормально всё работает ок тема закрыта..........


 
hex_for_delphi   (2003-06-26 14:08) [19]

Skier - если всё у тебя сводится к Днк твои проблемы а у меня к неопытности. почемуто когда я сделаю так
var i :integer;
begin
for i := 0 to 4 do
begin
TEdit(Form1.Components[i]).Text:= "Hello, world !";
end;

все нормально а когда

for i :=0 to 30 do
begin

if Form1.Components[i] is TEdit then
begin
TEdit(Form1.Components[i]).Text:= inttostr(tabl[0,0].damegepl1);
TEdit(Form1.Components[i]).Text:= inttostr(tabl[0,0].damegepl2);
TEdit(Form1.Components[i]).Text:= inttostr(tabl[0,0].ustalostpl1);
TEdit(Form1.Components[i]).Text:= inttostr(tabl[0,0].ustalostpl2);
TEdit(Form1.Components[i]).Text:= inttostr(tabl[0,0].dinampl1);
TEdit(Form1.Components[i]).Text:= inttostr(tabl[0,0].dinampl2);
end;


то в if Form1.Components[i] is TEdit then выскакивает ошибка
в строке : if Form1.Components[i] is TEdit then
а ошибка : [Error] Editor.pas(199): Illegal character in input file: " " ($A0)

Так вот обямните нормально в чём дело ?


 
Skier ©   (2003-06-26 14:12) [20]

>hex_for_delphi (26.06.03 14:08)

> если всё у тебя сводится к Днк твои проблемы а у меня к
> неопытности.

http://ln.com.ua/~openxs/articles/smart-questions-ru.html

> Так вот обямните нормально в чём дело ?

Символ ($A0) сотри и будет тебе счастье.


 
hex_for_delphi   (2003-06-26 14:17) [21]

а что за сивол ($A0) ??? Говари более широко .


 
hex_for_delphi   (2003-06-26 14:19) [22]

вс ок пасиба догнал


 
Skier ©   (2003-06-26 14:20) [23]


> а что за сивол ($A0) ??? Говари более широко

1) Выучить русский !
2) При появлении ошибки жать F1 и читать, читать, читать !


 
hex_for_delphi   (2003-06-26 14:20) [24]

вс ок пасиба догнал


 
hex_for_delphi   (2003-06-26 14:27) [25]

Теперь вылелась другая проблема у них числовые значения не савпадают с их именами т.е edit0 не равен TEdit(Form1.Components[0]).Text а мне нужно именно последовательная работа с компанентами .


 
Skier ©   (2003-06-26 14:30) [26]

>hex_for_delphi (26.06.03 14:27)
Один совет (если позволишь) :
-не надо бомбить форум такими вопросами, для этого существуют
книги.


 
hex_for_delphi   (2003-06-26 14:34) [27]

ну ктонить ответит ?


 
hex_for_delphi   (2003-06-26 14:37) [28]

>>hex_for_delphi (26.06.03 14:27)
>Один совет (если позволишь) :
>-не надо бомбить форум такими вопросами, для этого существуют
>книги.
а у кого книг нет для этого сушествуют форумы.


 
Palladin ©   (2003-06-26 15:10) [29]

у кого нет книг нанимают репетитора, но справка есть у всех


 
hex_for_delphi   (2003-06-26 15:28) [30]

Большое спасибо за внимание..



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

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

Наверх




Память: 0.53 MB
Время: 0.021 c
3-31095
SSAlex
2003-06-17 01:34
2003.07.10
Как создать связь между таблицами Paradox?


1-31261
Behemoth
2003-06-26 10:06
2003.07.10
Поможите с модальными формами...


6-31382
Zelius
2003-04-29 17:28
2003.07.10
Можно ли заставить TIdTCPConnection сообщать о приходе данных?


1-31182
АТ
2003-06-28 02:40
2003.07.10
Надо округлить число типа Extended или Real


3-31103
OlegM
2003-06-16 13:59
2003.07.10
Как запросом на Mysql узнать количество таблиц в базе.