Class와 include의 차이점
 
1. class로 선언하는 것은 파일을 포함하지 않고, 해당 파일을 사용할 것이라는 선언만 해준다.
   Include로 선언하는 것은 해당파일을 그대로 복사해서 포함시킨다.
 
2. class로 선언하는 경우, 파일이 중복포함되는 것을 방지해준다.
   (include가 한번이상 되는 것을 방지)
 
3. 2번과 같은 이유로 인하여, 컴파일 시간이 현저하게 줄어들 수 있다.
   (쓸데없이 똑 같은 파일을 한번이상 컴파일 하지 않으므로)
 
4. 사용시, 객체를 선언하려면 반드시 include를 해주어야 한다. 왜냐면, 해당 객체를 크기를 알아야 하기 때문이다. 포인터로 선언하려면 class를 사용해주면 된다. 대신 cpp파일에서 해당파일을 include해준다.
 
5. 선언이 미처 끝나지 않은 두 클래스간의 상호참조는 class를 사용한다. 



dlg.h


CNewDlg* pDlg;


dlg.cpp


OnInitDialog{

...

pDlg = new CNewDlg();

pDlg->Create(IDD_DIALOG_ID);

...

}


새로운 창을 뛰울 버튼 클릭함수{

...

pDlg->ShowWindow(SW_SHOW);

...

}



NewDlg.cpp


새로운 창을 닫을 버튼 클릭 함수{

...

pDlg->ShowWindow(SW_HIDE);

...

}






/////////


새로운 다이얼로그를 닫는 과정에서 죽어버려서 방법을 바꿈.


초기에 만들어 놓고 보였다, 안보였다 하는 방식이다.

어느날 다이얼로그만 구성해서 디버깅하는데 실행조차 안돼는 것이다.


 The program '[4308] SerialInputDemo.exe: Native' has exited with code 0 (0x0).


뭘까 해서 한참 삽질하다보니 , 원인은 rich edit 2.0  이놈.


이놈을 사용하기 위해서는 AfxInitRichEdit();  혹은 AfxInitRichEdit2(); 을 써줘야한다


둘의 차이점은 모르겠지만,,, InitInstance()에 넣어주니 깔끔히 실행되는 것을 확인!




CDP_MP3_BASIC.exe



설명을 하면서 만들어야되는데

귀찮아서 일단 막 만들어버렸다..


다음엔 만드는 방법을 설명해보겠다...


























Monday, February 04, 2008

숫자 진법 변환기입니다. 아래의 색깔 있는 입력 칸들 중의 아무 칸에나 해당되는 진법의 정수 숫자를 입력하면, 즉시 다른 진법으로 자동 변환됩니다. 진법의 중요도 순으로, 10진수, 16진수, 2진수, 8진수를 지원합니다. 프로그래밍 등에서 16진수가 많이 사용되고, 비트 연산 등에서는 2진수도 사용됩니다. 8진수는 별로 사용되지 않는 진법입니다.


10진수:   Dec
16진수:   Hex
 2진수:   Bin
 8진수:   Oct

  문자:  ASCII / Unicode Char


메시지: 


그 숫자에 해당하는 문자 코드의 문자 1개도 출력됩니다. 예를 들어 10진수 65를 입력하면, 대문자 A가 출력됩니다. 대문자 A의 아스키 코드가 10진수로 65번이기 때문입니다. 거꾸로, "문자" 입력 칸에 A를 입력하면 각각의 숫자 칸들에 10진수 65에 해당하는 숫자들이 출력됩니다. 한글은 아스키 코드가 아닌, 유니코드로 처리됩니다. 예를 들어, 한글 낱자 의 유니코드 번호는 16진수 헥사로 AC00 입니다.

색깔 있는 입력 칸들의 우측 끝에 있는 하얀 칸들은, 그 숫자들의 자릿수를 표시합니다. 예를 들어 2진수 11111111 은 8개의 숫자로 되어 있기에 8로 나옵니다.

위의 계산기는 입력한 숫자들을 "부호 없는 32비트 정수 (unsigned int)"로 간주합니다. unsigned int의 최대값은 10진수로 4294967295이고, 16진수로는 FFFFFFFF입니다. 2진수로는
11111111111111111111111111111111
입니다. 따라서 이보다 더 큰 숫자를 입력하면 정밀도를 잃을 수 있습니다.

주의: 음수(Negative Number)는, 위의 계산기로 변환할 수 없습니다.




목표: 
       CD/ MP3 플레이어를 스왑형식으로 만든다.
       재생, 정지, 일시정지, 앞곡, 뒷곡, 랜덤, 반복 기능
       리스트 곡 목록 확인 할 수 있도록.

CD의 재생관련된 제어를 담당할 클래스.
MP3파일의 재생관련된 제어를 담당할 클래스.

ListControl에 재생될 곡들을 담당할 클래스.


이 세개의 클래스를 만들어 사용.


라이브러리는 MCI 를 사용할 것이다.


VBA 의 BeforeSave 이벤트를 이용한 함수 변경

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("C4").Value = Date
End Sub

위 코드를 VBA (alt + f11) 을 누른후 왼쪽 목록에 Microsoft Excel 개체-> ThisWorkbook 에 넣어주시면 됩니다.
C4 는 날짜가 들어갈 셀 영역입니다. 



+ Recent posts