Q&A

  • 100개의 TEdit에서 같은 문자열을 가진 에디트 카운팅하기
'묻고답하기' 게시판이 안되서 급한맘에 여기에 올립니다.

폼에요... Edit가 100 개정도 있다구 하면요...
타이머로 한 5초동안 계속 돌려서
Edit.Text 가 '홍길동' 인 Edit가 몇개가 있고 '임꺽정'인 Edit가 몇개가 있는지....등등 이런식으로.....
또 비어있는 Edit가 몇개가 있는지 알고싶은데요..
그래서 그 정보에 따른 수가 총 몇개인지  각각의 Label에 표시를 해주고 싶거든요...


또 하나 질문 할께여..
Panel에 마우스 를 한번 클릭 했을때 ShowMessage창이 뜨게 하고 픈데요..

정말... 급합니다.. 이중에 하나만이래두 아시는 분이 있으시면 하나만이래두 답변을 올려주셨으면 합니다.. 급해서요.....
어떻게 해야되는지... 자세한 설명 좀 부탁드릴께요....
* KDDG_Min님에 의해서 게시물 이동되었습니다 (2002-06-24 11:21)
2  COMMENTS
  • Profile
    박창범 2002.06.24 06:09
    procedure TForm1.Button1Click(Sender: TObject);
    var
      I : Integer;
    begin
      for I := 0 to ComponentCount - 1 do begin
          if (Components[i] is TEdit) then begin
               if  ((Components[i] as TEdit).Text) = '홍길동' then
                   ShowMessage(((Components[i] as TEdit).Text));
         if  Length((Components[i] as TEdit).Text) = 0 then
                 ShowMessage('비어있음')
          end;
      end;
    end;

    대충 이런식으로 하시면 될것 같네요.
    Components 는 TComponent Type 이구요.
    사용방법은 Components[Index : Integer] 이렇게 사용합니다.
    그리고 ComponentCount 는 현재 폼에 있는 총 컴포넌트의 수이므로
    현재 총 컴포넌트 수에서 Type 이 TEdit 인것만 걸러내서
    그곳의 Text 내용을 조사하면 되겠지요..

    프로그램은 수많은 방법이 있습니다...그중에서 저라면 이렇게 하고 싶네요...그럼 수고하세요..

    Ben


    * KDDG_Min님에 의해서 게시물 이동되었습니다 (2002-06-24 11:21)
  • Profile
    박준열 2002.06.24 05:28
    해당 Panel의 Object Inspector에서
    ==>    Event Tab 선택.
       ==>   OnClick 에서  Double Click
    아래와같은 프로시저 생성됨
    procedure TFrmBom.Panel1Click(Sender: TObject);
    begin
         ShowMessage('xxxxxxxxxxxx'); // <== 이렇게 코딩
    end;

    간단한데, 모르면 , ????

    즐겁게 하시면 더 빠르고 쉽게 프로그래밍 하실수 있죠.
    수고하세요.

    나머지 하나는 Component관련 내용인데, 잘 모르겠네요.
    해보고,... 나중에

    * KDDG_Min님에 의해서 게시물 이동되었습니다 (2002-06-24 11:21)