Цитата:
Сообщение от GrabbeR
Цитата:
Сообщение от Alegun
Код:
for i:=1 to 35 do inc(i2, StrToInt((FindComponent('Edit' + IntToStr(i)) as TEdit).Text));
|
При вводе любых чисел результат = 4.
|
Значит у Edit-а в который ты вводишь имя не входит в диапазон 'Edit1'..'Edit35', а ведь именно это было в условии задачи?
Цитата:
Сообщение от GrabbeR
Решил задачу, может кому понадобится. Спасибо за помощь!
Код:
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;
|
Только всех компонентов на форме может быть и не 35 штук, а больше или меньше - тогда получим проблему. И индексируются компоненты не с единицы, а с нуля.
Вот так будет правильно:
Код:
for i := 0 to ComponentCount - 1 do
Осталось только разобраться что означает выражение "сложить значения с 1 по 35 Edit".