본문 바로가기

Windows Developer

[MFC]가상함수를 이용한 스타크래프트 만들기 [시나리오] Unit Class에 가상 함수를 만들고 SCV Class와 Marin Class, Zealot Class는 Unit 클래스를 상속 받는다. Unit Class 해더 후기에 유닛을 판별할 수 있는 가상함수를 만든다고 했지만 지금 생각해 보면 필요가 없는 함수인 것 같다. 검색을 할 수 있는 방법은 *pUnit[10]에서 생성할때 배열의 인덱스로 각각의 유닛 종족이 무엇인 지 알 수 있기 때문에 사실상 종족을 따로 판별하지 않아도 되는 것이다. 실제 코드는 그렇게 작성되어 있다. SCV Class 해더 Zealot class, Marin class도 위와 동일한 함수를 사용한다. virtual 함수를 사용함으로 인해서 CString AttackPlay(), void AttackUp() 함수를 .. 더보기
[C#]비쥬얼스튜디오 테마설정 보호되어 있는 글입니다. 더보기
[MFC] Dll 배포 및 사용 MFC DLL에서 프로젝트를 생성한다. 프로젝트 설정에서 DLL형식을 MFC 확장 DLL로 바꾼다 배포할 해더파일을 추가한다 Dllmain.cpp 에 추가된 해더파일을 인쿠르드 시키고, Dll을 만들 함수를 작성한다. // dllmain.cpp : DLL의 초기화 루틴을 정의합니다. // #include "stdafx.h" #include #include #define DLLDEMO_EXPORT #include "DllDemo.h" #ifdef _DEBUG #define new DEBUG_NEW #endif static AFX_EXTENSION_MODULE DllDemoDLL = { NULL, NULL }; extern "C" int APIENTRY . . . . //DLL을 만들기 위한 함수 int W.. 더보기
[Oracle] 테이블 생성 및 테이터 삽입 [학생 테이블 생성 및 삽입] CREATE TABLE student (stu_id CHAR(5) CONSTRAINT student_stu_id_pk PRIMARY KEY CONSTRAINT student_stu_id_ck CHECK(LENGTH(TRIM(' ' FROM stu_id)) =5), stu_name VARCHAR2(10) CONSTRAINT student_stu_name_nn NOT NULL ); INSERT INTO student VALUES('94031','박지성'); INSERT INTO student VALUES('94032','이청용'); INSERT INTO student VALUES('94033','차두리'); INSERT INTO student VALUES('94034','기성용.. 더보기
[VB] API로 만든 DLL 사용하기 1. 프로젝트를 Visusl C++ - Win32 - Win32프로젝트로 설정 2. 설정을 DLL로 하고 빈 프로젝트로 한다 //cpp를 만들고 아래와 같이 DLL 함수를 만든다 extern "C" __declspec(dllexport) int AddInteger(int a, int b)//AddInterger { return a + b; } 3. 디버깅 전에 프로젝트에서 속성을 눌러서 일반->출력 디렉터리를 다음과 같이 \lib로 바꿔준다 4. 디버깅을 하고나면 프로젝트 내에 lib파일에 다음과 같이 dll파일과 lib파일이 생성된다. [DLL을 사용할 프로젝트] 1.Visual Basic - Windows Forms 응용 프로그램을 선택 //버튼 클릭 이벤트에 다음과 같이 코드를 작성한다 Public.. 더보기
[My-SQL] 기본 쿼리문 1. SELECT 문 [테이블에 지정된 레코드를 가져옴] SELECT 검색할 칼럼을 지정 FROM 검색할 테이블을 지정 WHERE 검색할 테이블 내의 행을 결정 ex) select * from test (test 이블에서 모든 데이터를 가져온다) select no, name from test where no=21 (test 테이블에서 no가 21인것의 no, name 데이터를 가져온다) select * from test order by no DESC (test 테이블에서 no의 역순으로 모든 데이터를 가져온다) select no, subject from test where subject Like '%정%' (test 테이블에서 subject 칼럼에 '정'이 들어간 no, name 칼럼의 데이터를 가져온다.. 더보기
[오라클] 쿼리 작성시 유의 사항 프로그램 개발시 절대 빠지지 않는 것이 데이터를 저장하기 위한 DB이다. DB의 사용을 위해서는 쿼리를 작성해서 사용하게 되는데 여기서 한가지 팁 다음 쿼리의 차이는? [전제조건 : USERS 테이블의 컬럼은 ID, PW, MEMO 3개] 1. select * from users where id = '1234' 2.select id, pw, memo from users where id='1234' 3.SELECT * FROM USERS WHERE ID='1234' 4.SELECT ID, PW, MEMO FROM USERS WHERE ID='1234' 이상 네개의 쿼리는 쿼리를 실행했을때 결과값은 동일하다. 하지만 내부적인 실행 과정은 다르다. 오라클 쿼리를 실행할때 내부적으로는 소문자 쿼리를 대문자 쿼리.. 더보기
[VB.NET] 추상 클래스와 인터 페이스 1. 추상 클래스 추상 클래스(MustInHerit Class)는 추상적인 클래스로부터 부분적으로 구현되거나 전혀 구현되지 않은 불안전한 클래스이므로 객체화될 수 없는 클래스이다 다시 말해, 추상 클래스는 객체가 갖는 특성들을 추상화시켜 놓았을 뿐 아직 구체화시키지 못한 클래스이므로, 이 추상 클래스를 상속하는 자식 클래스에서 좀 더 구체화시키도록 하는 것이다. 즉, 추상 클래스는 상속을 목적으로 만들어진 클래스이다. 추상 메서드는 구현이 이루저지지 않고 단지 그 프로토타입만을 가지고 있는 메서드이다. 추상 클래스만이 가질 수 있고, 구현부를 가질 수 없으며, 자식 클래스에서 자신의 구미에 맞게 반드시 구현해야 한다. 2. 인터페이스 인터페이스란 클래스가 제공하는 서비스를 명시하는데 사용되는 행위의 집합.. 더보기
[VB.NET] 클래스 기초 클래스란 업무 분석을 통해서 사용자가 만들어나가는 추상적인 자료형을 설계하는 설계표이다. 클래스는 객체 지향 프로그램에서 객체 내부의 데이터 구조(필드, 멤버 변수)와 그 데이터에 작용하는 함수(메서드, 멤버함수)를 기술한 사용자 정의 데이터 타입(User Defined Type)을 말한다. 그럼, 객체란? 객체는 클래스를 실체화한 것으로 '인스턴스'라고도 부른다. 즉, 객체는 클래스를 기바느올 생성된다. 클래스 내부에는 필드, 상수, 메서드, 속성, 이벤트가 멤버로 선언되며 Class, Structure, Delegate, Enumerable, Interface의 형식도 정의할 수 있다. 한정자를 사용하여 외부에서 이들 멤버에 접근할 때 필요한 권한 설정을 할 수 있으며, 선언시 한정자를 성정하지 않으.. 더보기
[VB.NET] 제어문 제어문을 사용하면 프로그램의 실행 흐름을 제어할 수 있다. 제어문은 크게 판단문과 반복문의 형태로 구문된다. - 판단문 : 조건을 테스트하고 그 결과에 따라 여러가지 작업을 수행할 수 있으며 IF문, Select ... Case 문이 있다. - 반복문 : 한 줄 이상의 코드를 반복해서 실행할 수 있으며 While문, Do .. Loop문, For .. Next문, ForEach .. In 문 등이 있다. 1. If ... Then ... Else문 If ... Then ... Else 문은 주어진 조건의 참과 거짓 여부에 따라 해당 코드를 실행한다. * 이중 조건 If문 조건식이 참인지 혹은 거짓인지에 따라 서로 다른 실행 문장을 수행한다. If 조건식 Then 조건식이 True일 때 실행되는 코드 El.. 더보기