이 글은 윈도우XP 기준입니다. 다른 운영체제에서는 해당 API가 작동하지 않거나 다른 동작을 할 수 있습니다. 제가 올린 대부분의 예제는 유니코드를 기준으로 합니다. (프로젝트 속성 -> 구성 속성 -> 일반 -> 문자 집합 -> 유니코드 문자 집합 사용) 'WinAPI'를 연습하기 참 좋은 소재가 메모장이죠 ㅎㅎㅎ 만만한게 메모장(으잌!) 1. 메모짱 어디 있니~ 메모장을 찾아 글을 출력해보겠습니다. 1-1. 적당한 곳에 변수 선언 //메모장의 핸들 저장용 HWND hwndNotepad; //차일드 핸들 저장용 HWND hwndNotepadChild; //이 문자열을 출력한다. LPCTSTR strText = L"메모짱 하악하악 (ㅡ.ㅡ;;;)"; 1-2. 적당한 곳에 출력 코드 입력 //메모장 핸들..
1. 문제의 발견 테이블을 조인하는데... select C.* from tb_SchoolInfo A join tb_SchoolData B join tb_Data_2010_11 C on A.strSchoolCode = B.strSchoolCode on A.strSchoolCode = C.strBuildingCode where A.strState = '대전' or A.strState = '광주' 전혀 오류 없는 이 구문에 'MSSQL2008'이 답합니다. 메시지 4104, 수준 16, 상태 1, 줄 2 여러 부분으로 구성된 식별자 "A.strSchoolCode"은(는) 바인딩할 수 없습니다. 이런 말도 안되는.... 1. 원인 및 해결방법 일단 저오류는 별칭이 선언 되지 않았을때 나는 에러입니다. 말 그대로..
요즘에는 특별한 경우아니면 노턴 고스트를 안쓰고 있긴 합니다 ㅡ.-;; 윈도우7같은경우 꽤 만족스러운 복구환경을 재공해주고 있고 빠른 복구가 가능한 툴들이 많다보니 특별이 고스트를 쓰고있진 않군요 ㅎㅎㅎ 계속 모래시계만 뜨다가 오류가 나면서 종료되는 경우가 있습니다. 이화면이 왜 안나오냐! 그럴때는 메인보드시모스 들어가서 IDE CONFIGURATION - COMPATIBLE MODE 이렇게 바꾸면 됩니다. SATA하드쓸때 나는 에러라 합니다.... 그런데.....어떤 컴퓨터는 설정없이도 되던데.... 메인보드에 따라서 기본 설정 되있는게 있나?
프린터 화면을 PDF파일로 만들어주는 툴은 많습니다. 특히 프로그램자체에서 PDF변환을 지원하지 않는경와 PDF로 출력했더니 레이아웃이 깨지는 경우 참유용하죠. 거기다 프린터 형태로 출력하기 때문에 인쇄버튼만 누르면 착착 변환이 되는 편리합도 있습니다. 그런데 어느날 "PDF로 출력하는데 시간이 너무 오래 걸려요 ㅡㅜ" 라는 말을 들었습니다. 느려봤자 얼마나 느리겠어하고 원격걸어 확인해보니,........ 앵? 심하게 느립니다-_-; 그래서 다른 프로그램을 몇개 받아서 설치해봤는데 novaPDF Server Standard이게 그나마 속도가 잘나오더군요. 다운로드 : 다음 자료실 - 프린터 방식을 이용해서 문서/이미지를 PDF로 변환 "novaPDF Server Standard" v7.4 build 37..
C# 클래스 라이브러리를 COM+에 등록해보겠습니다. 참고 : 마이크로 소프트 고객센터 - HOWTO: Visual C# .NET에서 서비스 대상 .NET 구성 요소 만들기 Com을 쓰던 Com+를 쓰던 어떻게 쓰는지는 자유이고 나같은 경우 클라이언트 프로그램에서 직접 DB에 접근하지 못하게 하려고 많이 씁니다. 웹참조도 비슷한 용도로 사용할수 있습니다. 웹의 경우 TCP/IP를 이용하여 따로 서버프로그램만들어 DB를 날려주는 프로그램을 만들어 쓰는 회사도 보았을 정도로 DB에 직접접근을 막는건 여러므로 좋습니다. 물론 저도 예전에는 멋모르고 그냥 서버프로그램 만들어 썼는데 Com+를 만나고나서는 Com+ 를 많이 이용하다가 요즘은 웹서비스를 많이 이용하고 있습니다. 따로 서버프로그램을 만드는거에 비해 ..
iis(5.0) 에서 *.asp파일을 읽어들이면 500번 에러가뜸니다 Server Application Error The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance. 마이크로 소프트 고객센터 - IIS 5.0에서 ASP 문제를 해결하는 방법 를 참고하던중 2단계에서 asp페이지가 뜨질않아 그것과 관련된 걸 검색해보니 구성요소 서비스의 COM+ 응용프로그램 부분에 문제가 ..
마이크로소프트 테크넷 - COM+ 관리: 구성 요소 서비스 관리 도구 이해 저는 COM+를 수직적 관계로만 사용하였기 때문에 그외 활용방법은 잘 모릅니다 ㅡ.-;; 이것이 COM+의 수직적 관계 클라이언트가 직접 DB나 서버 파일에 접근하는 보안상 매운 안좋은 방법이기 때문에 일반적으로 별도의 서버 프로그램을 만듭니다. 이것을 대체할수 있는 것이 COM+입니다. 단순이 이런용도라면 웹서비스도 쓸만하기 때문에 저는 거의 웹서비스만 이용하고 있저 ㅡ.-;;; 원래 COM이나 COM+의 개념은 원격지에있는 DLL이라고 할수 있습니다. 필요한 기능을 COM+에 요청하면 COM+는 처리결과를 리턴해주저. 이 방법은 재사용성을 늘려주고 프로그램의 유지보수를 쉽게 해주는 등에 장점이 있습니다. 닷넷 계열의 경우 별도..
2D 좌표에서 사각형 맵을 사용한다면 마름모 외각의 좌표를 쓸 일이 많습니다. 기준 좌표에서 마름모로 퍼지는 영역을 체크해야 하는 일이 많기 때문이죠. 로봇 대전에서 볼 수 있는 이것이 바로 마름모 영역입니다. 이 마름모 영역을 구하려면 마름모의 외곽 좌표를 알아야 하죠. 1. 2D사각형 맵 2D사각형 맵은 아래와 같이 구성됩니다. 우리가 구해야 할 값은 A를 기준으로 하는 범위입니다. B0는 Y - 1, B1은 X + 1 입니다. 그러면 C3은 어떻게 구할까요? A에 X와 Y가 1씩 더해주면 됩니다. 그러면 D4는? 그렇습니다. 3번째 칸부터는 기존 방식으로 외곽선 좌표를 구할 수가 없습니다. 방법이야 몇 가지 있습니다만 무식한 방법으로는 1) 모든 셀을 검사한 후 2) 기준 좌표와 거리를 계산해서(대..
닷넷에서는 DB를 어떤 것으로 불러오든 기본적으로 'SqlDataReader'라고 보시는 것이 맞습니다. 리턴값은 다르지만 데이터리더(DataReader)로 읽어 들인 후 나머지 작업(한 줄만 뽑아 문자열로 리턴한다던가 하는 작업)이 가능하니까요. 문제는 'SqlDataReader'라는 녀석은 테이블의 스키마 정보나 데이터를 다 가지고 있지만 가공 안 한체로 들어있어서 그냥 사용하기에는 여러 가지로 번거롭습니다. 그래서 보통은 'List'나 'DataSet'으로 변환하여 사용하죠. 'List'로 변환하는 방법은 한가지뿐이 없습니다. 직접 반복문을 이용하여 바인딩하는 것입니다. 'DataSet'이나 'DataTable'의 경우 두 가지 방법이 있습니다. 'List'와 같이 직접 바인딩하거나 'SqlData..
1/4. 한 프로젝트에서 웹서비스 만들기 2/4. DB연결 하기 3/4. 리스트 주고 받고 - 서버 탐색기와 린큐를 이용한 방법 4/4. 리스트 주고 받고 - 클래스를 이용한 방법 실버라이트에서 웹서비스를 통해 DB를 받아오는 방법은 몇가지가 있습니다. 그중 서버탐색기와 린큐를 이용한 방법을 다루 겠습니다. 테이블의 저장을 위해 웹서비스에 메소드를 만듭니다. public string SetList(string strA, string strB, string strC) { string strReturn = ""; msComm = new SqlCommand("ListSet", msConn); msComm.CommandType = CommandType.StoredProcedure; msComm.Parameter..