WAVEFORMATEX m_wfx; ///< 웨이브포멧 int m_nDataSize; ///< 데이타크기 inline int CPSoundFile::GetPlayTime() const { return m_nDataSize / ( m_wfx.nSamplesPerSec / 8 * m_wfx.wBitsPerSample * m_wfx.nChannels ); }
[태그:] VC
출처 : http://blogs.msdn.com/bkchung/archive/2008/01/14/visual-c-2008-feature-pack.aspx
Download details VC++ 2008 Libraries Feature Pack Release
Visual C++ Team Blog Q&A on our TR1 implementation
출시된 Visual Studio 2008에는 MFC의 업그레이드인 MFCNext와 Cpp0x의 새기능들이 포함된 TR1이 포함되지 않고 별도로 배포되는 Visual C++ 2008 Feature Pack에 포함되는데, 이번에 공개되었습니다. 물론 Visual Studio 2008 정식 버젼이 설치되어 있어야 합니다. 위쪽의 첫번째 링크에 있는 새 기능 내용을 살짝 빌리면 다음과 같습니다:
MFCNext:
· 오피스 리본 스타일의 인터페이스
· Office 2007, Office 2003과 Office XP 룩앤필
· Visual Studio 스타일의 도킹 툴바와 Pane
· 커스터마이징이 가능한 툴바와 메뉴
· 다양한 향상된 GUI 컨트롤들
· 향상된 MDI 탭과 그룹
· …
아래와 같이 파일을 생성시에 FILE_FLAG_DELETE_ON_CLOSE 속성을 주게 되는경우 파일 핸들이 닫히게 되면 해당 파일은 시스템에서 삭제가 된다. 또한 이미 존재하는 파일인 경우에는 FILE_SHARE_DELETE 공유 모드로 오픈하여야 한다.
hFile = CreateFile("d:\\MYFILE.TXT", /* create MYFILE.TXT */ GENERIC_WRITE, /* open for writing */ 0, /* do not share */ NULL, /* no security */ CREATE_ALWAYS, /* overwrite existing */ FILE_ATTRIBUTE_NORMAL | /* normal file */ FILE_FLAG_OVERLAPPED | FILE_FLAG_DELETE_ON_CLOSE, NULL);
http://www.devpia.com/Forum/BoardView.aspx?no=7282&ref=7282&page=2&forumname=vc_lec&stype=
- 리소스 라이브러리
앞서의 글에서 이야기한 다국어 리소스 대응 방식으로는, 다국어 리소스가 많아지면 관리하기도 어려워지고, 컴파일되어 나온 출력물이 커지는 단점이 있습니다.
이런 경우 각각의 언어에 대응되는 리소스들을 따로 혹은 몇 개를 묶어서 라이브러리화 하면, 유지보수 하기가 한 결 쉬어 집니다. 때때로 코드페이지의 한계로 같이 편집할 수 없는 언어들도 있습니다. 이런 경우도 분리하셔야 합니다. - 리소스 라이브러리 만드는 방법
1) dll 형식의 프로젝트를 하나 만듭니다. (MFC dll 이 아니어도 상관없습니다.).
2) 원래의 프로젝트에서 resource.h , *.rc, 프로젝트 폴더 안에 있는 RES 폴더를 통째로 복사합니다.
3) 필요한 언어 리소스들의 Copy를 아래 그림처럼 추가하고, 필요 없는 언어의 리소스는 모두
- 다국어 리소스
국내뿐만 아니라 해외에서도 널리 쓰이는 소프트웨어가 되기 위해서는 주체가 누구든지 로컬라이징(Localizing-이하 ‘지역화’)을 해 주든지 과정이 필요합니다.이 때 개발자가 만든 프로그램이 이러한 지역화에 준비되어 있지 않으면, 개발자 뿐만 아니라 많은 사람들이 피곤하게 됩니다. (특히, 개발자만 죽어나는 경향이 있습니다.)그러나, 다국어 리소스에 대한 준비 과정 자체는 상당히 간단하고, 미리 준비만 잘 해놓으면, 오히려 개발자가 일을 분담시킬 수 있습니다.이 글에서는 어떤 방식으로 다국어 리소스를 준비하는 사용하고지에 대해서 살펴 보도록 하겠습니다. - 다국어 리소스 사용 준비
다국어 리소스 사용 준비 과정은 무척 간단합니다.모든 리소스, 특히 문자열 리소스 사용시에 하드코딩을 없애고, 리소스로 따로
Activex를 CAB 파일로 만들때 필요한 inf파일 작성법
http://support.microsoft.com/default.aspx?scid=kb%3Bko%3BKR167158
/* Word Document (*.doc) : {00020906-0000-0000-C000-000000000046} */ static const GUID CLSID_WORD = { 0x00020906, 0x0, 0x0, { 0xC0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x46 }}; /* Excel Worksheet (*.xls) : {00020820-0000-0000-C000-000000000046} */ static const GUID CLSID_EXCEL = { 0x00020820, 0x0, 0x0, { 0xC0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x46 }}; /* PPT Presentation (*.ppt) : {64818D10-4F9B-11CF-86EA-00AA00B929E8} */ static const GUID CLSID_PPT = { 0x64818D10, 0x4F9B, 0x11CF, { 0x86, 0xEA, 0x0, 0xAA, 0x0, 0xB9, 0x29, 0xE8 }}; void IDFileType(BSTR bstrFile) { HRESULT hr = S_OK; IStorage* pStg = NULL; STATSTG ST; char* pszApp; if(NULL == bstrFile) return; /* Open…
char* szName = new char[128];
char* szName = new char[128]; if(!szName) NewFail();
MS VC++6.0 프로젝트를 svn에 넣을 때 ignore (무시) 시킬 파일들 목록
아래의 파일들은 프로젝트를 열거나 컴파일 하면 자동으로 생성되는 파일이므로 svn 에 추가해줄 필요가 없다.
*/Debug */Release *.aps *.ncb *.opt *.plg *.scc *.clw *.positions *. obj *.idb *.res *.pch *.trg *.exp *.tlb *.[Tt]mp *.~* *.[Bb][Aa][Kk] *.tlh *.tli *_i.c *_p.c dlldata.c