Q&A

  • Label의 Caption 조작법
10개의 Label이 있는데요...



for i:= 1 to 10 do begin

Label(i).Caption := 어떤값;

end;



Label을 하나씩 바꿔가며 Caption을 바꿀수 있을까요?



5  COMMENTS
  • Profile
    지나가다가... 2001.09.27 03:23
    처음 wrote:

    > 10개의 Label이 있는데요...

    >

    > for i:= 1 to 10 do begin

    > Label(i).Caption := 어떤값;

    > end;

    >

    > Label을 하나씩 바꿔가며 Caption을 바꿀수 있을까요?

    >

    이런식으로....

    아래는 폼에 버튼놓고 Label 올리고.....

    라벨의 캡션에 라벨의 번호가

    찍히도록 한 건데, 원하는 걸로

    바꾸면 될 것같네요..



    procedure TForm1.Button1Click(Sender: TObject);

    var

    Temp : TComponent;

    labelname : string;

    count : integer;

    begin

    for count := ComponentCount-1 downto 0 do begin

    Temp := Components[count];

    if (Temp is TLabel) then begin

    labelname := (Temp as TLabel).name;

    delete(labelname,1,5);

    (Temp as TLabel).caption := labelname;

    end; // if (Temp is TLabel) then begin

    end; // for count := ComponentCount-1 downto 0 do begin

    end;

  • Profile
    처음 2001.09.27 17:43
    적용을 잘할지 모르겠는데...

    참 유용한 방법입니다.

    감사합니다.

    적용 잘해서 알려주신 글의 보답하겠습니다.



    지나가다가... wrote:

    > 처음 wrote:

    > > 10개의 Label이 있는데요...

    > >

    > > for i:= 1 to 10 do begin

    > > Label(i).Caption := 어떤값;

    > > end;

    > >

    > > Label을 하나씩 바꿔가며 Caption을 바꿀수 있을까요?

    > >

    > 이런식으로....

    > 아래는 폼에 버튼놓고 Label 올리고.....

    > 라벨의 캡션에 라벨의 번호가

    > 찍히도록 한 건데, 원하는 걸로

    > 바꾸면 될 것같네요..

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > Temp : TComponent;

    > labelname : string;

    > count : integer;

    > begin

    > for count := ComponentCount-1 downto 0 do begin

    > Temp := Components[count];

    > if (Temp is TLabel) then begin

    > labelname := (Temp as TLabel).name;

    > delete(labelname,1,5);

    > (Temp as TLabel).caption := labelname;

    > end; // if (Temp is TLabel) then begin

    > end; // for count := ComponentCount-1 downto 0 do begin

    > end;

  • Profile
    loke 2001.09.27 01:36
    label 의 tag 속성을 이용하세요





    처음 wrote:

    > 10개의 Label이 있는데요...

    >

    > for i:= 1 to 10 do begin

    > Label(i).Caption := 어떤값;

    > end;

    >

    > Label을 하나씩 바꿔가며 Caption을 바꿀수 있을까요?

    >

  • Profile
    처음 2001.09.27 02:08
    그건 아닌데...

    각 라벨의 Name이 다릅니다.



    원래코딩



    Label1.Caption := '어떤값';

    Label2.Caption := '어떤값';

    Label3.Caption := '어떤값';

    Label4.Caption := '어떤값';

    Label5.Caption := '어떤값';





    다른구현

    for i:= 1 to 10 do begin

    Label(i).Caption := 어떤값;

    end;



    Label을 하나씩 바꿔가며 Caption을 바꿀수 있을까요?



  • Profile
    나그네 2001.09.27 21:19
    FindComponent을 이용해보세요....



    for i:= 1 to 10 do

    begin

    TLabel(FindComponent('Label' + IntTostr(i))).Caption := 어떤값;

    end;







    처음 wrote:

    > 그건 아닌데...

    > 각 라벨의 Name이 다릅니다.

    >

    > 원래코딩

    >

    > Label1.Caption := '어떤값';

    > Label2.Caption := '어떤값';

    > Label3.Caption := '어떤값';

    > Label4.Caption := '어떤값';

    > Label5.Caption := '어떤값';

    >

    >

    > 다른구현

    > for i:= 1 to 10 do begin

    > Label(i).Caption := 어떤값;

    > end;

    >

    > Label을 하나씩 바꿔가며 Caption을 바꿀수 있을까요?

    >