비주얼 스튜디오 2017 콘솔창대신 다이얼로그창 띄우기 질문있습니다.

201413694의 이미지

<문제상황> 비주얼 스튜디오 2017 버전_소켓프로그래밍_클라이언트 작성 클라이언트와 서버는 1:1로 연결되어 있으며 클라이언트에서 8바이트의 특정 정보를 보내면 서버에서는 149바이트를 보냅니다.(와이어샤크로 확인가능)

클라이언트에서는 149바이트를 받은 후 패킷을 원하는 크기의 바이트만큼 재배열을 합니다.
ex)1바이트의 패킷이 rPos_x 4바이트에 위치하게되며 이것을 십진수로 전환합니다.

십진수로 전환한 값을 출력합니다.

====>이러한 코딩을 통한 출력값을 콘솔대신 다이얼로그로 나타내야합니다.

질문1.힘들게 위에 소스(콘솔으로 나타나는 소스)를 완성했는데 MFC로 프로그래밍을 하려고하니
프로젝트.cpp 프로젝트Dlg.cpp ~.h 등 기존과는 매우 달라서 기껏 완성한 코드를 사용하기가 어렵습니다.

int rPos_x = 0;
rPos_x = (buffs[21] << 24) + (buffs[20] << 16) + (buffs[19] << 8) + (buffs[18]);
printf("상대좌표X vbyte.rPos_x 값:%d\n", rPos_x);
과 같은 방법으로 출력을 만들었는데 간단하게 몇가지만 출력해서 만드는것도 MFC 프로그래밍으로 밖에 안되나요?


2.응용프로그램이 아닌 소스,헤더파일도 같이 다운받았습니다.
지금껏해왔던 소스코드는 repos_프로젝트명_프로젝트 클릭을 통해 소스파일을 열었고 Debug의 응용프로그램으로 실행했습니다.
이번꺼는 프로젝트명_프로젝트에 ~.cpp ~.dsp ~.dsw ~.h 등 다양한데 이것을 어떻게 합쳐서 응용프로그램으로 만드는건가요?

과제를 내주신분이 알려주는건 콘솔대신 다이얼로그로 나타내라고 했을뿐
MFC프로그래밍에 대해 알려주는것이 아무것도 없어서 독학으로 공부하려는데 책을 몇시간쨰 봐도 이해가 안됩니다.

File attachments: 
첨부파일 크기
Image icon 20181002_093147.jpg3.95 MB
shint의 이미지

질문1.
비주얼 스튜디오 2017
1:1
클라이언트에서 8바이트 보내기
서버에서는 149바이트 보내기

클라이언트에서는 149바이트 받기
재배열
1바이트의 패킷이 rPos_x 4바이트에 위치하게되며 이것을 십진수로 전환합니다.

출력값을 콘솔대신 다이얼로그

int rPos_x = 0;
rPos_x = (buffs[21] << 24) + (buffs[20] << 16) + (buffs[19] << 8) + (buffs[18]);
printf("상대좌표X vbyte.rPos_x 값:%d\n", rPos_x);

질문2.
MFC42D.DLL 이(가)없어 프로그램을 시작할 수 없습니다.

질문3.
repos
~.cpp ~.dsp ~.dsw ~.h

//
MFC42D.DLL 은 Visual C++ 6 에서 지원되는 디버그용 DLL 입니다.

//--------------------------
//Visual C++ 6 무료 다운로드
//--------------------------
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=278&MAEULNO=20&no=32454&page=1

.dsw 은 Visual C++ 6.0 을 사용합니다.
.sln 은 Visual C++ 2000 부터 사용할겁니다.

- .RC 리소스 화면에서. 에디트 컨트롤 Edit Control 버튼. 생성 (보통 IDC_EDIT 리소스 아이디가 생성됨)
- .RC 리소스 화면에서. 에디트 컨트롤 Edit Control 버튼. (마우스 우측버튼 -메뉴) 멤버 변수를. m_edit 로. 추가 해줍니다.
- 그러면. MFC 메시지 맵'에. CEdit 컨트롤의 m_edit 클래스 멤버 변수와 리소스 아이디 IDC_EDIT 가. 자동으로 연결 됩니다.

화면 출력은 이렇게 합니다.
CEdit m_edit;
CString str;
str.Format("상대좌표X vbyte.rPos_x 값:%d", rPos_x);
m_edit.SetWindowText(str);

//---------------------------------------
//다이얼로그 윈도우에 메시지를 출력하려면. 아래 예제를 참고해보세요.
//---------------------------------------

Thread: SetWindowText in Edit control
http://forums.codeguru.com/showthread.php?264673-SetWindowText-in-Edit-control

[팁앤테크] MFC 강좌(5 & 6) - CEdit, CButton, CListBox
http://www.tipssoft.com/bulletin/board.php?bo_table=story&wr_id=3581&sca=%C6%C1%BE%D8%C5%D7%C5%A9&page=8

Visual C++ 6 - 네이버 북
https://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=Visual+C%2B%2B+6

Visual Studio - 네이버 북
https://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=Visual+Studio

//-------------------------
//시작 함수 위치가 다릅니다.
//-------------------------
- C/C++ 에 시작함수
main()

- WinAPI 에 시작함수
WinMain()

- MFC Dialog 에 시작함수
OnInitDialog()

//
잘 안되시면. 네이트온 원격 지원 해드립니다. ㅇ_ㅇ;;
shintx@nate.com

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

라스코니의 이미지

Visual C는 단기간에 배워서 성과를 내기 힘듭니다. Qt 나 Embacaderro C++ Builder를 써서 해보시기 바랍니다. Qt 강추합니다.

201413694의 이미지

+답변감사합니다. 추가 질문이 있습니다.
서버,클라이언트 채팅프로그램을 다운로드받았고 이것을 변경해서 사용하고자합니다.

클라이언트에서 send는 특정한 배열(배열크기8)을 전송하고
서버는 이것을 받은후 패킷(16진수)를 보내고
클라이언트에서 recv로 받은후
이것을 4바이트 단위로 십진수로 전환시킨후 다이얼로그로 출력하고자 할때 다음과 같이 할려고합니다.

onsend()에 char buf[200]={0xA0,0x03,0xA0,0x03,0x01,0x01,0x00,0x0E}를 선언
//기존에 채팅프로그램에서는 char buf[200];

onrecvive()에서
CString str;
int rPos_x=0;
rPos_x=(buf[21]<<24)+(buf[20]<<16)+(buf[19]<<8)+(buf[18]);
str.Format("상대좌표X rPos_x의 값:%d",rPos_x);
//기존에 채팅프로그램에서는 m_listReceive 가 마지막 줄이었습니다.

이렇게 코딩한후에 디버깅을 통해 실행했더니 오류코드가 나옵니다.
무슨 문제인가요?

댓글 첨부 파일: 
첨부파일 크기
Image icon 제목 없음.png90.66 KB
Image icon 제목 없음3.png491.61 KB
라스코니의 이미지

오류 코드가 뭔가요?

201413694의 이미지

제목없음3처럼 나타납니다. 700:[입력메시지] 형식을 나타냅니다.

라스코니의 이미지

그것은 오류 메시지가 아닌 것으로 생각됩니다.

shint의 이미지

첨부 파일 내용은 잘 됩니다. ㅇ_ㅇ;;

댓글 첨부 파일: 
첨부파일 크기
Package icon CSocket 연습.zip30.72 KB

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com