![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Как сложить значения с 1 по 35 Edit? Делаю так, но результат 0. Запутался.
Код:
var i, i2 : Integer; begin i2 := 0; for i:=1 to 35 do if Components[i] is TEdit then i2:=i2 + StrToInt(TEdit(Components[i]).text); Label1.Caption:=intToStr(i2); end; |
|
#2
|
||||
|
||||
|
Можно ещё и так
Код:
...
for i:=1 to 35 do inc(i2, StrToInt((FindComponent('Edit' + IntToStr(i)) as TEdit).Text));
...З.Ы. Или ваш вариант, но только счетчик компонентов начинается с нуля, т.е. надо for i:=0 to 35 Последний раз редактировалось Alegun, 06.02.2014 в 06:20. |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
GrabbeR (07.02.2014)
| ||
|
#3
|
|||
|
|||
|
Цитата:
Код:
var i, i2 : Integer; begin i2 := 0; for i:=1 to 35 do if Components[i] is TEdit then Inc(i2, StrToIntDef(TEdit(Components[i]).text, 0)); Label1.Caption:=intToStr(i2); end; |
|
#4
|
||||
|
||||
|
Цитата:
Цитата:
Вот так будет правильно: Код:
for i := 0 to ComponentCount - 1 do |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
GrabbeR (07.02.2014)
| ||
|
#5
|
|||
|
|||
|
Вывожу значения Text из Edit'ов. Как сложить значения в сумму?
|
|
#6
|
||||
|
||||
|
Цитата:
|
|
#7
|
|||
|
|||
|
Решил. Вот, может кому понадобится. Спасибо всем за помощь и наводки!
Код:
var
i, q : Integer;
s : String;
begin
q := 0;
for i := 0 to 34 do
begin
s := TEdit(FindComponent('Edit' + IntToStr(i + 1))).Text;
q := q + StrToIntDef(s, 0);
end;
Label1.Caption := IntToStr(q);
end; |
|
#8
|
||||
|
||||
|
Много лишних преобразований, строчка из второго поста полностью рабочая, проверял, лишь замените StrToInt на StrToIntDef раз вам такое не подходит
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
GrabbeR (07.02.2014)
| ||