본문 바로가기
반응형

프로그래머의 길157

GetModuleFileName() 현재 실행 디렉토리 얻어오기 #defune MAX_PATH 256 // bOnlyPath가 TRUE이면 로컬패스만 리턴, FALSE이면 로컬패스 + 실행파일명 CString GetProgramPath(BOOL bOnlyPath) { char szBuffer[MAX_PATH]; CString strRet; ::GetModuleFileName(NULL, szBuffer, MAX_PATH); strRet = szBuffer; if (!bOnlyPath) return strRet; // 여기서 리턴하면 Path + 파일명까지 int nIndex = strRet.ReverseFind('\\'); strRet = strRet.Left(nIndex); return strRet; // Path만 리턴 } 2008. 4. 21.
TranslateMessage() 키보드에서 A키를 눌렀다 뗐다고 해 보자. 이 때 발생하는 메시지는 순서대로 WM_KEYDOWN, WM_CHAR, WM_KEYUP 세가지이다. 이 중 WM_CHAR 메시지는 사용자에 의해 발생하는 메시지가 아니다. 키보드로부터 전달되는 메시지는 키를 누를 때 WM_KEYDOWN, 키를 뗄 때 WM_KEYUP 두가지뿐이다. 그럼 WM_CHAR 메시지는 어디서 발생할까? 이 메시지는 WM_KEYDOWN에 의해 추가로 발생하는 메시지이며 메시지 루프에서 인위적으로 생성된다. Key 프로젝트를 연 후 메시지 루프를 다시 보자. while(GetMessage(&Message,0,0,0)) { TranslateMessage(&Message); DispatchMessage(&Message); } GetMessage는.. 2008. 4. 15.
assert() " assert의 비법들 " 1. assert의 기본 - assert 매크로 : 코드 상의 어떠한 가정을 철저하게 점검하기 위한 간단하면서도 부담 없는 방법 - 항상 TRUE가 되어야 하는 조건식을 넣는다. 조건이 FALSE로 평가되면 assert는 문제가 생겼음을 알리는 대화상자를 띄운다. - 프로그램을 방어적으로 만들어 준다. - 디버그 빌드에서는 수행하지만 릴리즈 빌드에서는 assert 매크로가 컴파일되지 않는다. 그러므로 assert 안에서 프로그램의 상태를 변화시켜서는 안된다. #include void VectorNormalize( Vec* src, Vec* dst ) { assert( src != 0 ); assert( dst != 0 ); } 2. assert 비법_1) 더 많은 정보를 집어.. 2008. 4. 15.
PL/SQL (4) - 연산자 연산자 종류 - 대입 연산자 변수 := 값 - 산술 연산자 ** : 지수연산자. 10**5 = 10*10*10*10*10 + - * / : 산술계산 - 비교 연산자 : 반환값은 True / False. = : 대등 연산자 , !=, ~= : 부등 연산자 , = : 범위 비교 LIKE : 패턴일치 연산자 (log% : log로 시작하는 모든 것. log___ : log로 시작하고 log 뒤에가 3자리인 것) BETWEEN a AND b : 지정한 범위(a~b) 사이 IN : 값이 목록내에 있는지 IS NULL : 값이 null인지 조사 [예제1] LIKE 연산자를 사용한 함수 - 함수이기 때문에 RETURN 값을 지정하여야 한다. ******************************************.. 2008. 2. 13.
PL/SQL (3) - 블럭 구조 PL/SQL을 마스터하기 위해서는 블럭 구조와 블럭의 다양한 종류, 블럭의 사용법을 이해하는 것이 필수적이다. Anonymous Block (이름 없는 블럭) - 아무런 이름이 없는 블럭으로 프로시저나 함수, 트리거의 본문을 형성하지 않는 블럭 - 이는 SQL*Plus 스크립트의 일부로 인라인으로 사용될 수 있으며, 오류 처리 목적으로 프로시저와 함수 블럭 내부에 포함될 수도 있다. - DECLARE 라는 예약어를 사용하여 시작하고 다음 예약어인 BEGIN 사이에 변수를 선언한다. - BEGIN 예약어는 블럭의 절차적 부분이 시작된다는 것을 알려준다. 프로그램 코드가 이 부분에 온다. - EXCEPTION 예약어는 블럭에서 예외 처리 코드를 갖는다. ******************************.. 2008. 1. 25.
MessageBox PowerScript 함수 MessageBox PowerScript 함수 [설명]사용자가 명시한 타이틀, 텍스트, 아이콘, 버튼들을 가진 시스템 MessageBox를 나타낸다. [문법]MessageBox ( title, text {, icon {, button {, default } } )  [Argument]title- 메시지 박스의 타이틀 바에 나타낼 타이틀을 명시한 문자열text- 메시지 박스에 나타낼 텍스트. 텍스트는 수치 데이터 타입, 문자열, 또는 논리 값 등이다. icon- (선택사항) 메시지 박스의 좌측에 나타내고자 하는 아이콘을 지시하는   Icon 열거형 데이터 타입의 값:     ·Information! (기본설정 값)     ·StopSign!     ·Exclamation!     ·Question!    .. 2008. 1. 25.
반응형