구체적으로 무슨 작업을 하시려는 건지는 몰라도
일반적으로 컴포넌트를 배열처럼 사용하는 방법은 여러가지가 있을 수 있습니다.
(물론 컴포넌트를 배열로 정의한다는 의미는 아닙니다)
콤포넌트를 원하는 배열의 수만큼 생성하고 Name Property를 1번부터 주면서
FindComponent 함수를 이용하여 배열처럼 쓰는 방법이 있을 수 있고,
콤포넌트르ㅣ Tag Property를 1번부터 주면서 배열처럼 이용하는 방법이 있습니다.
후자의 예만 간단히 보여드리면,,,
예)
procedure TForm1.SomeEvent(Sender: TObject);
var
ComIndex : Integer;
begin
for ComIndex := 0 to ComponentCount - 1 do
begin
if Components[ComIndex] is TMemo then
begin
Case TMemo(Components[ComIndex]).Tag of
1 : Panel1.Caption := '1번 메모 처리...';
2 : Panel2.Caption := '2번 메모 처리...';
3 : (FindComponent('Panel' + IntToStr(TMemo(Components[ComIndex]).Tag)) as TPanel).Caption := '3번 메모 처리...';
// FindComponent를 이용한 경우
end;
end;
end;
end;
|