TODAY : / TOTAL :

Trash

[API] Semaphore (세마포어)

CreateSemaphore ( 보안설정(NULL), InitalCount (초기 갯수), MaximumCount (최대 갯수), 세마포어 지정 이름 ); * WaitForSingleObject 함수에 세마포어 핸들을 넘겨주면, 세마포어에 지정된 정수값(InitalCount) 을 1 감소시킨다. ( 0 일 경우 대기하게 됨. ) * ReleaseSemaphore 를 이용하여, 사용이 끝난 세마포어의 Count 값을 증가시켜주고, 0 이라 대기중이였던 세마포어에게 제어권을 넘겨줌. * 세마포어 객체가 사라지는 시점 : 발급해준 모든 핸들을 CloseHandle() 함수를 통해 반환받게 되면 세마포어 객체 소멸. ( 세마포어는 임계영역과 달리 O.S 에서 생성되는 객체이므로, 하나의 프로세스에만 사용되지 않..

[Java] 래퍼런스 타입

instanceof 연산자 - 캐스팅 가능여부를 확인 Ex ) if(Obj1 instanceof 권총) 발사하다(권총); else 발사하다(미사일); . . .. 열거 타입 enum Alphabet {a,b,c,d....} - C언어 방식과 동일 - Alphabet se = Alphabet.a; :: se 에 a 가 들어감. se에는 하나의 Alphabet 자료가 들어감. values 메소드 / valueOf 메소드 - values :: 열거 타입에 대해 해당 메소드를 호출하면 열서 상수들 모두가 배열에 담겨져서 리턴 됨. Ex) enum Day { MONDAY, TUESDAY. . . . . SUNDAY } Day.values(); => MONDAY, TUESDAY. . . . . SUNDAY - va..

인터페이스

인터페이스 - 클래스 안의 모든 메소드가 추상 메소드인 클래스. class A{ ... } class Asub implements A { ... } implements : 인터페이스를 상속받을 때 extends ::클래스를 상속받을 때 클래스 - 클래스 상속 -> 클래스의 확장(Extends) 인터페이스 - 인터페이스 상속 - > 인터페이스의 확장(Extends) 클래스 - 인터페이스 상속 -> 구현(implements). ㅇ인터페이스는 여러개의 상속이 가능함.

튕기는 공 생성하기

#define R 20// 반지름 int x,y;// 공의 좌표 int xi,yi;// 한번에 이동하는 거리 void OnTimer() { RECT crt;// GetClientRect(hWndMain,&crt); // 좌 or 우 측 벽에 맞는다면... if (x = crt.right-R) { xi*=-1; // 음수를 곱해서 튕기는 방향 변경. } // 위 or 아래 벽에 맞는다면... if (y = crt.bottom-R) { yi*=-1; // 음수를 곱해서 튕기는 방향 변경. } x+=xi; y+=yi; // 전체 무효화 //InvalidateRect(hWndMain,NULL,TRUE); /* 공 주변만 무효화 */ // 클리핑 영역 지정- BeginPaint 에서만 할수 있음. RECT rt;..

