Q&A

  • 컴퍼넌트 질문입니다.
컴퍼넌트Name을 배열로 만들수 있나요?
2  COMMENTS
  • Profile
    구창민 2007.11.27 23:19
    안녕하세요..
    컴포넌트 이름들을 배열에 스트링으로 넣어두시고
    FindComponent 로 찾으시면 사용은 가능합니다...

    예를들면..
    var
      MyComponent : TComponent;
      ComponentName: array [0..10] of string;
    begin
      ComponentName[0] := 'Panel1';
      ComponentName[1] := 'Edit1';
      MyComponent := FindComponent(ComponentName[0]);
      if MyComponent is TPanel then
        TPanel(MyComponent).Color := clBlue;
      MyComponent := FindComponent(ComponentName[1]);
      if MyComponent is TEdit then
        TEdit(MyComponent).Text := '우왕ㅋ굳ㅋ';
    end;


    뭐..이런식으로 가능하겠지요.. 근데 이게 ..의도하신게 이게 맞나요 ㅎㅎ:...

    그럼.. 즐거운 프로그래밍 하세요..



  • Profile
    이정욱 2007.11.25 16:23
    컴포넌트 이름은 배열로 만들 수 없습니다.

    단, 컴포넌트는 배열로 만들거나 사용할 수 있습니다.

    예를들면..

    Buttons : Array[0..9] of TButtons;

    로 선언하고,

    Buttons[i] := TButton.Create(self);

    또는 이미 폼위에 있는 컴포넌트라면,

    Buttons[i] := Buttons1; (Button1 이 TButton일 경우)

    이런식으로 생성 또는 연결 후 Buttons[i] 로 엑세스가 가능합니다.