IanMK2 Blog

CFileDialog을 생성 후 DoModal을 하기 전에 

CFileDialog의 m_ofn에 초기 경로명을 설정


fileOpenDlg.m_ofn.lpstrInitialDir = "c:\\디폴트폴더";

Posted by IanMK2

TCHAR path[_MAX_PATH];

GetModuleFileName(NULL, path, sizeof path);

 

CString strPath = path;

int i = strPath.ReverseFind('\\');//실행 파일 이름을 지우기 위해서 왼쪽에 있는 '/'를 찾는다.

strPath = strPath.Left(i);//뒤에 있는 현재 실행 파일 이름을 지운다.

AfxMessageBox(strPath);

 


CFileDialog 생성시


OFN_NOCHANGEDIR <== 이 옵션을 주어서 생성하면 바뀌지 않는다.

 

MFC에선
char CurrentDIR[_MAX_PATH];
 GetCurrentDirectory(_MAX_PATH,CurrentDIR);
으로 간단하게

Posted by IanMK2

함 수 명
 인  자
 결  과
 
PathAddBackslash
 c:\path1
 c:\path1\
  

PathCompactPath
 c:\path1\path2\path3\file.txt
 c:\path1\...\file.txt
 
PathFileExists
 c:\path1\file.txt
 파일의존재유무[T/F]
 
PathFindFileName
 c:\path1\path2\file.txt
 file.txt
 
PathIsDirectory
 c:\path1\path2
 디렉토리유무[T/F]
 

PathRemoveBackslash
 c:\path1\path2\
 c:\path1\path2
 
PathRemoveBlanks
 “ c:\path1\path2 “
 “c:\path1\path2”
 
PathRemoveExtension
 c:\path1\path2\file.txt
 c:\path1\path2\file
 
PathRemoveFileSpec
 c:\path1\path2\file.txt
 c:\path1\path2
 
PathRenameExtension
 c:\path1\path2\file.txt
 c:\path1\path2\file.changed
 
PathStripPath
 c:\path1\path2\file.txt
 file.txt




BOOL PathCompactPath( HDC hDC, LPTSTR lpszPath, UINT dx );

lpszPath에 포함된 경로 문자열을 dx pixel 크기에 출력하기 적절하게 잘라준다.
C:\path1\path2\sample.txt
C:\path1\...\sample.txt
C:\p...\sample.txt




BOOL PathFileExists( LPCTSTR pszPath );

제시된 경로의 파일/폴더가 실제로 존재하는지 검사한다.


LPTSTR PathFindExtension( LPCTSTR pPath );

파일 경로에서 확장자를 찾아준다. (pPath에서 확장자가 시작되는 위치를 반환).


LPTSTR PathFindFileName( LPCTSTR pPath );

파일 경로에서 파일 이름을 찾아준다. (pPath에서 이름이 시작되는 위치를 반환).


BOOL PathFindOnPath( LPTSTR pszFile, LPCTSTR *ppszOtherDirs );

파일을 검색한다. 만약 검색에 성공하면 pszFile에는 해당 파일의 전체 경로가 담겨져서 반환된다.
ppszOtherDirs가 NULL이라면 windows 기본 경로(system32, 환경 변수 path의 값 등)에서 파일을 검색한다.
주의: 여러개의 파일이 존재 하더라도, 첫번째로 검색된 파일의 경로만 반환한다.


BOOL PathIsDirectory( LPCTSTR pszPath );

실제로 존재하는 폴더인지 확인한다.



BOOL PathRelativePathTo( LPTSTR pszPath, LPCTSTR pszFrom, DWORD dwAttrFrom, LPCTSTR pszTo, DWORD dwAttrTo );

pszFrom에서 pszTo로 가는 상대경로를 구해서 pszPath에 담아준다. 당연한 소리지만 pszFrom과 pszTo는 동일한 Prefix에서 시작해야 한다.
TCHAR buffer[MAX_PATH];
BOOL PathRelativePathTo( buffer, "c:/a/b/c/", FILE_ATTRIBUTE_DIRECTORY, "c:/a/1/2/test.txt", FILE_ATTRIBUTE_NORMAL);
buffer = "../../1/2/test.txt";



LPTSTR PathRemoveBackslash( LPTSTR lpszPath );

