Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.008 c
14-31505
Кулюкин Олег
2003-06-20 09:56
2003.07.10
Интервьюю при приеме на работу: обсуждение статьи


14-31408
Knight
2003-06-23 16:37
2003.07.10
Ищу... микросхему


14-31425
yu-roman
2003-06-22 03:23
2003.07.10
как сделать инсталяционный файл


3-31124
AlexGreG
2003-06-18 08:27
2003.07.10
... Ах, какие деревья ! ...


14-31500
_0$a_
2003-06-24 02:05
2003.07.10
Как зарядить карточку ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский