="X0"&REPT("0",3-LEN(DEC2HEX(ROW(A1)))) & DEC2HEX(ROW(A1))

 

참고용임…

/* =-=-=-=-=-=-=-=-=-=-=-=-=-= Window Messages =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/

#define WM_NULL           0x0000
#define WM_CREATE                   0x0001
#define WM_DESTROY                  0x0002
#define WM_MOVE                     0x0003
#define WM_SIZE                     0x0005
#define WM_ACTIVATE                 0x0006

/* WM_ACTIVATE state values */
#define     WA_INACTIVE             0
#define     WA_ACTIVE               1
#define     WA_CLICKACTIVE          2

#define WM_SETFOCUS                 0x0007
#define WM_KILLFOCUS                0x0008
#define WM_ENABLE                   0x000A
#define WM_SETREDRAW                0x000B
#define WM_SETTEXT                  0x000C
#define WM_GETTEXT                  0x000D
#define WM_GETTEXTLENGTH            0x000E
#define WM_PAINT                    0x000F
#define WM_CLOSE                    0x0010
#define WM_QUERYENDSESSION         0x0011
#define WM_QUIT                     0x0012
#define WM_QUERYOPEN                0x0013
#define WM_ERASEBKGND               0x0014
#define WM_SYSCOLORCHANGE          0x0015
#define WM_ENDSESSION               0x0016
#define WM_SHOWWINDOW               0x0018
#define WM_WININICHANGE             0x001A
#if(WINVER >= 0x0400)
#define WM_SETTINGCHANGE        WM_WININICHANGE
#endif /* WINVER >= 0x0400 */

#define WM_DEVMODECHANGE          0x001B
#define WM_ACTIVATEAPP              0x001C
#define WM_FONTCHANGE               0x001D
#define WM_TIMECHANGE               0x001E
#define WM_CANCELMODE               0x001F
#define WM_SETCURSOR                0x0020
#define WM_MOUSEACTIVATE           0x0021
#define WM_CHILDACTIVATE            0x0022
#define WM_QUEUESYNC                0x0023

#define WM_GETMINMAXINFO            0x0024
// end_r_winuser

// begin_r_winuser
#define WM_PAINTICON             0x0026
#define WM_ICONERASEBKGND      0x0027
#define WM_NEXTDLGCTL               0x0028
#define WM_SPOOLERSTATUS           0x002A
#define WM_DRAWITEM                 0x002B
#define WM_MEASUREITEM              0x002C
#define WM_DELETEITEM               0x002D
#define WM_VKEYTOITEM               0x002E
#define WM_CHARTOITEM               0x002F
#define WM_SETFONT                  0x0030
#define WM_GETFONT                  0x0031
#define WM_SETHOTKEY                0x0032
#define WM_GETHOTKEY                0x0033
#define WM_QUERYDRAGICON            0x0037
#define WM_COMPAREITEM              0x0039
#if(WINVER >= 0x0500)
#define WM_GETOBJECT             0x003D
#endif /* WINVER >= 0x0500 */
#define WM_COMPACTING            0x0041
#define WM_COMMNOTIFY             0x0044  /* no longer suported */
#define WM_WINDOWPOSCHANGING   0x0046
#define WM_WINDOWPOSCHANGED    0x0047

#define WM_POWER                 0x0048
/*
* wParam for WM_POWER window message and DRV_POWER driver notification
*/
#define PWR_OK                   1
#define PWR_FAIL                 (-1)
#define PWR_SUSPENDREQUEST      1
#define PWR_SUSPENDRESUME       2
#define PWR_CRITICALRESUME       3

#define WM_COPYDATA              0x004A
#define WM_CANCELJOURNAL         0x004B
// end_r_winuser

// begin_r_winuser
#if(WINVER >= 0x0400)
#define WM_NOTIFY                0x004E
#define WM_INPUTLANGCHANGEREQUEST  0x0050
#define WM_INPUTLANGCHANGE      0x0051
#define WM_TCARD                    0x0052
#define WM_HELP                     0x0053
#define WM_USERCHANGED            0x0054
#define WM_NOTIFYFORMAT           0x0055

