C++로 변경하면
int Loop;
doClearList();
for(Loop = 0 ; Loop< Application->MainForm->ComponentCount ; Loop++)
{
if( dynamic_cast( Application->MainForm->Components[Loop]) != NULL )
ShowMessage( Application->MainForm->Components[Loop]->ClassName() );
}
이렇게 씁니다.
델파이의 IS와 AS를 빌더에선 dynamic_cast로 사용하죠~
공부중 님이 쓰신 글 :
: procedure TfrToolBar.doRefreshList;<- 빌더에선 이걸 함수로 생각 해야 하는지요?
: var
: Loop : Integer;<- 빌더에선 int Loop 나타 내구요
: begin <- {
: doClearList; <- 이건 무엇을 나타내는지 몰르겠습니다.
: /*forLoop = 0 to Loop < Application.MainForm.ComponentCount-1 do begin
:
: ifApplication.MainForm.Components[Loop] is TFom than
: ShowMessage(Application.MainForm.Components[Loop].ClassName);
: end;*/
: /* */ 까지는 포문으로 루프가 0부터 메인폼에서 지원하는 요소의 갯수-1 까지 증가 시키고 만약 이것이 TFom 과 같으면 메인폼에서 지원하는 요소의 갯수 의 이름을 찍으시요 라는 걸로 해석 됩니다.
:
: 빌더에서 소스를 짜면
:
: void __fastcall TfrToolBar::doRefreshList()
: {
: int Loop;
: doClearList();
: for(Loop = 0;Loop< Application->MainForm->ComponentCount;Loop++)
: {
: if(Application->MainForm->Components[Loop] ==() //() 안의 내용을 모르겠습니다
: ShowMessage(Application->MainForm->Components[Loop]->ClassName());
: }
: }
: 이거 아닌지 궁금합니다
|