Текущий архив: 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.5 MB
Время: 0.008 c