Называем компоненты откуда брать: EditIN1....EditINn
Компоненты куда положить:EditOUT1_1, EditOUT1_2,..., EditOUT1_N,.., EditOUTN_M
Тогда процедура обработчик всего этого будет выглядеть примерно так:
Код:
procedure TSomeForm.CalcValues(index,count:integer);
var
edit:TEdit;
in_value:integer;
i:integer;
begin
edit:=FindComponent(Format('EditIN%d',[index])) as TEdit;
if edit=nil then
Exit; //not found
in_value:=StrToIntDef(edit.Text,0);
for i:=1 to count do
begin
edit:=FindComponent(Format('EditOUT%d_%d',[index,i])) as TEdit;
if edit=nil then
continue; //not found
edit.Text:=IntToStr(in_value+i);
end;
end;
Значение берется из одного эдита и, после некоторой обработки, выкладывается в несколько других эдитов.
Код надуман, приведен здесь только с целью показать как обращаться к компонентам по имени.