#define NFR_ANSI                    1
#define NFR_UNICODE                 2
#define NF_QUERY                    3
#define NF_REQUERY                  4

#define WM_CONTEXTMENU              0x007B
#define WM_STYLECHANGING            0x007C
#define WM_STYLECHANGED             0x007D
#define WM_DISPLAYCHANGE            0x007E
#define WM_GETICON                  0x007F
#define WM_SETICON                  0x0080
#endif /* WINVER >= 0x0400 */

#define WM_NCCREATE                 0x0081
#define WM_NCDESTROY               0x0082
#define WM_NCCALCSIZE              0x0083
#define WM_NCHITTEST                0x0084
#define WM_NCPAINT                  0x0085
#define WM_NCACTIVATE              0x0086
#define WM_GETDLGCODE             0x0087
#define WM_SYNCPAINT                0x0088
#define WM_NCMOUSEMOVE          0x00A0
#define WM_NCLBUTTONDOWN       0x00A1
#define WM_NCLBUTTONUP           0x00A2
#define WM_NCLBUTTONDBLCLK          0x00A3
#define WM_NCRBUTTONDOWN            0x00A4
#define WM_NCRBUTTONUP              0x00A5
#define WM_NCRBUTTONDBLCLK    0x00A6
#define WM_NCMBUTTONDOWN      0x00A7
#define WM_NCMBUTTONUP          0x00A8
#define WM_NCMBUTTONDBLCLK    0x00A9

#define WM_KEYFIRST                0x0100
#define WM_KEYDOWN                  0x0100
#define WM_KEYUP                    0x0101
#define WM_CHAR                     0x0102
#define WM_DEADCHAR                 0x0103
#define WM_SYSKEYDOWN              0x0104
#define WM_SYSKEYUP                 0x0105
#define WM_SYSCHAR                  0x0106
#define WM_SYSDEADCHAR             0x0107
#define WM_KEYLAST                  0x0108

#if(WINVER >= 0x0400)
#define WM_IME_STARTCOMPOSITION  0x010D
#define WM_IME_ENDCOMPOSITION      0x010E
#define WM_IME_COMPOSITION          0x010F
#define WM_IME_KEYLAST              0x010F
#endif /* WINVER >= 0x0400 */

#define WM_INITDIALOG               0x0110
#define WM_COMMAND                  0x0111
#define WM_SYSCOMMAND              0x0112
#define WM_TIMER                    0x0113
#define WM_HSCROLL                  0x0114
#define WM_VSCROLL                  0x0115
#define WM_INITMENU                 0x0116
#define WM_INITMENUPOPUP            0x0117
#define WM_MENUSELECT               0x011F
#define WM_MENUCHAR                 0x0120
#define WM_ENTERIDLE                0x0121
#if(WINVER >= 0x0500)
#define WM_MENURBUTTONUP          0x0122
#define WM_MENUDRAG                 0x0123
#define WM_MENUGETOBJECT          0x0124
#define WM_UNINITMENUPOPUP        0x0125
#define WM_MENUCOMMAND            0x0126
#endif /* WINVER >= 0x0500 */

#define WM_CTLCOLORMSGBOX        0x0132
#define WM_CTLCOLOREDIT             0x0133
#define WM_CTLCOLORLISTBOX        0x0134
#define WM_CTLCOLORBTN              0x0135
#define WM_CTLCOLORDLG              0x0136
#define WM_CTLCOLORSCROLLBAR    0x0137
#define WM_CTLCOLORSTATIC          0x0138

#define WM_MOUSEFIRST               0x0200
#define WM_MOUSEMOVE                0x0200
#define WM_LBUTTONDOWN              0x0201
#define WM_LBUTTONUP                0x0202
#define WM_LBUTTONDBLCLK            0x0203
#define WM_RBUTTONDOWN              0x0204
#define WM_RBUTTONUP                0x0205
#define WM_RBUTTONDBLCLK            0x0206
#define WM_MBUTTONDOWN              0x0207
#define WM_MBUTTONUP                0x0208
#define WM_MBUTTONDBLCLK            0x0209

