|
|||||
- File #1 : Image2201.jpg(), Download : 21 |
°©ÀÚ±â ¹Ù»Û ÀÏÀÌ »ý±â°í ¼³ ¿¬ÈÞ ¶§¹®¿¡ ´ë±¸¿¡ ³»·Á°¬´Ù ¿Í¼ °©ÀÛ½º·¹ ÇÑ 2ÁÖ°£ Çà¹æ ¹¦¿¬(?) µÇ¾ú¾ú½À´Ï´Ù. ´Ù µé Àß °è½Ã´Â °Í °°±º¿ä. Á÷¾÷ÀÌ Á÷¾÷ÀÎÁö¶ó ´ë±¸¿¡ ÀÏÂï ³»·Á°¥ ¼ö ÀÖ¾î¼ ÁÁ±ä Çߴµ¥ º»°¡, ó°¡ µÑ ´Ù ¸ðµÎ ÇÒ¸Ó´Ï ÇҾƹöÁö¸¸ »ç´ÂÁö¶ó ÀÎÅͳÝÀÌ ÀüÇô µÇ¾î ÀÖÁö ¾Ê¾Æ¼ °¨°¨ ¹«¼Ò½ÄÀ̾ú½À´Ï´Ù. °Ô´Ù°¡ Ç㸮 ¾ÆÇÄ º´ÀÌ Àç¹ßÇؼ¸®... ¿¬¶ôÀ» Á¦´ë·Î ÇÒ ¼ö°¡ ¾ø¾ú±º¿ä. Á˼۽º·´°Ô »ý°¢ÇÕ´Ï´Ù. ±×¸®°í ÇöÀç ´ÙÀ½ °ÀÇ´Â ¹«¾ùÀ¸·Î ÇÒÁö °í¹ÎÀ» ÇÏ°í ÀÖ½À´Ï´Ù. ±×·¡¼ °ÀÇ ¼Óµµ°¡ ¿¹Àü¸¸ ¸øÇÒ °Í °°½À´Ï´Ù. °Åµì ¿ë¼¸¦ ºÎŹ µå¸³´Ï´Ù. PC ȯ°æ¿¡¼ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â °æ·Î°¡ ±âº»ÀûÀ¸·Î ¼³Á¤µË´Ï´Ù. ±×·¡¼ ÆÄÀÏÀ» ¿ ¶§ °æ·Î¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ½ÇÇà ÆÄÀÏÀÌ ÀÖ´Â °æ·Î¿¡¼ ÆÄÀÏÀ» ¿µµ·Ï ÇÕ´Ï´Ù. ±×·¯³ª PPC ȯ°æ¿¡¼´Â ÇöÀçÀÇ °æ·Î°¡ ¾Æ´Ñ ½ÃÀÛ °æ·Î()°¡ ±âº»ÀûÀ¸·Î ÁöÁ¤µË´Ï´Ù. ¾Æ¸¶ °æ·Î¶ó´Â °ÍÀ» »ç¿ëÇÏÁö ¾Ê±â À§ÇؼÀÎÁö´Â ¸ð¸£°ÚÁö¸¸, ±×·¡¼ ÀÌÀü °ÀÇ¿¡¼ ±×¸²À» Àбâ À§ÇØ ¿ì¸®´Â Àý´ë °æ·Î¸¦ »ç¿ëÇß¾ú½À´Ï´Ù. ÇÏÁö¸¸ ´ë°³´Â ½ÇÇà ÆÄÀÏÀÌ ÀÖ´Â °æ·Î¿¡¼ ÆÄÀÏÀ» Àоî¾ß ÇÏ´Â °æ¿ì°¡ ´ëºÎºÐÀÔ´Ï´Ù. ÇöÀç ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â °æ·Î¸¦ ±¸ÇÏ´Â °ÍÀ» ±¸ÇöÇØ º¾´Ï´Ù. 1. »õ·Î¿î ÇÁ·ÎÁ§Æ® Exam22¸¦ ¸¸µì´Ï´Ù. ±×¸®°í Hello World¸¦ Ãâ·ÂÇÏ´Â ºÎºÐÀ» »èÁ¦ÇÕ´Ï´Ù. 2. ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ À ºÎºÐ ÇÁ·ÎÅä ŸÀÔ ¼±¾ðºÎ¿¡ ¾Æ·¡¿Í °°ÀÌ BLen ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔÀ» Ãß°¡ÇÕ´Ï´Ù. ±×¸®°í ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ ¾Æ·¡¿¡ BLen ÇÔ¼ö¸¦ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÕ´Ï´Ù. // Forward declarations of functions included in this code module: ...... HWND CreateRpCommandBar(HWND); ¢º int BLen( TCHAR* szBuf ); . . . ¢º int BLen( TCHAR* szBuf ) ¢º { ¢º int n = wcslen( szBuf ); ¢º int i; ¢º int r = 0; ¢º ¢º for( i=0; i<n; i++ ) ¢º if( szBuf[i] < 0 || szBuf[i] > 255 ) ¢º r += 2; ¢º else ¢º r++; ¢º return r+1; ¢º } BLen ÇÔ¼ö´Â À¯´Ï Äڵ带 ¾Æ½ºÅ° ÄÚµå·Î º¯È¯ÇÒ ¶§ À¯´Ï ÄÚµåÀÇ ±æÀ̸¦ ¾Æ½ºÅ° ÄÚµåÀÇ ±æÀÌ·Î °è»êÇØ ÁÖ±â À§ÇÑ ÇÔ¼öÀÔ´Ï´Ù. ¡°°¡³ª´ÙABC ´Â À¯´Ï ÄÚµå·Î´Â ±æÀÌ°¡ 6 ÀÌÁö¸¸ ¾Æ½ºÅ° ÄÚµå·Î´Â ±æÀÌ°¡ 9 °¡ µË´Ï´Ù. ÇÑ±Û ÇÑ ±ÛÀÚ°¡ ¾Æ½ºÅ° Äڵ忡¼´Â ±æÀÌ°¡ 2 °¡ µÇ±â ¶§¹®ÀÔ´Ï´Ù. ±×¸®°í À¯´Ï Äڵ带 ¾Æ½ºÅ° ÄÚµå·Î º¯È¯ÇÏ´Â ÇÔ¼ö wcstombs ÇÔ¼ö´Â ¾Æ½ºÅ° ÄÚµåÀÇ ±æÀ̸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. À¯´Ï ÄÚµåÀÇ ±æÀ̸¦ »ç¿ëÇÒ °æ¿ì °æ·Î¸í¿¡ ÇѱÛÀÌ ÀÖÀ¸¸é ±æÀÌ°¡ Á¦´ë·Î °è»êµÇÁö ¾Ê¾Æ ¹®ÀÚ¿ÀÌ Áß°£¿¡ À߸®°Å³ª ³¡ÀÌ ÁöÁ¤µÇÁö ¾Ê°í ¾²·¹±â °ªÀÌ ³ª¿À°Ô µË´Ï´Ù. À§ Äڵ忡¼ r += 2; °¡ ÇѱÛÀÏ ¶§ ±æÀ̸¦ 2·Î °è»êÇÏ´Â °ÍÀÌ°í, r++; °¡ ¿µ¹®ÀÇ ±æÀ̸¦ °è»êÇÏ´Â °ÍÀÔ´Ï´Ù. Á¦ÀÏ ¸¶Áö¸·¿¡ return ½Ã¿¡ r+1 ÇÏ´Â °ÍÀº Àüü ±æÀÌ¿¡ ¹®ÀÚ¿ÀÇ ³¡À» ³ªÅ¸³»´Â NULL ÄÚµå±îÁö Æ÷ÇÔÇÑ ±æÀ̸¦ °è»êÇϱâ À§ÇؼÀÔ´Ï´Ù. 3. ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ À ºÎºÐ ÇÁ·ÎÅä ŸÀÔ ¼±¾ðºÎ¿¡ ¾Æ·¡¿Í °°ÀÌ GetCurrPath ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔÀ» Ãß°¡ÇÕ´Ï´Ù. ±×¸®°í ÇÁ·Î±×·¥ÀÇ Á¦ÀÏ ¾Æ·¡¿¡ GetCurrPath ÇÔ¼ö¸¦ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÕ´Ï´Ù. // Forward declarations of functions included in this code module: ...... HWND CreateRpCommandBar(HWND); int BLen( TCHAR* szBuf ); ¢º void GetCurrPath( char* sBuf ); . . . ¢º void GetCurrPath( char* sBuf ) ¢º { ¢º TCHAR szStr[MAX_PATH]; ¢º int n; ¢º ¢º GetModuleFileName( NULL, szStr, MAX_PATH ); ¢º wcstombs( sBuf, szStr, BLen(szStr) ); ¢º n = strlen( sBuf ) - 1; ¢º while( sBuf[n] != && n > 0 ) ¢º n--; ¢º sBuf[ n+1 ] = 0; ¢º } GetCurrPath ÇÔ¼ö´Â ÇöÀç ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â °æ·Î¸¦ ±¸ÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù. ÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·Î¸¦ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ ÀÌ °æ·Î¿¡ ÇÊ¿äÇÑ ÆÄÀϸíÀ» ºÙ¿© ½ÇÇà ÆÄÀÏÀÇ °æ·Î¿¡¼ ÆÄÀÏÀ» Àаųª ¾µ ¼ö ÀÖ½À´Ï´Ù. GetModuleFileName( NULL, szStr, MAX_PATH ); ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϸé À¯´Ï ÄÚµå ¹®ÀÚ¿ º¯¼ö szStr ¿¡ ½ÇÇàÆÄÀϸíÀ» Æ÷ÇÔÇÑ °æ·Î°¡ µé¾î°©´Ï´Ù. ¿©±â¼´Â ¡°WindowsStart MenuExam22.exe¡± ¶ó´Â °ªÀ» °¡Áö°Ô µË´Ï´Ù. wcstombs( sBuf, szStr, BLen(szStr) ); ÀÌ °ÍÀº À¯´Ï ÄÚµå ¹®ÀÚ¿À» ¾Æ½ºÅ° ¹®ÀÚ¿·Î º¯È¯ÇÏ´Â °ÍÀÔ´Ï´Ù. ¿ì¸®´Â ±×¸²À» ÀÐÀ» ¶§ fopen ÇÔ¼ö¸¦ »ç¿ëÇߴµ¥ fopen ÇÔ¼ö´Â ¾Æ½ºÅ° ¹®ÀÚ¿·Î ÆÄÀϸíÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¸¸¾à CreateFile °°Àº À¯´Ï Äڵ带 »ç¿ëÇÏ´Â ÇÔ¼ö·Î ÆÄÀÏÀ» ´Ù·ç¸é ÀÌ¿Í °°Àº ÀÛ¾÷ÀÌ ÇÊ¿ä ¾øÀ» °ÍÀÔ´Ï´Ù. ¿©±â¼ BLen À̶ó´Â À¯´Ï ÄÚµåÀÇ ¾Æ½ºÅ°·ÎÀÇ ±æÀ̸¦ ±¸ÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. n = strlen( sBuf ) - 1; while( sBuf[n] != && n > 0 ) n--; sBuf[ n+1 ] = 0; ÀÌ °ÍÀº ÆÄÀϸíÀ» Áö¿ì±â À§ÇÑ ÄÚµåÀÔ´Ï´Ù. nÀ» ¹®ÀÚ¿ÀÇ Á¦ÀÏ ³¡À¸·Î ÁöÁ¤ÇÏ°í ¸¦ ¸¸³¯ ¶§±îÁö ¾ÕÀ¸·Î ¿É´Ï´Ù. ¸¦ ¸¸³ª¸é while ¹®À» Á¾·áÇÏ°í ´ÙÀ½¿¡ ¹®ÀÚ¿ÀÇ ³¡À» ³Ö½À´Ï´Ù. 4. ´Ù¸¥ °ÀÇ¿¡¼ MyTextOut ÇÔ¼ö¸¦ º¹»çÇØ ¿Í¼ ÇÁ·Î±×·¥ÀÇ ³¡¿¡ Ãß°¡ÇÏ°í ÀºÎºÐ¿¡ ÇÁ·ÎÅä ŸÀÔÀ» ¼±¾ðÇØ ÁÝ´Ï´Ù. 5. WndProc ÇÔ¼ö·Î °¡¼ ÇÔ¼öÀÇ ½ÃÀÛ ºÎºÐ º¯¼ö ¼±¾ð ¿µ¿ª¿¡ ¾Æ·¡¿Í °°ÀÌ º¯¼ö¸¦ ¼±¾ðÇØ ÁÝ´Ï´Ù. ¢º char sPath[MAX_PATH]; ¢º TCHAR szBuf[MAX_PATH]; 6. WM_PAINT ¸Þ½ÃÁö ó¸® ºÎºÐÀ» ¾Æ·¡¿Í °°ÀÌ ÀÛ¼ºÇØ ÁÝ´Ï´Ù. case WM_PAINT: hdc = BeginPaint(hWnd, &ps); ¢º GetCurrPath( sPath ); ¢º mbstowcs( szBuf, sPath, strlen(sPath)+1 ); ¢º MyTextOut( hdc, 0, 0, szBuf ); EndPaint(hWnd, &ps); break; GetCurrPath ÇÔ¼ö¸¦ È£ÃâÇؼ ÇöÀç °æ·Î¸¦ ±¸ÇÑ ´ÙÀ½ Ãâ·ÂÀ» À§ÇØ ´Ù½Ã À¯´Ï ÄÚµå·Î º¯È¯(mbstowcs)ÇÕ´Ï´Ù. ±×¸®°í MyTextOut ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ ÇöÀçÀÇ °æ·Î¸¦ ȸ鿡 Ç¥½ÃÇØ º¾´Ï´Ù. 7. ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é ÇöÀçÀÇ °æ·Î°¡ Ãâ·ÂµË´Ï´Ù. ¿¬½À : ÇöÀç °æ·ÎÀÇ ±×¸²À» Àоî ȸ鿡 »Ñ·ÁÁÖ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¸¼¼¿ä. |
| ||
| ||
|
|