120705_API :: 스크롤바(Scroll Bar)

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; HBRUSH MyBrush, OldBrush; int TempPos; switch (iMessage) { case WM_CREATE: hRed=CreateWindow(TEXT("scrollbar"),NULL,WS_CHILD | WS_VISIBLE | SBS_HORZ, 10,10,400,20,hWnd,(HMENU)ID_SCRRED,g_hInst,NULL); hGreen=CreateWindow(TEXT("scrollbar"),NULL,WS_CHILD | WS_VISIBLE | SBS_HORZ, 10,40,400,20,hWn..

120705_API :: ScrollBar 를 이용한 폰트크기 조절

#define ID_FNTSZSCR 100 HWND hFontSize; int iFontSize; int iScrSelSize; LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; HFONT hFont, OldFont; TCHAR *str=TEXT("폰트 Test 1234"); switch (iMessage) { case WM_CREATE : hFontSize = CreateWindow(TEXT("scrollbar"), NULL, WS_CHILD | WS_VISIBLE | SBS_HORZ, 10, 10, 400, 20, hWnd, (HMENU)ID_FNTSZSCR, g_..

120705_API :: 유니코드 / 멀티바이트 설정에 따른 자료형 분류하기

#ifdef UNICODE #define TCHAR wchar_t #else #define TCHAR char #endif [ 유니코드 문자 집합 사용시 ] - SDK 상에서 보면 define 되지 않는 부분은 회색으로 표시된다(비활성화) 즉 유니코드 문자 집합 사용시 TCHAR 는 wchar_t 로 읽어들이게 된다. 만약 멀티 바이트로 설정한다면 다음과 같이 반대가 될 것이다. #ifdef UNICODE #define TCHAR wchar_t #else #define TCHAR char #endif[ 멀티바이트 문자집합 사용시 ] - 일일이 개발할때마다 설정창에 들어가서 변경해야되는 번거로움을 줄일수 있다.

120703_C++ :: Template

template // 템플릿 T Add(T a1, T a2) // 함수 템플릿. => 함수를 만들어내기위한 "틀" 로 보면 됨. { return a1 + a2; } //[2] 문장은... template // 함수 템플릿의 특수화 [ 아래 함수의 자료형처럼 올때만 이 함수를 써라. ] const char* Add(const char* a1, const char* a2) { char* temp = new char[strlen(a1)+strlen(a2)+1]; memset(temp,0,strlen(a1)+strlen(a2)+1); strcat(temp,a1); strcat(temp,a2); return temp; } int main() { cout

120628_API :: BUTTON , EDIT

BUTTON LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { switch (iMessage) { case WM_CREATE: CreateWindow(TEXT("button"), // 클래스 이름 TEXT("Click Me"), // 캡션 이름 :: 버튼은 캡션이 없으므로 버튼 위에 표시될 이름. WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, // WS_CHILD : 윈도우 종속(자식윈도우) / WS_VISIBLE : 윈도우 함께 보이기 / BS_PUSHBUTTON : 버튼 종류 20, //Left xPos 20, //Top yPos 100, //Right xPos 25, //Bottom ..

120627_API :: Double Buffering - Bounce 2

MemDC 를 이용하면, 빠른 비트맵 출력이 가능하고, 편리하게 출력할 수 있다. void DrawBitmap(HDC hdc,int x,int y,HBITMAP hBit) { HDC MemDC; HBITMAP OldBitmap; int bx,by; BITMAP bit; MemDC=CreateCompatibleDC(hdc); OldBitmap=(HBITMAP)SelectObject(MemDC, hBit); GetObject(hBit,sizeof(BITMAP),&bit); //hit 에 저장된 비트맵 정보 bit복사. bx=bit.bmWidth; //bit 에 복사시킨 비트맵의 사이즈 by=bit.bmHeight; BitBlt(hdc,x,y,bx,by,MemDC,0,0,SRCCOPY); SelectObjec..

120627_API :: TextRot , FONT, BITMAP

TextRot SetBkMode(hdc,TRANSPARENT); // 음영처리 함수(기본:불투명) // TRANSPARENT = 투명. FONT hFont=CreateFont(50, // 폰트 크기 0, // 장평 0, // 문자열 각도 (3시방향 기준 0도, 360도 사용) 0, // 문자 각도 (한 글자의 각도 지정 0, // 두께 (0~1000) 0, // 기울임 0, // 밑줄 0, // 관통선 HANGEUL_CHARSET, // Charset 지정 0, // 출력 정확도 0, // 클리핑 정확도 0, // 논리적폰트와 물리적 폰트의 근접 지정 VARIABLE_PITCH | FF_ROMAN, // 폰트의 피치와 그룹 설정. TEXT("궁서")); // 글꼴이름을 나타내는 문자열 지정. Bitmap..

SEARCH

태그로 찾아보기