c++
-
C++ 에서 SOAP 사용 후기개발/지름 2013. 11. 17. 16:49
이번 작업에서 C++로 SOAP 연동 작업이 있었음. 기존 SOAP사용하던 인터페이스를 대체하고, 새로운 인터페이스를 넣는 부분이었는데, 생각보다 이것저것 일이 많더라.정리해보면 2가지 문제가 있었다. 1. 기존 코드가 VS6.0 기반이다.2. RPC Call 반환값이 XML이다. 개발 환경 업그레이드의 경우, VS2005이후로, atlServer 관련 라이브러리가 같이 제공되지 않아서, 오픈소스로 된 라이브러리를 빌드하고, 링크하는 방식으로 해결했다. 인터페이스를 땡겨오는 문제는 VS의 빌드 전 이벤트 기능을 사용하는 걸로 해결!( 말로 하면 간단한데, 이게 은근 짜증난다. 자료도 거의 없고 ) 반환값이 XML String인데, 서버에서 DateSet를 리턴해주는 것이었다.간단간단하게 가자고 DOM 파..
-
MFC에서 HASH Class 사용하기개발/지름 2008. 1. 24. 14:10
출처 - CodeProject MD5 // Define a CHash object CHash hashObj; // Set the algorithm hashObj.SetHashAlgorithm(MD5); // Set the operation hashObj.SetHashOperation(STRING_HASH); // Set the string hashObj.SetHashString("String to hash"); // Hash the string CString outHash = hashObj.DoHash(); SHA1 // Define a CHash object CHash hashObj; // Set the algorithm hashObj.SetHashAlgorithm(SHA1); // Set the op..
-
MFC 에디트 컨트롤 배경 투명화하기개발/지름 2007. 12. 24. 17:47
에디트 컨트롤의 배경을 투명하게 만드는 건 쉬운일이 아니다..www.codeguru.com(이하 그루)이나 www.codeproject.com (이하 플젝)에 찾아보면..그나마 플젝 사이트에나 쓸만한거 하나 건질 수 있다.버뜨... 에디트 컨트롤 배경하나 투명하게 만들자고.. 클래스를 자꾸 추가하는건..전혀 입맞에 맞는일이 못된다.작업하다 보면 늘어나는 클래스에 골머리 뽀사지고, 이기능 넣느라 이 클래스 추가하고저 기능 넣느라 저거 추가하고.. ㅜㅜ그냥 다얄로그에 몇줄 추가해서 해결할 방법이 있을까? 당연히 있다.. ㅎㅎ좀 귀찬긴 하지만 원하는 기능을 만드는 즐거움을 어떤것에 비할까..이전의 샘플 sample2.zip 프로젝트를 조금 변화 시켜보았다.배경에 그림을 하나 깔고.. 에디트를 올려서 처리하는 ..
-
MFC에서 CTime 클래스를 이용하여 현재 시간 구하기개발/지름 2007. 12. 20. 19:38
CString CurrentTimeText; CTime CurTime; CurTime = CTime::GetCurrentTime(); // 현재 시스템 시각을 구한다. CurrentTimeText.Format( "현재 날짜 / 시각 : %04d-%02d-%02d / %02d:%02d:%02d", , CurTime.GetYear() , CurTime.GetMonth() , CurTime.GetDay() , CurTime.GetHour() , CurTime.GetMinute() , CurTime.GetSecond() ); 출처 : 폭주기관차의 비망록
-
C++의 다양한 문자열 변환개발/지름 2007. 11. 13. 00:52
GDI+의 문자열 사용에 치를 떨다가 찾아냈다. 놀랍게도 -_-...... msnd온라인에 있었다. (못찾은 내가 바보인가....-_-) 유니코드로 프로그래밍 할때 가장 난적인 캐릭터 변환이다. 앞으로도 잘 쓸 것 같다. Visual C++방법: 다양한 문자열 형식 간 변환 이 항목에서는 다양한 Visual C++ 문자열 형식을 다른 문자열로 변환하는 방법을 보여 줍니다. 여기에서는 char *, wchar_t*, _bstr_t, CComBSTR, CString, basic_string 및 System.String과 같은 문자열 형식을 다룹니다. 모든 경우에서 새 형식으로 변환할 때 문자열의 복사본이 만들어집니다. 새 문자열을 변경해도 원래 문자열에는 영향을 미치지 않으며, 그 반대도 마찬가지입니다. c..
-
Cstring 토큰 분리개발/지름 2007. 11. 10. 20:41
MSDN에는 없는 AfxExtractSubString 함수 -함수원형 BOOL AFXAPI AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = "\n"); -사용법 Param1: 목적 문자열 Param2: 소스 문자열 Param3: 구하고자 하는 부분의 인덱스 Param4: 구분자 CString strSource , strRoot, strFile; strSource = "C:\\Windows\\Temp\\abc.txt"; AfxExtractSubString(strRoot, strSource, 0, "\n"); AfxExtractSubString(strFile, strSource, 3, "\n"..
-
모달리스 대화상자개발/지름 2007. 11. 10. 06:24
1. Modal 과 Modeless Modal은 대화상자가 출력되고 있는 동안 프로그램의 모든 제어권을 독점하고 있어 대화상자가 종료되기전까지 다른 작업을 할 수가 없다. Modeless는 대화상자가 출력되고 있는 동안에도 다른 작업을 할 수가 있다. 2. 대화상자 출력시 차이점 구분 Modal Modeless 생성 DoModal Create 종료 EndDialog DestroyWindow 인스턴스 선언 지역변수 동적할당 - Modeless는 DoModal 함수로 생성된 것이 아니기 때문에 EndDialog를 사용할 수 없다. - IDOK 또는 IDCANCEL 같은 ID를 가진 버튼을 만들지 않는 것이 좋으며 꼭 이 버튼을 추가해야 할 경우에는 OnOK 와 OnCancel 같은 함수를 재정의하고 그 안에..
-
다이얼로그 박스의 시스템메뉴개발/지름 2007. 11. 10. 06:23
다이얼로그 박스의 시스템메뉴 저번에 다이얼로그박스의 시스템메뉴에서 종료를 클릭했을때 Afx_messagebox를 뜨게 하려고 그렇게 노력했었는데,(엄청 기초적인것임에도 불구하고 ;;)엉뚱한데서 삽질만했었다. 그냥 지나가던길에, 구글에서 검색한번하고 하니까 돼더라.(이런 -_-;) Dialog의 메인프레임 소스에서 OnSyscommand를 찾아서, aboutbox가 있다면, if문이 하나 있다. 그 밑에서 else if(nID == SC_CLOSE) 한 다음에 원하는 메세지박스를 넣어주면 끝. .......음....너무 허접한데 ;;