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
[68463] Re:Re:판넬에 불켜기 질문입니다!
별다섯개 [] 1244 읽음    2012-11-01 16:53
맞아요..FindComponent를 사용하면됩니다.

String find_name = "";
int ionoff = Edit2->Text.ToIntDef(0);
find_name = "Panel" + Edit1->Text;

if(onoff)
{
   ((TPanel*)(FindComponent(find_name)))->Color = clRed;
}
else
{
    ((TPanel*)(FindComponent(find_name)))->Color = clBlack;
}
kylix 님이 쓰신 글 :
: 델파이식으로... 아래와 같이 하면됩니다. (C코드로 변경하세요.)
:
: m_sPort := TPanel( FindComponent("Panel" + AnsiString(sPort)));
:
: Anmi 님이 쓰신 글 :
: : 안녕하세요!!__  완전 초보입니다...!
: : 기초적인 질문입니다만...
: :
: : 판넬 16개와 Edit 2개를 폼에 그린후에
: :
: : Edit1에는 판넬의 순서를 쓰고 Edit2에는 0과 1을 넣어 버튼을 누르면 해당 판넬에 불이 들어오는 식으로 만들고 싶은데요..
: : __fastcall TForm1::TForm1(TComponent* Owner)
: :     : TForm(Owner)
: : {
: :
: :     AnsiString sPort= "";
: :     AnsiString sValue= "";
: : 
: :     sPort  = Edit1 -> Text ;
: :     sValue = Edit2 -> Text ;
: : }
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: :     AnsiString m_sPort= "";
: :     m_sPort = "Panel" + AnsiString(sPort);
: :
: :     if      (sValue == 1) m_sPort -> Color = clMaroon  ;
: :     else if (sValue == 0) m_sPort -> Color = 0x00D4D4D4;
: : }
: : 당연히 될꺼라고 생각했는데 안되더군요
: : sPort에도 제 값이 안들어오는것 같구요..
: :
: : 마지막 두줄때문에 에러도 뜹니다..
: : Pointer to structure required on left side of -> or * 뭐 이런식이네요....
: :
: : 왜 안되는 걸까요???

+ -

관련 글 리스트
68458 판넬에 불켜기 질문입니다! Anmi 1214 2012/10/31
68461     Re:판넬에 불켜기 질문입니다! kylix 1222 2012/10/31
68463         Re:Re:판넬에 불켜기 질문입니다! 별다섯개 1244 2012/11/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.