본문 바로가기

전체 글

(66)
MFC에서 현재 시간 SYSTEMTIME cur_time; GetLocalTime(&cur_time); CString strPCTime; strPCTime.Format("%d %d %d %d %d %d %d", cur_time.wYear, cur_time.wMonth, cur_time.wDay, cur_time.wHour, cur_time.wMinute, cur_time.wSecond, cur_time.wMilliseconds);
sysindexes에서 DBCC CHECKTABLE을 실행하십시오. (오류) 오류 원인1:mdf 나 ldf 자체가 손상이 입었을 가능성이 있음. backup 된 데이터를 이용 해야 할 필요가 있음. 오류 원인 2:\2005에서 생성된 mdf 와 ldf 는 파일단위로 호환되지는 않기 때문에 내보내기 기능을 이용해야 함. 1. SQL 2005 에서 스크립트를 생성합니다. 2. SQL 2000 에다 DB를 생성후 2005에서 만든 스크립트를 실행합니다. 3. SQL 2005 에서 데이터 내보내기를 실행 1) *데이터 원본 선택 데이터베이스 원본 : SQL Server Native Client 서버이름 : SQL 2005 서버 인증 : SQL 서버 인증 (ID, PW 입력) 데이터베이스 : 옮길 데이터베이스 선택 2) *대상 선택 대상 : Microsoft OLE DB Provider ..
MFC에서 Progress Bar 사용하기 1. 메인 윈도우 얻어서 Progress Bar 사용 CWinApp *pApp = (CWinApp *)AfxGetApp(); CWnd *pWnd = pApp->GetMainWnd(); CProgressCtrl *barCtl = (CProgressCtrl *)pWnd->GetDlgItem(IDC_PROGRESS1); barCtl->SetPos(10); -> 같은 방법으로 다른 컨트롤도 접근해서 사용가능 하다 2. DDX_Control을 이용하여 변수선언하여 사용 ~~.h public: CProgressCtrl barCtl; ~~.cpp void ~~::DoDataExchange(CDataExchange* pDX) { DDX_Control(pDX, IDC_PROGRESS1, barCtl); } void ~~..
VS 2005 Error - 코드요소 ~~ 읽기 전용이므로 추가/제거 작업을 수행할 수 없습니다. 리소스뷰에서 컨트롤을 추가하고 컨트롤 제어 함수를 만들때 "코드 요소 '........' 이(가) 읽기 전용이므로 추가/제거 작업을 수행할 수 없습니다. " 라는 에러창이 뜨는 경우가 있다. 비쥬얼 스튜디오2005를 종료하고 새로 실행해도 같은 문제, 프로젝트, 솔루션 등록정보를 끄적거려도 같은 증상, 파일 속성을 봐도 읽기 전용이 아니다. 해결책은 !!! 솔루션 닫기.!! 솔루션을 닫고 다시 열면 문제 해결!! ㅠㅠ
C++ 기본 지식 오버로딩 - 인자값에 따라서 같은 이름의 함수라도 파라미터의 형태나 숫자에 따라 달라진다. int temp(int) int temp(string) int temp(int , int) 오버라이딩 - 상속을 받게 되면 상위 클래스의 특징을 받아서 그것을 상속 받은 하위클래스에서 다시 재정의 해서 사용하는 것 virtual - 상속받아서 사용될 것이라는 것을 나타낸다. 오버라이딩시에 사용 const - 상수화. 더이상 값을 넣지 못하게 보호 다형성 -다형성이란 주어진 타입의 변수 하나가 여러 타입의 객체를 참조하는데 사용되고, 변수가 참조하는 객체의 타입에 맞는 메소드를 자동으로 호출할 수 있는 능력. 즉 다형성이란 특징을 사용하면 특정한 메소드 하나를 호출하면 호출이 적용되는 객체의 타입에 따라서 서로 다르..
라이브러리 추가 라이브러리 추가 include - c/c++의 추가포함디렉터리에 include폴더를 추가 lib폴더 - 링커의 일반의 추가라이브러리 디렉터리 에 lib폴더 추가 lib파일 - 링커의 입력의 추가종속성에 ABC.lib형식으로 추가 dll파일 - dll파일은 동적으로 사용하므로 이 프로그램 소스가 있는 폴더에 직접 넣어주어서 사용 lib파일 - 정적으로 라이브러리 선언
cin.get() cin.get() /////////////////////////사용자는 Hello World입력//////////////////// char input[32]; cin >> input; input에는 "Hello"만 들어간다. 즉 "Hello" 다음의 white space를 감지 하지만 다음과 같이 하면, char input[32]; cin.get(input,32); 이렇게 하면 input에는 "Hello world"가 모두 들어간다.
Static static - 정적선언 class GameLoop { public: static GameLoop * getInstance() { static GameLoop instance; return &instance; } void run(); private: GameLoop() { } }; - 정적 선언으로 컴파일시 스택에 메모리가 잡히게 된다. - 보통 멤버 변수는 그 함수나 클래스가 실행시 메모리에 잡히게 되는데 - static로 선언하면 컴파일시 스택에 메모리가 잡혀서 - 클래스가 종료 되어도 메모리에 남아 있게 되어 그 클래스를 후에 다시 호출해도 - static로 선언된 변수는 다시 생성되는 것이 아니고 처음에 생성된 값으로 연산 - 전역변수로 선언해도 같은 결과인데 전역 변수 선언은 객체지향의 - 캡슐..