C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[10163] Re:[질문]상당히 난해한... 9개의 EditBox
kark .김성진 [] 1293 읽음    2001-08-22 11:06
령아님 안녕하세요..

저같은 경우는 이렇게 처리하는데, 참고하시기 바랍니다.


Edit 9개를 폼위에 올려 놓구요, 버튼 하나를 만든다음

다음과 같이 코딩하세요..(비어있는 Edit가 있어야 겠죠..^^)

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   unsigned short Comc;
   TClass ClassRef;

   for(Comc=0;Comc<ComponentCount-1;Comc++)
   {
      ClassRef = Components[Comc]->ClassType();

      if(String(ClassRef->ClassName())=="TEdit")
      {
          if(dynamic_cast<TEdit *>(Components[Comc])->Text == "")
             ShowMessage( dynamic_cast<TEdit *>(Components[Comc])->Name + " is empty!!");
      }
   }
}

ComponentCount 는 현재 객체(this)의 컴포넌트 갯수를 들고 있구요,

각 컴포넌트의 ClassType을 미리 선언해둔 ClassRef에 대입합니다.

TClass 는 class-reference 형인데요..TMetaClass* TClass 이렇게 선언되어 있습니다.

class-reference 형은 애기하자면 좀 길어 질것 같구, 그냥 객체보다는 클래스 자체로서

다루고 싶을때 사용하신다는 정도만 아시면 될 것 같네요..

클래스종류가 TEdit라면 이녀석을 TEdit로 dynamic_cast해서 일반 컴포넌트 쓰듯이

처리하면 된답니다..

도움이 되었길..



령아~!♡ 님이 쓰신 글 :
:
:  안녕하세요...
:
:  일단..개박살.U&I 님과 최보현.U&I 님의 답변에 감사드리구요...
:
:  이번에는 어떤 문제가 있는것이 아니라...
:
:  궁금증인데요...
:
:  9개의 에디트 박스가 있습니다...
:
:  그리고 이름은.. EditBox1,EditBox2......EditBox9
:
:  이런식으로 되어있구요...
:
:  그렇다면...
:
:  9개의 EditBox가 비어있는 항목이 있는지 없는지를 확인하고 싶은데요...
:
:  만약 if 문을 쓰게 되면, 9개의 if 문이 필요하구요...
:
:  생각해보니.. name 이 EditBox까지는 똑같구...뒤의 숫자만 다르다 는것이지요..
:
:  그래서 do,while 문으로 비어있지 않으면 돈다...는 조건을 주고,
:
:  'while 문 안에 뒷부분의 숫자만 바꾸는 부분을 만들어주면 되지 않을까?' 하는 생각을 했지요.
:
:  물론 실패 했습니다.
:
:  그래서 질문은...
:
:  꼭 이방법이 아니더라두...
:
:  콤포넌트의 이름을 바꾸어주면서 비교하는 문을 만들수는 없는가 하는거지요...
:
:  질문이 이해가 되실런지...
:
:  제가 워낙 허접한 말재주라...
:
:  그럼 여기까지..허접한 질문이었습니다...답변 부탁 드릴게요.~

+ -

관련 글 리스트
10160 [질문]상당히 난해한... 9개의 EditBox 령아~!♡ 877 2001/08/22
10168     Re:[질문]상당히 난해한... 9개의 EditBox f90x 849 2001/08/22
10171         Re:Re:[질문]상당히 난해한... 9개의 EditBox 령아~!♡ 859 2001/08/22
10163     Re:[질문]상당히 난해한... 9개의 EditBox kark .김성진 1293 2001/08/22
10167         감사합니다. 노력하겠습니다. 령아~!♡ 804 2001/08/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.