Q&A

  • 컴포넌트를 배열로 사용하기?
버튼클릭을 하면 생기는 이벤트입니다.
일단 제가 해보니 에러가 나더군요.
비주얼베이직에선 이런 코딩이 되는데 델파이는
안되는것 같군요.
checkbox(i).Checked처럼 이런 식이 되질 않는것 같아요.
제가 잘못 코딩해서 그러지 모르겠습니다.
델파이 고수님들의 조언 부탁드리겠습니다.

procedure TForm1.Button8Click(Sender: TObject);
var
i : integer ;
context : string;
begin
context := '';
        for i := 1 to 5 do begin
          if checkbox(i).Checked = true then
             context := context + edit(i+1).Text
        end;
label9.Text := context;

end;
2  COMMENTS
  • Profile
    별볼일없는 2002.03.14 06:57
    에디트박스나 체크 박스를 그냥 그렇게 쓰시면 안되구염
    파인드 콤퍼넌트란 명령을 써서 해야합니다.

    밑에 질문에 "너무간단한데..." 이런 질문과 동일하네요 참고 하세요

    지나가다
  • Profile
    악마[영인] 2002.03.14 18:46
    이방법은 현재 폼에있는 컴포넌트들을 다 찾아서..그중에....체크박스를 찾고....그체크박스에서도 tag값으로 분류를 해서 어떤 조건을 실행시키는 겁니다. if Components[nLoop].Tag = 1 then 이부분에서 tag값을 유동적으로변롱시키면 되겠죠..^^
    즐코하세욤      

      for nLoop := 0 to ComponentCount - 1 do
      begin
          if Components[nLoop] is TCheckbox then
          begin
              if Components[nLoop].Tag = 1 then
              begin
                  TCheckbox (Components[nLoop]).Checked := True;
                   break;
               end;
            end;
       end;