이 글에서는 스카이프 api를 이용하여 채팅, 전화 걸기, 전화 받기 할 것입니다. api만 이용하여 스카이프를 컨트롤하기 위해서는 클라이언트가 로그인되어 있어야 합니다. C#에서 스카이프를 사용하기 위해서는 재공된 Skype4COM.dll를 마샬링 해주어야 하는데...... 이미 누군가가 해논게 있습니다. ㅋ 코드 플랙스 - Skype for VisualStudio 이곳에서는 비주얼 스튜디오 SDK를 이용하여 스카이프 프로젝트를 생성할 수 있게 되어 있지만 굳이 그렇게까지 쓸 필요는 없고 'SKYPE4COMLib'만 유징 해서 사용하시면 됩니다. 0. UI 구성 저는 wpf 프로젝트로 하겠습니다만.... C#프로젝트라면 별 상관은 없습니다. (레이아웃 코드만 다를 뿐이니까요 ㅎㅎㅎ) 전역변수로 스카이프..
1. 시나리오 조건 초보자 공원 관람객 : 400 동물종류 : 8 (낙타) 최소 롤러코스터 흥분도 : 4 (1대 이상) 사업가 공원 관람객 : 500 동물종류 : 12 (낙타) 대출금 갚기 타이쿤 공원 관람객 : 600 동물종류 : 16 (낙타) 최소 롤러코스터 흥분도 : 4 (2대 이상) 2. 처음 상황 1번이 메인로드입니다. 길이 꾸물꾸물하므로 미리 평탄화를 하고 하는것도 좋은 방법입니다. 2번은 입구입니다. 3. 초기 설정 재정 20000 - 10000(이자 14.9%,) = 10000 (최대 대출 20000) 기가 코스터 없음 3대 편의시설, 현금 지급기 모두 있음 원숭이 없음 이 시나리오도 그닥 어려운것은 없습니다. 연구는 하지 않으셔도 됩니다. 시작하자마자 빚네서 흥분도 4이상 되는 롤러코스터..
1. 시나리오 조건 초보자 동물 종류 : 2(하마) 전체 월간 놀이기구 이익 : 200달러 동물 판매 수익 : 1,000달러(타조) 사업가 동물 종류 : 6(하마) 전체 월간 놀이기구 이익 : 400달러 동물 판매 수익 : 2,500달러(타조) 타이쿤 동물 종류 : 10(하마) 전체 월간 놀이기구 이익 : 600달러 동물 판매 수익 : 4,000달러(타조) 2. 처음 상황 1번이 타조만 들어있는 나무 울타리 조망대입니다. 2번은 메인 로드. 3번이 입구입니다. 3. 초기 설정 재정 12,000 - 10,000(이자 10.9%) = 2,000 기가 코스터 없음 3대 편의시설, 현금 지급기 모두 있음 원숭이 없음 동물원만 가지고 수익 내기를 알려주는 시나리오입니다. 돈은 없고 시설물은 이미 많이 연구되어있으..
1. 시나리오 조건 초보자 동물 조망대 : 4개 이상 최소 공원 가치 : 65,000달러 동물조망대 관람객수 : 50명 사업가 동물조망대 관람객수 : 200명 최소 공원 가치 : 95,000달러 동물 종류 : 5(얼룩말) 타이쿤 동물조망대 관람객수 : 350명 최소 공원 가치 : 125,000달러 동물 종류 : 2(표범) 드디어 와일드!!! 동물 종류 따집니다.... 2. 처음 상황 1번은 코끼리 이동 수단입니다. 그냥 둬도 잘됩니다. 2번은 조망대입니다. 3번은 스플릿 코스터 입니다. 이미 지어진거 아니면 잘 짓지 않는 건물중 하나죠. 4번은 매인로드입니다. 간만에 2칸 이상 길안지어도 되는 시나리오입니다 ㅎㅎ 5번이 입구입니다. 3. 초기 설정 재정 15,000 - 2,000(이자 4.9%,) = 1..
액셀에 특정 셀에 들어있는 문자나 문자열의 개수 구하는 함수가 없었군요. 당연히 있을 줄 알았는데-_-;; 여튼 구해주는 함수가 없으므로 직접 구해야 하는데,.... 방법은 몇 가지 있겠지만 제가 쓰는 방법은 LEN과 SUBSTITUTE를 이용하는 방법입니다. LEN(문자열) - 문자 갯수를 출력함 SUBSTITUTE(문자열, 찾을 문자열, 교체할 문자열) - 문자열에서 찾을 문자열을 찾아 교체할 문자열로 교체해줍니다. 포함된 문자개수만 필요하다면 'd'의 개수를 구하는 수식은..셀이 'A1'이라고 한다면.. =LEN(A1)-LEN(SUBSTITUTE(A1,"d","")) = 문자열 길이 - 지정한 문자열을 제외한 문자열 길이 위 수식으로는 한 글자만 가능합니다. SUBSTITUTE로 찾을 문자를 빈칸으..
외부에서 포트나 IP 상태를 확인할 일은 참 많은데 회선을 두 개나 쓰는 경우는 흔치 않으니 확인할 방법이 많지 않습니다. 다행인 건 요즘은 스마트폰이 대세라 스마트폰으로 확인하는 방법도 있죠 ㅎㅎㅎㅎ 1. 외부에서 아이피 확인하는 사이트 외부에서 IP를 확인해주는 사이트는 여러 개 있습니다. 제가 추천하는 사이트는 '왓츠 마이 아이피(whats my ip)'입니다. 왓츠마이아이피 - https://www.whatsmyip.org/ IP 확인 : 홈이나 'More Info About You( 바로 가기 )' 메뉴 열려있는 포트 확인(포트 스캔) : 'Port Scanners( 바로 가기 )' 메뉴 핑 테스트 : 'Ping'( 바로 가기 ) 메뉴 경로 확인 : 'Traceroute( 바로 가기 )' 메뉴 ..
이 글은 윈도우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. 원인 및 해결방법 일단 저오류는 별칭이 선언 되지 않았을때 나는 에러입니다. 말 그대로..
C# 클래스 라이브러리를 COM+에 등록해보겠습니다. 참고 : 마이크로 소프트 고객센터 - HOWTO: Visual C# .NET에서 서비스 대상 .NET 구성 요소 만들기 Com을 쓰던 Com+를 쓰던 어떻게 쓰는지는 자유이고 나같은 경우 클라이언트 프로그램에서 직접 DB에 접근하지 못하게 하려고 많이 씁니다. 웹참조도 비슷한 용도로 사용할수 있습니다. 웹의 경우 TCP/IP를 이용하여 따로 서버프로그램만들어 DB를 날려주는 프로그램을 만들어 쓰는 회사도 보았을 정도로 DB에 직접접근을 막는건 여러므로 좋습니다. 물론 저도 예전에는 멋모르고 그냥 서버프로그램 만들어 썼는데 Com+를 만나고나서는 Com+ 를 많이 이용하다가 요즘은 웹서비스를 많이 이용하고 있습니다. 따로 서버프로그램을 만드는거에 비해 ..
2D 좌표에서 사각형 맵을 사용한다면 마름모 외각의 좌표를 쓸 일이 많습니다. 기준 좌표에서 마름모로 퍼지는 영역을 체크해야 하는 일이 많기 때문이죠. 로봇 대전에서 볼 수 있는 이것이 바로 마름모 영역입니다. 이 마름모 영역을 구하려면 마름모의 외곽 좌표를 알아야 하죠. 1. 2D사각형 맵 2D사각형 맵은 아래와 같이 구성됩니다. 우리가 구해야 할 값은 A를 기준으로 하는 범위입니다. B0는 Y - 1, B1은 X + 1 입니다. 그러면 C3은 어떻게 구할까요? A에 X와 Y가 1씩 더해주면 됩니다. 그러면 D4는? 그렇습니다. 3번째 칸부터는 기존 방식으로 외곽선 좌표를 구할 수가 없습니다. 방법이야 몇 가지 있습니다만 무식한 방법으로는 1) 모든 셀을 검사한 후 2) 기준 좌표와 거리를 계산해서(대..