Цитата:
	
	
		| 
			
				 Сообщение от DJ PhoeniX 
				Так и напиши -  
	Код: 
	  for i := 0 to TabSheet1.ComponentCount-1 do
    if TabSheet1.Components[i] is TEdit then
      for j := 63 to 100 do
        if (TabSheet1.Components[i] as TEdit).Name = 'Edit' + IntToStr(j) then
          (TabSheet1.Components[i] as TEdit).Color := clRed; 
 
Или как-то таким же раком... не помню точно...  
			
		 | 
	
	
 
Если я правильно понял то вместо:
	Код:
	Form1.Edit63.color:=clRed;
...
Form1.Edit100.color:=clRed;
 
 
т.е. если всё писать вручную получается 37 действий, а если задавать таким поиском компонентов то он будет перебирать все компоненты (не только edit), сравнивать их с Edit, если его найдёт делать в цикле for 37 прогонов, чтобы присвоить нужному Edit значение, причём если найденный Edit не входит в диапазон 63-100, то получиться 63*37 прогонов со сравнением впустую... хм.. плюс 37*36 прогонов в пустую, если edit входит в диапазон 63-100, и того 3663 лишних действия + проверка НеEdit. хм...
Видимо лучше всё таки прописывать каждый элемент вручную...(((
Если я всё правильно понимаю, то по сути задача присвоения значений в цикле группе одинаковых элементов должна сводится к значительному уменьшению объёма кода, а не к увеличению количества действий...
	Цитата:
	
	
		| 
			
				 Сообщение от dr. F.I.N. 
				
	Код: 
	procedure SetTextToEditByName(EditName, NewText: String);
var
  e: TEdit;
begin
  e := FindComponent(EditName);
  if e <> nil then e.Text := NewText;
end;  
 
Примерно так (по имени). 
Доработать для твоей заачи  - 2 минуты (добавить цикл и что там еще).  
			
		 | 
	
	
 
Здесь можно по подробнее?
я понял что должно быть примерно так:
	Код:
	var
  e: TEdit;
begin
  For i:=63 to 100 do
  begin
  e := FindComponent(Edit+i); 
  if e <> nil then e.Text := NewText;
  end;
end;
 
 
Делфи при таком варианте пишет "несовместимые типы TEdit и TComponent (или Tstring)" забыл уже точно