#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
#define WM_MOUSEWHEEL              0x020A
#define WM_MOUSELAST                0x020A
#else
#define WM_MOUSELAST                0x0209
#endif /* if (_WIN32_WINNT < 0x0400) */

#if(_WIN32_WINNT >= 0x0400)
#define WHEEL_DELTA              120     /* Value for rolling one detent */
#endif /* _WIN32_WINNT >= 0x0400 */
#if(_WIN32_WINNT >= 0x0400)
#define WHEEL_PAGESCROLL            (UINT_MAX) /* Scroll one page */
#endif /* _WIN32_WINNT >= 0x0400 */

#define WM_PARENTNOTIFY          0x0210
#define WM_ENTERMENULOOP         0x0211
#define WM_EXITMENULOOP          0x0212

#if(WINVER >= 0x0400)
#define WM_NEXTMENU              0x0213
// end_r_winuser

MFC에서 다이얼로그를 띄운뒤에 VCL에서 하듯이..
if(AAA)
{
    delete AAA;
    AAA = NULL;
}
로 처리하면 다음과 같은 경고 메시지가 발생한다..

Warning: calling DestroyWindow in CDialog::~CDialog --
 OnDestroy or PostNcDestroy in derived class will not be called.

이럴때는 한가지 작업을 더해주어야만 한다..

정상 종료 시키고 메모리에서 없애주도록 하자...
 if(AAA != NULL)
{
    (AAA)->DestroyWindow();
    delete (AAA); 
    (AAA) = NULL;
}

[원문] http://support.microsoft.com/kb/158552/en-us/
          http://support.microsoft.com/kb/158552/ko

CPropertySheet::DoModal() 또는 CPropertySheet::Create() 호출하면 예외가 발생할 수 있습니다.
현상
CPropertySheet::DoModal()
또는 CPropertySheet::Create() 호출하면 예외가 발생할 수 있습니다.
출력 창에 다음 메시지가 표시됩니다.
<program.exe> (Comctl32.dll) 에서 첫 번째 예외가: 0xC0000005: 액세스 위반.
예상되는 예외와 운영 체제에 의해 처리됩니다. 이 경우에만 이러한 방법 중 하나를 호출하면 처음 발생하여 호출에서는 이 첫 번째 예외가 생성되지 않습니다.

원인
CommCtl32.dll 해당 페이지에 대한 리소스를 수정하는 시도합니다. 읽기 전용 섹션에 리소스가 일반적으로 때문에 운영 체제에서 발견되었습니다 첫 번째 기회가 예외를 throw합니다. 운영 체제에서 이 예외를 처리하는 및 리소스를 쓸 수 있도록 모든 다음 정상적으로 완료됩니다. 이 첫 번째 예외가 않고 모든 후속 호출을 완료하려면 리소스를 쓰기 이제 때문에

해결방법
첫 번째 예외가 안전하게 운영 체제에 의해 처리되기 때문에 무시해도 됩니다.

예외를 방지하려면 다음 방법 중 하나를 사용하십시오.
  • 방법 1 : 읽기/쓰기 리소스를 만들기. 다음과 같이 설정을 링커 추가하여 이렇게 할 수 있습니다:
    /SECTION:.rsrc,rw
  • 방법 2 : MS Sans 않습니다 페이지의 글꼴 변경. MFC는 페이지의 대화 템플릿 글꼴을 확인합니다. MS Sans 않으면 MFC 읽기/쓰기 메모리 리소스 복사본을 만들어 및 다음 글꼴을 수정하고 C mCtl32.dll 전달합니다. DLL 페이지 서식 파일에 쓸 때 메모리 읽기 쓰기 기록합니다. Therfore, 예외가 throw될 수 없습니다.
  • 방법 3 : try/catch(...) 블록을 속성 시트를 만드는 호출이 없는 함. 대신, catch 블록에 특정 예외 catch 합니다.
