Показать сообщение отдельно
  #4  
Старый 06.02.2014, 13:33
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от 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".
Ответить с цитированием