struct customer
{
CString name;
CString jumin;
CString address;
CString tel;
};
struct customer buyer[100];
뷰클래스 해더 퍼블릭 부분에 위에 코드 넣어서 사용하려고하는데
만약 위에꺼 제대로 된거면 buyer[0]->name = pmbradd.m_add_name; 가 성립되어야
하는거 아닌지 실제 해보니깐 에러 나더라구 [0]을 지우고 하면은 되고
그리고 mfc에서는 구조체도 thie 포인터를 사용해야하는거야 . 연산자는 안되는거야?
이거 하는 목적이 회원을 구조체로 만들어서 나중에 데이터 검색 쉽게하려고 하는데...
데이터베이스 쓰는거 말고 나중에 파일로 처리할거라서
질문의 요지는 구조체배열을 mfc에서 어떻게 사용해야하는거야?
void CMyView::OnButtonMbrAdd()
{
// TODO: Add your control notification handler code here
if(pmbradd.DoModal() == IDOK)
{
buyer->name = pmbradd.m_add_name;
//buyer->jumin = pmbradd.m_add_jumin;
//buyer->address = pmbradd.m_add_address;
//buyer->tel = pmbradd.m_add_tel;
}
Invalidate();
}
void CMyView::OnDraw(CDC* pDC)
{
// TODO: Add your specialized code here and/or call the base class
pDC->TextOut(100,100,buyer->name);
}
다른건 몰라도 뷰에서 저런건 하지 말자
그리고 구조체를 포인터로 안가리켰으면 .을 써야 하지
뷰에서 해도 되는거 아니야? 책에서 거진 뷰클래스에서 데이터변수를 선언해서 쓰던데 정석은 도큐먼트클래스에서 해야하는거야 횽
구조체를 포인터로 가리키는거는 뭘 말하는거지 횽
CRect같은놈은 뷰에서 주로 쓰니까 해줘도 괜찮겠는데 저런건 데이터 처리잖어? 뷰에다 그런짓을 왜해?
책에서 주로 뷰클래스에다가 처리해서 딱히 상관없는줄알았는데..
자기의 역할만 충실히 하자 뷰는 뷰일 뿐
buyer.name = pmbradd.m_add_name; 이런식으로 해되되는거야 에러나면서 컴파일안되는데 .연산자가
buyer[n].name해줘야지 ㅡㅡ
횽 그러면 도큐에서 데이터 처리를 하면 그데이터를 사용할때는 핸들포인터 선언해서 ->이용해서 사용하면되는거야?
error C2228: left of \'.name\' must have class/struct/union type
넌 구조체나 다시 봐
아 횽 되네 ㅎ 근데 this포인터로 가르키면 buyer[0]->name 을 해도 올바른거야?
횽 근데 doc에서 데이터 처리를 하는거면 추가적으로 다이얼로그형 변수 선언도 doc에서 하는게 좋은거야?