제목붙이기가 매우 애매하군여...쩝..
가령예를들면
procedure TMain.test(k:integer; str:string);
begin
case k of
1:label1.caption:=str;
2:label2.caption:=str;
3:label3.caption:=str;
4:label4.caption:=str;
end;
end;
이런식으로 함수를 만든다고 했을때,
스트링그리드같이 행,열이 변수에의해 일률적으로 들어가준다면
for문등을 이용하여 동적으로 얼마든지 넣어줄수있겟는데
label컴포넌트에는 일관성을 적용할수없어 이렇게 일일히 case문으로
판단하여 하나하나 넣어주여야하지요..
그러면 label이 하나씩 추가될때마다 일일히 case문에 추가시켜서
작성해야되니까... 유연성도없고.. 상당히 불합리해보이는데...
이런부분에서 동적으로 유연하게 처리하는 방법은 없을까요??
조언부탁드립니다..
감사합니다.
> 제목붙이기가 매우 애매하군여...쩝..
>
> 가령예를들면
>
> procedure TMain.test(k:integer; str:string);
> begin
> case k of
> 1:label1.caption:=str;
> 2:label2.caption:=str;
> 3:label3.caption:=str;
> 4:label4.caption:=str;
> end;
> end;
>
> 이런식으로 함수를 만든다고 했을때,
> 스트링그리드같이 행,열이 변수에의해 일률적으로 들어가준다면
> for문등을 이용하여 동적으로 얼마든지 넣어줄수있겟는데
> label컴포넌트에는 일관성을 적용할수없어 이렇게 일일히 case문으로
> 판단하여 하나하나 넣어주여야하지요..
> 그러면 label이 하나씩 추가될때마다 일일히 case문에 추가시켜서
> 작성해야되니까... 유연성도없고.. 상당히 불합리해보이는데...
> 이런부분에서 동적으로 유연하게 처리하는 방법은 없을까요??
> 조언부탁드립니다..
> 감사합니다.
안녕하세요. 까마귀입니다.
먼저 Label 의 이름을 정하고요. 규칙적으로..
예를들어 A1,A2,A3... 등으로요.
그리고, 아래처럼 사용해보세요.
for i := 1 to 15 do
TLabel(FindComponent('A' + IntToStr(i))).Caption := Str;
그러면 될것 같네요.
위대한 단군혼이 살아있는 나라.... 대한민국.