티스토리 툴바


posted by 얼음손 2008/03/19 15:58

친구의 부탁으로... 인맥정보관리라는 - 용도가 쫌 의심되는 - 정체불명의 프로그램을 만들고 있습니다.
기본적으로 MFC에 DB없이 파일에다가 쓰고 읽고 하고 있죠.

사용자 삽입 이미지

프로그램 실행화면


현재는 제작중이므로, 프로그램 가동시에 파일을 읽어와서 deque에 저장한 후에, 화면 하단의 검색버튼을 누르면 각각의 컨트롤에 연결된 변수에 값을 넣어줍니다. 그리고 UpdateData로 화면에 정보를 보여줍니다.

흠, 현재 화면상의 TextBox 컨트롤에 공백이 있으면 저장버튼을 누를경우 아래와 같은 에러메시지를 출력합니다.

사용자 삽입 이미지

에러메시지



문제는 화면 상단의 SWOT라는 버튼을 누르면 아래와 같은 Dialog가 하나 더 뜨면서, 추가 정보를 입력하는데,
처음 프로그램을 실행하고, 검색버튼을 눌러서 정보를 확인한 후에, 아무정보나 바꾼후에 저장버튼을 누르면, 위와같은 공백이 있는 TextBox가 있다는 메시지가 뜨는겁니다.
사용자 삽입 이미지


공백체크를 하는 코드는 아래와 같습니다.
 if( !m_strSex.GetLength() || !m_strAge.GetLength() || !m_strAddress.GetLength() || !m_strSchool.GetLength() ||  !m_strName.GetLength() || !m_strSparetime1.GetLength() || !m_strSparetime1.GetLength() || !m_strHP.GetLength() ||  !m_strPhone.GetLength()|| !m_strHome.GetLength() || !m_strLocate.GetLength() || !m_strMeetday.GetLength() ||
  !m_strMeetPlace.GetLength() || !m_strWhyMeet.GetLength() || !m_strFamily.GetLength() || !m_strFclose.GetLength() ||  !m_strMento.GetLength() || !m_strUni.GetLength() || !m_strMajor.GetLength() || !m_strGrade.GetLength() || !m_strTab2_1.GetLength() ||  !m_strTab2_2.GetLength() || !m_strTab2_3.GetLength() || !m_strTab8.GetLength() || !m_strTab9.GetLength() || !m_strTab12.GetLength() ||  !m_strEdit30.GetLength() || !m_strEdit31.GetLength() || !m_strEdit32.GetLength() || !dlg.m_strO.GetLength() || !dlg.m_strT.GetLength() ||  !dlg.m_strS.GetLength() || !dlg.m_strSO.GetLength() || !dlg.m_strST.GetLength() || !dlg.m_strW.GetLength() || !dlg.m_strWO.GetLength() ||
  !dlg.m_strWT.GetLength() )
 {
  MessageBox( "빈 문항이 존재합니다! 다시 확인해주세요.", "저장할 수 없습니다." );
  return 1;
 }

그저 TextBox컨트롤의 문자열 길이를 체크합니다. 하나라도 0을 반환하면 에러메시지를 띄우죠.

그래서 어느 TextBox컨트롤이 공백인가 해서 확인했더니, SWOT에 있는 8개의 Textbox에서 모두 0이 나오더군요. 그러나 SWOT버튼을 눌러서 Dialog를 보면 값은 분명 들어가 있습니다.

여기서 더 주목하게 되는것은, SWOT Dialog를 띄웠을때 OK버튼을 누르고 저장을 하면 문자열 길이를 제대로 반환하는 겁니다. Cancel을 누르면 어전히 0을 반환하구요.
이것참, 왜 이런건지 ㄷㄷ.

프로그래밍을 안하는 기간이 길어질수록 점점 버그에 대한 대처능력이 떨어지는것 같습니다. ㅜㅜ


이 내용을 포스팅 하면서 생각이 드는건... Visual studio에서 바로 프로그래밍 관련 포스팅을 면하게 할 수 있는 툴이 있으면 좋겠네요. ㅎ 스크린 캡쳐하면서 글쓰기가 귀찮아~