프로그래밍
-
[C#] 추상메소드, 인터페이스, 보호클래스(상속불가) 기타등등..프로그래밍/조각코드 2012. 5. 4. 12:50
어제에 이은 C# 공부중 예제들~ 추상메소드, 인터페이스, 보호클래스(상속불가), 모든 클래스들은 c#에 의해서 System.Object 를 상속, 프로퍼티(별칭 프로퍼티를 통해 데이터에 접근할 수 있도록 하는것 읽기/쓰기 제어), 인덱서(객체 자체에 [] 연산자를 지정해 해당 데이터에 접근할 수 있도록하는것. 대략 읽기만 가능?) using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; /* * 추상 메소드! 그리고 인터페이스. */ namespace test3 { // 추상메소드 : 파생되는 클레스에 특정 메소드를 만들도록 강요할 수 있음. abstract c..
-
[C#] 위임과 상속 연습코드~프로그래밍/조각코드 2012. 5. 3. 18:57
게임코디 연제 강좌로 올라온 온라인 공개 책(문서)를 보면서 작성한것... 위임과 C/C++ 에서의 상속과 C#의 상속이 어떻게 다른지 살펴볼 수 있는 예제 코드... 공개 책(문서)에는 서로 따로 표시하고 있었는데 그다지 나눠서 보지 않아도 너무 간결한게 좋아 보인다. (사실 전에는 뭐여 이상한 키워드가 마구 생겼잖아 했었지..) using System; using System.Collections; using System.Collections.Generic; using System.Threading; using System.Linq; using System.Text; using System.IO; namespace ToolboxTestApp3 { class MissileTurret { public s..
-
[C#] 해당 경로에 있는 파일목록 출력..프로그래밍/조각코드 2012. 5. 3. 18:19
조각코드! C/C++ 에서는 참으로 복잡 시럽게 코딩을 해줘야 했지만.. 이역시 간단하게 처리가 된다. =ㅂ= using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ToolboxTestApp2 { class Program { static void Main(string[] args) { DirectoryInfo dir = new DirectoryInfo(Directory.GetCurrentDirectory()); FileInfo[] filesInfo = dir.GetFiles(); // for 아 c/c++ 같어~..
-
[C#] 위임이란?프로그래밍/조각코드 2012. 5. 3. 18:16
간단하게 C/C++ 을 알고 있는 사용자에게 설명하면 함수 포인터 같은녀석! 이라고 이야기 할 수 있겠다. 다만 사용 방법이나 다중 위임의 형태를 C/C++ 에서 구현하기 위해서는 잡다한 코드가 더 추가되어야 하지만 정말 간편하게 다중 위임으로 처리가 가능하다.delegate 키워드를 사용. using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ToolboxTestApp1 { class Program { // 위임이 무엇인고?? public delegate int Printer(string msg); // 함수 ..
-
[wxWidgets] 기본 프레임웍 코드.프로그래밍/조각코드 2012. 4. 26. 17:43
아주 기초적인 프레임 생성 코드! wxFromBuilder 등에서 기본적인 배치및 이벤트 헨들러 지정을 해도 app 관련 코드는 생성해 주지 않으므로 일단 기본 코드가 있으면 좋다!... #include "wx/wx.h" ////////////////////////////////////////////////////////////////////////// // wxWidgets 최신 버전 다운로드 // http://www.wxwidgets.org/downloads/ // Current Stable Release: 2.9.3 // Previous Stable Release: 2.8.12 // * 다운로드 페이지에는 2.9.3 이 최신버전이 아니지만 2.9.3이 최신버전이 맞음. // 다음 버전은 2.9.4 ..
-
Windows API GetLastError 코드를 문자열로 출력하기프로그래밍/조각코드 2012. 4. 4. 14:22
다음과 같은 코드를 통해서 확인할 수 있다. void ErrorMessageBox(DWORD dwError) { LPVOID lpMsg = NULL; DWORD dwFormat = FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS; DWORD dwLanguage = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); if (!FormatMessage(dwFormat, NULL, dwError, dwLanguage, (LPTSTR)&lpMsg, 0, NULL)) { return; } MessageBox(NULL, (LPCTSTR)lpMsg, L"Error", MB_OK..
-
SQLite3 기본 사용법프로그래밍 2012. 3. 30. 12:54
SQLite3 다운로드 : http://sqlite.org/download.htmlSQLite3 라이센스 : Public Domain 기본적으로 다운로드 받은 소스에서 sqlite3.c / sqlite3.h / sqlite3ext.h 만 프로젝트에 포함시키면 SQLite3 를 사용할 수 있다. SQLite3 의 장점. 작고, 설정 필요 없이 사용가능하고, 단일 파일에 모든 내용이 저장되며, 여러 플랫폼에서 하나의 db 파일을 사용할 수 있다. SQLite3 를 통해 작업중인 맵에디터에 리소스 관리 부분을 붙여보기 위해서 사용법을 익히는중..(@_@b) #include #include #include "sqlite3/sqlite3.h" static int callback(void* notUse, int a..
-
(임시) 의존성 문제였나!? 그 결과와 얻은 내용 정리.프로그래밍 2012. 3. 21. 14:09
재배포 패키지 버전 문제 발생시 - '응용 프로그램 구성이 올바르지 않기 때문에 이 응용 프로그램을 시작하지 못했습니다. 이 문제를 해결하려면 응용 프로그램을 다시 설치하십시오.' 위와 같은 에러와 함께 실행이 되지 않습니다. - 기타 에러 혹은 Microsoft Virtual PC등에서 바로 죽어 버리는 문제 혹은 잘못된 주소를 참조 했다거나... 예외가 발생했다는 에러는 프로그램의 오류 가능성이 높다. 이때에는 release 빌드에 *.pdb 파일을 같은 폴더에 넣고 디버그 해보면 어느 함수에서 죽었는지 알 수 있다. ( 비주얼 스튜디오가 깔려 있다면... 없는 경우에는 콜스텍을 덤프해주도록 처리하면 문제가 없겠다. ) ---------------------------------------------..