속성 시트를 서버의 OLE 자동화 서버의 메서드를 통해 호출한 일부이면, 읽기/쓰기 OLE 예외를 catch 때문에 처음 두 방법 중 하나를 사용하여 리소스를 확인하십시오.

참고 읽기/쓰기 리소스를 변경할 때 리소스는 페이지 파일에 쓸 수 있습니다.

현재상태
이 동작은 의도적으로입니다.

예제
   /* Compile options needed: default
   */

   /***** this code will cause unpredictable results *****/
   try
   {
       sheet.DoModal();
   }
   catch(...)
   {
   }

   /***** this code is OK *****/
   try
   {
       if (0 == sheet.DoModal())
           throw "DoModal() failed!";
   }
   catch(char * str)
   {
       TRACE ("Exception thrown: %s\n", str);
   }
 
참조
자세한, Microsoft 기술 자료에 있는 문서를 보려면 다음 문서 번호를 클릭하십시오.
126630  (http://support.microsoft.com/kb/126630/ ) 읽기 전용 리소스 섹션이 있습니다.


본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Foundation Class Library 4.2 을(를) 다음과 함께 사용했을 때
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 4.1 Subscription
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
    • Microsoft Visual C++ .NET 2002 Standard Edition
    • Microsoft Visual C++ .NET 2003 Standard Edition

이전에 만들었던 Code Generator의 일부 버그 수정

Ver 1.2.0.0
- 2차원 배열일때의 줄넘김 문제
- 일부 텍스트 변경
- 버튼을 아이콘 버튼으로 변경



정발위에도 모드칩 없이도 홈브류가 가능하다...

아래 블로그를 보고 내 WII에도 가능할 듯 싶어서 해 보았다.. 결과는 OK
(이전에도 나왔으나.. 그때 했을때는 실패ㅠㅠ .......
 정발은 안 되는가 싶었따... ㅠㅠ
까먹고 있다가 심심해서 검색해 본 결과 된다고 해서... 다시 시도~~)

HomeBrew가 모드칩 없이도 가능하다는것이다.. 물론 맨 아래쪽에 있는 IOS를 변경해야만 했다.
몇가지를 해 본 결과 가능했다.. 후후...
이제 위에서도 프로그래밍을 해볼수가 있겠군....


[관련 블로그]

정발위에도 홈브류 세계의 문이 열리게 된거 같습니다.  http://britzw.tistory.com/128

P.S


 


 

'1.소프트웨어 이야기 > 09.ETC' 카테고리의 다른 글

엑셀에서 16진후 변환 하는 함수 - 참고용  (0) 2009.08.28
Window 7 사용기  (0) 2009.05.08
mmTimer 사용  (0) 2009.02.09
자주 사용하는 프로그램 설치 결과..

프로그램 설치 및 실행 결과 (프로그램 명 / 설치 / 사용 / 비고)




AnsiString 메소드 정리

* AnsiCompare
현재 문자열과 파라미터로 지정한 문자열의 크기를 비교하여 결과를 되돌려 줍니다.
이때 파라미터로 지정된 문자열은 AnsiString 문자열과 비교하여 AnsiString 문자열보다 크면 0보다 큰수를 반환하고, 작을경우에는 0보다 작은수를 , 같으면 0을 반환합니다.
원형
 int __fastcall AnsiCompare(const AnsiString & rhs) const;

Ex 
AnsiString strCompare = "AAA";
int nReturn;
nReturn = strCompare.AnsiCompare("BBB");
if (nReturn > 0) ShowMessage("값이 큽니다.\n");
else if (nReturn > 0) ShowMessage("값이 작습니다.\n");
else  ShowMessage("값이 같습니다.\n");      

Result
값이 작습니다.


...............

[참고] http://bcbjournal.org/articles/vol1/9708/An_AnsiString_class_reference.htm
아래 부분 참고...

+ Recent posts