경로 맨 끝에 back slash(\)가 있다면 지워준다.



void PathRemoveExtension( LPTSTR pszPath );

확장자를 제거한다.



void PathUnquoteSpaces( LPTSTR lpsz );

경로를 둘러싼 큰 따옴표(")를 제거해 준다.
PathUnquoteSpaces("\"c:\temp\"") = c:\temp



int UrlCompare( LPCTSTR pszURL1, LPCTSTR pszURL2, BOOL fIgnoreSlash );

두 URL 문자열을 비교한다. (대소문자 구분 없음)



HRESULT UrlEscape( LPCTSTR pszURL, LPTSTR pszEscaped, LPDWORD pcchEscaped, DWORD dwFlags );

URL로 사용할 수 없는 문자들(^, {, " 등)을 URL encoding된 문자열로 변환해 준다.


HRESULT UrlEscapeSpaces( LPCTSTR pszURL, LPTSTR pszEscaped, LPDWORD pcchEscaped );

URL에 포함된 공백을 escapce처리


HRESULT UrlGetPart( LPCTSTR pszIn, LPTSTR pszOut, LPDWORD pcchOut, DWORD dwPart, DWORD dwFlags );

dwPart값에 따라 URL에서 특정부분을 분리해 준다. (hostname, port...)


BOOL UrlIs( LPCTSTR pszUrl, URLIS UrlIs );

URL이 UrlIs에 제시된 조건(적합한 URL인가? 파일 경로인가? 등)에 맞는 구성인지 확인한

출처 : http://blog.naver.com/aquayo/80049129601

 

Posted by IanMK2



DreamSpark...
작년에 은퇴한 빌게이츠의 "전세계 학생들을 위한 선물"입니다.

다운로드가능한 제품들을 나열하자면

  - Visual Studio 2008 Professional Edition : 전문가용 소프트웨어 개발 도구 (한글버전 제공)
 - Visual Studio 2005 Professional Edition :  전문가용 소프트웨어 개발 도구 (한글버전 제공)
 - Expression Studio 2 :  
   최신 인터랙티브 디자인 도구 세트, 아래의 4개 제품이 포함되어 있습니다. (한글버전 제공)
        - Expression Media :  디지털 자산 관리 도구 
        - Expression Blend :  애플리케이션 제작 디자인 도구
        - Expression Web :  웹사이트 제작 디자인 도구
        - Expression Design :  일러스트 그래픽 디자인 도구
  - Windows Server 2008 Standard Edition :  서버 운영 체제 (한글버전 제공)
 - SQL Server 2008 Developer Edition:  데이터베이스 소프트웨어 (한글버전 제공)
 - CCR & DSS Toolkit 2008 Academic Edition (NEW) :  분산환경 소프트웨어 서비스 제작도구
 - Robotics Developer Studio 2008 (NEW):  로보틱스애플리케이션 개발 도구 
 - XNA Game Studio 3.0 (NEW) : 크로스 플랫폼 게임개발 도구
 - XNA Creators Club 12 Month Trial Subscription : 
   XNA Studio 로 만든 게임을 XBOX360 에 포팅하고 여러자료를 받을 수 있는 유료 멤버십
 이외에도 Express Edition 제품들과 IT Academy Student Pass 온라인 e-learning 코스 포함

이렇게나 많다닛! 쿠오옷

물론 그냥 다운받을수는 없죠.
돈? No
필요한것은 ISIC 국제학생증.(발급하는데 돈이 들긴합니다 -_-;)
뭐 어짜피 한번 발급해두면 유학이든 뭐든 어디선가 써먹을일이 분명 있겠...[퍼퍽]
자세한 인증방법 및 다운로드는 다음 MS사이트에서 알 수 있습니다.
http://www.microsoft.com/korea/msdn/dreamspark/ds_sub03.aspx

대학생이 아닌 고등학생도 가능합니다. 물론 학교를 통해서 신청을 해야하긴 하지만
https://www.dreamspark.com/HighSchool/Default.aspx


한때 세계 제일의 부자였던 빌게이츠.
역시 자산가의 표본이랄까.
번만큼 베푸는 이 마음가짐을 전세계 돈이 썩어 넘처나는 다른 자산가들도 본받았으면 좋겠습니다.
Posted by IanMK2