
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50


목차
Ⅰ. 서 론 - 설계과제 ……………………………………………………… 3
제 1 절 코드에 대한 간략한 설명………………………………………… 3
제 2 절 설계 방향 및 고려사항…………………………………………… 3
제 3 절 설계 과제의 세부내용 …………………………………………… 4
Ⅱ. 본 론 - 과제수행 ………………………………………………………… 5
제 1 장 과제 수행계획표 및 회의록 ……………………………………… 5
제 1 절 과제수행계획표 …………………………………………………… 5
제 2 절 회의록 ……………………………………………………………… 6
제 2 장 프로그램 설계방안 …………………………………………… ……16
제 1 절 프로그램의 개략적인 구성도 ……………………………………16
제 2 절 데이터의 구조화 …………………………………………………16
제 3 절 기반이 되는 실행 프로그램 ………………………………………16
제 3 장 MFC의 정의 및 기능 ………………………………………………… 17
제 1 절 MFC의 정의 …………………………………………………………17
제 2 절 MFC의 구조 및 기능 ………………………………………………18
제 4 장 프로그램의 설계 …………………………………………………… 28
제 1 절 프로그램의 개요 …………………………………………………28
제 2 절 프로그램 구동화면을 통한 세부기능 소개 ……………………29
제 3 절 데이터베이스의 구조 ……………………………………………31
제 4 절 각 세부기능 구현 설명 …………………………………………32
Ⅲ. 결 론 ……………………………………………………………………45
제 1 절 프로그램 사용설명서 ……………………………………………45
제 2 절 과제 수행 계획 평가 ……………………………………………48
제 3 절 프로그램 제작 후 느낀점 ………………………………………49
제 1 절 코드에 대한 간략한 설명………………………………………… 3
제 2 절 설계 방향 및 고려사항…………………………………………… 3
제 3 절 설계 과제의 세부내용 …………………………………………… 4
Ⅱ. 본 론 - 과제수행 ………………………………………………………… 5
제 1 장 과제 수행계획표 및 회의록 ……………………………………… 5
제 1 절 과제수행계획표 …………………………………………………… 5
제 2 절 회의록 ……………………………………………………………… 6
제 2 장 프로그램 설계방안 …………………………………………… ……16
제 1 절 프로그램의 개략적인 구성도 ……………………………………16
제 2 절 데이터의 구조화 …………………………………………………16
제 3 절 기반이 되는 실행 프로그램 ………………………………………16
제 3 장 MFC의 정의 및 기능 ………………………………………………… 17
제 1 절 MFC의 정의 …………………………………………………………17
제 2 절 MFC의 구조 및 기능 ………………………………………………18
제 4 장 프로그램의 설계 …………………………………………………… 28
제 1 절 프로그램의 개요 …………………………………………………28
제 2 절 프로그램 구동화면을 통한 세부기능 소개 ……………………29
제 3 절 데이터베이스의 구조 ……………………………………………31
제 4 절 각 세부기능 구현 설명 …………………………………………32
Ⅲ. 결 론 ……………………………………………………………………45
제 1 절 프로그램 사용설명서 ……………………………………………45
제 2 절 과제 수행 계획 평가 ……………………………………………48
제 3 절 프로그램 제작 후 느낀점 ………………………………………49
본문내용
] 등으로 표현하고 저장을 할 수 있는 반면 CString 함수는 더 많은 기능을 제공한다.
④ OnInitalDialog : 대화상자
⑤ CString temp : 문자열 저장 임시 변수
- 26 -
⑥ MFC 데이터베이스 - 레코드 삽입, 삭제, 검색, 수정시에 사용하는 코드
CRecordset :: MoveFirst() -데이터베이스의 맨 처음 레코드로 이동CRecordset :: MoveLast() -데이터베이스의 맨 마지막 레코드로 이동CRecordset :: MoveNext() 데이터베이스의 다음 레코드로 이동CRecordset :: MovePrev() 데이터베이스의 이전 래코드로 이동
CRecordset :: IsBOF() 데이터베이스의 처음인가를 알고자 할때CRecordset :: IsEOF() 데이터베이스의 마지막인가를 알고자 할때
CRecordset :: AddNew() 데이터베이스에 새로운 레코드를 설정할 때CRecordset :: Delete() 현재 설정된 레코드를 살제할 때CRecordset :: Edit() 현재 레코드를 수정할 수 있는 상태로 놓을 때CRecordset :: Open() 데이터베이스를 연다.CRecordset :: Close() 데이터베이스를 닫는다.
CRecordset :: m_strFilter SQL문을 이용한 필터 만들기CRecordset :: m_strSort 데이터 레코드를 특정 방식으로 sortingCRecordset :: Update 현재 레코드를 데이터베이스에 업데이트한다
CRecordset :: GetRecordCount() - 레코드의개수를 가져옴.
* 레코드 삽입
void CDAOview::OnRecordAdd{ m_pSet->MoveLast(); // 가장 끝으로 이동. m_pSet->AddNew(); // 새로운 레코드를 생성. UpdateData(TRUE); //컨트롤의 값을 가져옴. m_pSet->Update();// 새로 생성된 레코드에 값을 업데이트시킴. m_pSet->MoveFirst(); //레코드의 처음으로 이동.}
* 레코드삭제
void CDAOView::OnRecordDataDelete(){ m_pSet->Delete(); // 현재의 레코드를 삭제
m_pSet->Requery();//데이터베이스 갱신 UpdateData(FALSE); // 갱신된 내용을 다시 컨트롤로 얻어옴.}
* 레코드 수정
void CDAOView::OnRecordDataModify(){
- 27 - m_pSet->Edit();// 레코드를 수정 가능하도록설정.
UpdateData(TRUE);// 에디트 상자에서 수정된 데이터를 멤버변수에 업데이트
m_pSet->Update(); // 멤버변수의 내용을 레코드에 업데이트
m_pSet->Requery();//데이터베이스 갱신 m_pSet->MoveFirst(); //레코드의 처음으로 이동.UpdateData(FALSE); // 갱신된 내용을 다시 컨트롤로 얻어옴.}
* 레코드 검색
m_pSet->Close(); m_pSet->m_strFilter= 검색식; //SQL의 where문 m_pSet->Open();
(예) m_pSet->m_strFilter.Format (“Name = \'%s\' and Age = %d\", rhs2, rhs );
만약 검색식을 취소하고 모든 레코드를 다 검색하고자 한다면 m_strFilter에 “ “, 즉 널 스트링을 대입해 주면 된다.
m_pSet->m_strFilter= 검색식;
m_pSet->Requery();
3) MFC로 프로그램을 만들었을 때 장점
① 프로그램 개발 시간을 크게 단축시켜 줌으로써 기존의 Win32 API를 이용한 프로그램 제작할 때, 개발자 스스로가 도맡아 해오던 수많은 실행 함수에 대한 코딩의 번거로음을 개선해 주었다.
② ActiveX,OLE,ODBC 등의 다양한 인터페이스의 기본 제공으로 손쉬운 프로그래밍을 가능케 했다.
제 4 장 프로그램의 설계
제 1 절. 프로그램의 개요
레시피를 일목요연하게 관리할 수 있는 윈도우용 프로그램이다. MFC를 이용하여 제작 되었으며 프로그램은 대화상자 기반 프로그램이며, 데이터베이스는 Microsoft의 Access로 만들어진 mdb파일로 관리된다. MFC와 데이터베이스간의 통신은 ODBC를 이용한다.
- 28 -
제 2 절. 프로그램 구동화면을 통한 세부기능 소개
1) 메인 대화상자 내부의 각 컨트롤의 역할
- 프로그램 메인 대화상자 -
- 레시피 목록
자료의 계층구조를 알기쉽게 표현할 수 있는 Tree Control.
레시피의 카테고리 및 레시피 내용의 목록을 출력하는 역할을 한다.
- 검색창
텍스트를 입력받을 수 있는 Edit Control.
검색창에 입력된 텍스트를 통해 레시피의 내용에 포함되는 문자열을 검색할 수 있게 한다.
- 검색버튼 Button
검색창으로 입력받은 텍스트를 포함하는 레시피가 있는지 검색한 후 이들을 1의 레시피 목록에 출 력하는 역할을 한다.
- 제외 검색 Button
검색창으로 입력받은 텍스트를 포함하지 않는 모든 레시피를 검색한 후 이들을 1의 레시피 목록에 출력하는 역할을 한다.
- 검색 취소 Button
검색을 취소하고 모든 레시피 목록을 1에 출력하는 역할을 한다.
- 29 -
- 카테고리
여러 데이터를 선택할 수 있는 Combo Box 레시피 목록에서 선택된 레시피의 카테고리 정보를 출력 해준다.
- 제목
텍스트를 입력받을 수 있는 Edit Control 레시피 목록에서 선택된 레시피의 제목 정보를 출력해준다.
- 내용
텍스트를 입력받을 수 있는 Edit Control 레시피 목록에서 선택된 레시피의 내용을 출력해준다.
- 새 글 작성 Button
새로운 대화상자를 띄워 새 레시피를 입력할 수 있게 해준다.
- 카테고리 편집 Button
새로운 대화상자를 띄워 새 레시피를 입력할 수 있게 해준다.
- 수정 Button
메인 대화상자에서 즉시 수정할 수 있게 해준다.
- 삭제 Button
메인 대화상자에서 즉시 삭제할 수 있게 해준다.
2) 아래 대화상자 내부의 컨트롤 기능
- 새 글 작성 버튼을 눌렀을
④ OnInitalDialog : 대화상자
⑤ CString temp : 문자열 저장 임시 변수
- 26 -
⑥ MFC 데이터베이스 - 레코드 삽입, 삭제, 검색, 수정시에 사용하는 코드
CRecordset :: MoveFirst() -데이터베이스의 맨 처음 레코드로 이동CRecordset :: MoveLast() -데이터베이스의 맨 마지막 레코드로 이동CRecordset :: MoveNext() 데이터베이스의 다음 레코드로 이동CRecordset :: MovePrev() 데이터베이스의 이전 래코드로 이동
CRecordset :: IsBOF() 데이터베이스의 처음인가를 알고자 할때CRecordset :: IsEOF() 데이터베이스의 마지막인가를 알고자 할때
CRecordset :: AddNew() 데이터베이스에 새로운 레코드를 설정할 때CRecordset :: Delete() 현재 설정된 레코드를 살제할 때CRecordset :: Edit() 현재 레코드를 수정할 수 있는 상태로 놓을 때CRecordset :: Open() 데이터베이스를 연다.CRecordset :: Close() 데이터베이스를 닫는다.
CRecordset :: m_strFilter SQL문을 이용한 필터 만들기CRecordset :: m_strSort 데이터 레코드를 특정 방식으로 sortingCRecordset :: Update 현재 레코드를 데이터베이스에 업데이트한다
CRecordset :: GetRecordCount() - 레코드의개수를 가져옴.
* 레코드 삽입
void CDAOview::OnRecordAdd{ m_pSet->MoveLast(); // 가장 끝으로 이동. m_pSet->AddNew(); // 새로운 레코드를 생성. UpdateData(TRUE); //컨트롤의 값을 가져옴. m_pSet->Update();// 새로 생성된 레코드에 값을 업데이트시킴. m_pSet->MoveFirst(); //레코드의 처음으로 이동.}
* 레코드삭제
void CDAOView::OnRecordDataDelete(){ m_pSet->Delete(); // 현재의 레코드를 삭제
m_pSet->Requery();//데이터베이스 갱신 UpdateData(FALSE); // 갱신된 내용을 다시 컨트롤로 얻어옴.}
* 레코드 수정
void CDAOView::OnRecordDataModify(){
- 27 - m_pSet->Edit();// 레코드를 수정 가능하도록설정.
UpdateData(TRUE);// 에디트 상자에서 수정된 데이터를 멤버변수에 업데이트
m_pSet->Update(); // 멤버변수의 내용을 레코드에 업데이트
m_pSet->Requery();//데이터베이스 갱신 m_pSet->MoveFirst(); //레코드의 처음으로 이동.UpdateData(FALSE); // 갱신된 내용을 다시 컨트롤로 얻어옴.}
* 레코드 검색
m_pSet->Close(); m_pSet->m_strFilter= 검색식; //SQL의 where문 m_pSet->Open();
(예) m_pSet->m_strFilter.Format (“Name = \'%s\' and Age = %d\", rhs2, rhs );
만약 검색식을 취소하고 모든 레코드를 다 검색하고자 한다면 m_strFilter에 “ “, 즉 널 스트링을 대입해 주면 된다.
m_pSet->m_strFilter= 검색식;
m_pSet->Requery();
3) MFC로 프로그램을 만들었을 때 장점
① 프로그램 개발 시간을 크게 단축시켜 줌으로써 기존의 Win32 API를 이용한 프로그램 제작할 때, 개발자 스스로가 도맡아 해오던 수많은 실행 함수에 대한 코딩의 번거로음을 개선해 주었다.
② ActiveX,OLE,ODBC 등의 다양한 인터페이스의 기본 제공으로 손쉬운 프로그래밍을 가능케 했다.
제 4 장 프로그램의 설계
제 1 절. 프로그램의 개요
레시피를 일목요연하게 관리할 수 있는 윈도우용 프로그램이다. MFC를 이용하여 제작 되었으며 프로그램은 대화상자 기반 프로그램이며, 데이터베이스는 Microsoft의 Access로 만들어진 mdb파일로 관리된다. MFC와 데이터베이스간의 통신은 ODBC를 이용한다.
- 28 -
제 2 절. 프로그램 구동화면을 통한 세부기능 소개
1) 메인 대화상자 내부의 각 컨트롤의 역할
- 프로그램 메인 대화상자 -
- 레시피 목록
자료의 계층구조를 알기쉽게 표현할 수 있는 Tree Control.
레시피의 카테고리 및 레시피 내용의 목록을 출력하는 역할을 한다.
- 검색창
텍스트를 입력받을 수 있는 Edit Control.
검색창에 입력된 텍스트를 통해 레시피의 내용에 포함되는 문자열을 검색할 수 있게 한다.
- 검색버튼 Button
검색창으로 입력받은 텍스트를 포함하는 레시피가 있는지 검색한 후 이들을 1의 레시피 목록에 출 력하는 역할을 한다.
- 제외 검색 Button
검색창으로 입력받은 텍스트를 포함하지 않는 모든 레시피를 검색한 후 이들을 1의 레시피 목록에 출력하는 역할을 한다.
- 검색 취소 Button
검색을 취소하고 모든 레시피 목록을 1에 출력하는 역할을 한다.
- 29 -
- 카테고리
여러 데이터를 선택할 수 있는 Combo Box 레시피 목록에서 선택된 레시피의 카테고리 정보를 출력 해준다.
- 제목
텍스트를 입력받을 수 있는 Edit Control 레시피 목록에서 선택된 레시피의 제목 정보를 출력해준다.
- 내용
텍스트를 입력받을 수 있는 Edit Control 레시피 목록에서 선택된 레시피의 내용을 출력해준다.
- 새 글 작성 Button
새로운 대화상자를 띄워 새 레시피를 입력할 수 있게 해준다.
- 카테고리 편집 Button
새로운 대화상자를 띄워 새 레시피를 입력할 수 있게 해준다.
- 수정 Button
메인 대화상자에서 즉시 수정할 수 있게 해준다.
- 삭제 Button
메인 대화상자에서 즉시 삭제할 수 있게 해준다.
2) 아래 대화상자 내부의 컨트롤 기능
- 새 글 작성 버튼을 눌렀을
소개글