Q&A

  • 컨트롤의 이름(string) 으로 그 개체를 찾을수 없나요??
델파이 요즘 배우고 있는 초보입니다..

비베하다가 요즘 프로젝트가 델파이라서 하구 있는데 적응 어렵네요..

그래서 여기서 많은분들의 도움 얻구있습니다.. 그리구 질문하나..



만약 한개체의 name 을 알구있을때 그 개체를 화면에 표시할려구 하구있습니다.

label1.. labe10 처럼 10개가 화면에 있을때..



만약 버튼을 눌렀을때 그때의 값에 따라 label1~ label10 중의 하나의 caption 값을

바꿀려구 합니다..(버튼눌렀을때 바꿀려는 label 은 지정되어있지않구 값에 해당하는

label 을 선택하구 싶습니다.)



button_click

var aaa: string;

begin

aaa := 'label' + inttostr(bbb); // bbb 값은 1~10 사이

TLabel(aaa).caption := '선택'; // 요기서 에러남

end;



근데 aaa 자리엔 class 가 와야하기땜시 string 으로 하니깐 안되네요..

어떻게 방법이 없나요??

for 문으로 contlos 게체를 모두 찾지안훅 한번에 찾을수 있는방법은??

즉 찾을려구 하는 개체의 이름(string)을 알때 한번에 찾을수 있는방법 없을까요??



1  COMMENTS
  • Profile
    지나가다 2000.11.29 04:19
    물론 찾을 수 있지요...

    만일 찾고자 하는 컨트롤이 이름이 'AAA'인 TLabel이라면

    TLabel(FindComponent('AAA')) 이러케 찾으면 됩니다.

    FindComponent(str:String)은 TComponent를 반환하니깐 찾을 컨트롤의 종류에 따라

    형변환해서 사용하심 되겠네요..

    스트링 str에는 컨트롤의 이름을 써넣으심 .. ^^

    정용식 wrote:

    > 델파이 요즘 배우고 있는 초보입니다..

    > 비베하다가 요즘 프로젝트가 델파이라서 하구 있는데 적응 어렵네요..

    > 그래서 여기서 많은분들의 도움 얻구있습니다.. 그리구 질문하나..

    >

    > 만약 한개체의 name 을 알구있을때 그 개체를 화면에 표시할려구 하구있습니다.

    > label1.. labe10 처럼 10개가 화면에 있을때..

    >

    > 만약 버튼을 눌렀을때 그때의 값에 따라 label1~ label10 중의 하나의 caption 값을

    > 바꿀려구 합니다..(버튼눌렀을때 바꿀려는 label 은 지정되어있지않구 값에 해당하는

    > label 을 선택하구 싶습니다.)

    >

    > button_click

    > var aaa: string;

    > begin

    > aaa := 'label' + inttostr(bbb); // bbb 값은 1~10 사이

    > TLabel(aaa).caption := '선택'; // 요기서 에러남

    > end;

    >

    > 근데 aaa 자리엔 class 가 와야하기땜시 string 으로 하니깐 안되네요..

    > 어떻게 방법이 없나요??

    > for 문으로 contlos 게체를 모두 찾지안훅 한번에 찾을수 있는방법은??

    > 즉 찾을려구 하는 개체의 이름(string)을 알때 한번에 찾을수 있는방법 없을까요??

    >