|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Суммирование значений Edit
Как сложить значения с 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)
|