// 혼자 연구하는 C/C++의 도우미 헤더 파일
// 비주얼 C++ 환경에서 터보 C 스타일의 함수를 정의한다.
#ifndef TURBOC_HEADER
#define TURBOC_HEADER

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>

typedef enum { NOCURSOR, SOLIDCURSOR, NORMALCURSOR } CURSOR_TYPE;
void clrscr();
void gotoxy(int x, int y);
int wherex();
int wherey();
void setcursortype(CURSOR_TYPE c);

#define delay(n) Sleep(n) // n/1000초만큼 시간 지연
#define randomize() srand((unsigned)time(NULL)) // 난수 발생기 초기화
#define random(n) (rand() % (n)) //0~n까지의 난수 발생

// 이 매크로가 정의되어 있으면 함수의 원형만 선언하고 정의는 하지 않는다.
#ifndef TURBOC_PROTOTYPE_ONLY

// 화면을 모두 지운다.
void clrscr()
{
system("cls");
}

// 커서를 x,y좌표로 이동시킨다.
void gotoxy(int x, int y)
{
COORD Cur;
Cur.X=x;
Cur.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur);
}

// 커서의 x 좌표를 조사한다.
int wherex()
{
CONSOLE_SCREEN_BUFFER_INFO BufInfo;

GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
return BufInfo.dwCursorPosition.X;
}

// 커서의 y좌표를 조사한다.
int wherey()
{
CONSOLE_SCREEN_BUFFER_INFO BufInfo;

GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
return BufInfo.dwCursorPosition.Y;
}

// 커서를 숨기거나 다시 표시한다.
void setcursortype(CURSOR_TYPE c)
{
CONSOLE_CURSOR_INFO CurInfo;

switch (c) {
case NOCURSOR:
CurInfo.dwSize=1;
CurInfo.bVisible=FALSE;
break;
case SOLIDCURSOR:
CurInfo.dwSize=100;
CurInfo.bVisible=TRUE;
break;
case NORMALCURSOR:
CurInfo.dwSize=20;
CurInfo.bVisible=TRUE;
break;
}
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&CurInfo);
}

#endif // TURBOC_PROTOTYPE_ONLY
#endif // TURBOC_HEADER


출처: Winapi (http://www.winapi.co.kr)

'개발' 카테고리의 다른 글

배워보자  (0) 2016.02.03
디자인 패턴의 종류와 간략한 설명  (0) 2011.11.17
ASCII Code List (아스키 코드 표)  (0) 2011.09.29
Unicast, Broadcast, Multicast, MAC Adress  (0) 2011.08.25
UTP Cable 제작법  (0) 2011.08.20

'개발' 카테고리의 다른 글

디자인 패턴의 종류와 간략한 설명  (0) 2011.11.17
Turbo.h or Turboc.h 헤더파일  (0) 2011.09.29
Unicast, Broadcast, Multicast, MAC Adress  (0) 2011.08.25
UTP Cable 제작법  (0) 2011.08.20
케이블의 종류  (0) 2011.08.20

+ Recent posts