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
[49809] Re:초보인데요 다른 방법으로 처리 하는 방법있는지 알려 주세요 부탁합니다.
장성호 [nasilso] 1092 읽음    2007-07-05 12:30
FindComponent 를 이용하세요

[방안1]

void __fastcall TForm1::Button1Click(TObject *Sender)
{

    String sEdtName="Edit"+EditSel->Text;
    TEdit *edt=(TEdit *)FindComponent(sEdtName);
    if(edt)
    {
        edt->Text=Now().FormatString("yyyy-mm-dd hh:nn:ss");
    }
}
//---------------------------------------------------------------------------


[방안2]
그리고 좀더 빠리게 처리하겠다면
TEdit *EdtLst[50] ; 이런 배열에다가 순서대로 미리 FindComponent  를 통해 다 담아놓고
배열로 접근하는 방법도 있습니다. 메모리가 50*4Byte정도 추가로 더 들겠죠


TEdit *EdtLst[50];

//프로그램 시작할때 미리 찾아서 포인터 배열에 담아둔다.
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    String sEdtName;
    for(int i=0;i<50;i++)
    {
        EdtLst[i]=(TEdit *)FindComponent("Edit"+IntToStr(i+1));
    }
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button2Click(TObject *Sender)
{
    int idx=StrToInt(EditSel->Text);
    if(idx>=0 && idx<50)
    {
        if(EdtLst[idx])EdtLst[idx]->Text=Now().FormatString("yyyy-mm-dd hh:nn:ss");
    }
}

그럼......



초보 님이 쓰신 글 :
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:         if(EditSet->Text== 1)
:         {
:                 Edit1->Text = DateTimeToStr(Now());
:         }
:         else if(EditSet->Text == 2)
:         {
:                 Edit2->Text = DateTimeToStr(Now());
:         }
:         else if(EditSet->Text == 3)
:         {
:                 Edit3->Text = DateTimeToStr(Now());
:         }
:         else if(EditSet->Text == 4)
:         {
:                 Edit4->Text = DateTimeToStr(Now());
:         }
: }
: Edit에 현재 날짜를 보여주는 건데요 텍스트 상자는 Edit1 ~ Edit50 50개 되거든요
:
: 일일이 IF문을 쓰면 너무 길어 져서 다른게 처리 할수 있을가요?
:
: 초보인데요 다른 방법으로 처리 하는 방법있는지 알려 주세요 부탁합니다.

+ -

관련 글 리스트
49806 초보인데요 다른 방법으로 처리 하는 방법있는지 알려 주세요 부탁합니다. 초보 1021 2007/07/05
49809     Re:초보인데요 다른 방법으로 처리 하는 방법있는지 알려 주세요 부탁합니다. 장성호 1092 2007/07/05
49816         Re:Re:답변감사드립니다.덕분에 쉽게 해결 했습니다. ^^(냉무) 초보 938 2007/07/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.