MFC 콤보박스 값 가져오기 (선택된 데이터 불러오기) 콤보박스 예제 소스는 간단합니다. 아래 코드를 그대로 이용하세요. 1234567CString str;int n; // 인덱스 n = m_ctrlccbox.GetLBTextLen(m_ctrlccbox.GetCurSel());m_ctrlccbox.GetLBText(m_ctrlccbox.GetCurSel(), m_str.GetBuffer(n)); m_str.ReleaseBuffer();Colored by Color Scriptercs 컨트롤 박스(Control Box)의 컨트롤 변수 ctrlccbox의 텍스트와 길이를 얻어오는게 중점입니다. 문자열에 버퍼를 미리 할당해 메모리 누수를 막을 수도 있죠. 단지, 저렇게 얻어온 문자열을 잘라서 사용할 경우(Af..
[C# 윈폼 강좌] 윈도우 폼 크기 고정, 프로그래밍 예제 크기 고정 폼프로젝트 - 이 폼은 아주 약간의 공식만 습득한다면 쉽게 구현할 수 있습니다. 프로그램의 폼이 일정한 비율로 늘거나, 준다면 다양한 응용 프로그램에서 유용하게 사용할 수 있습니다. 화면의 비율은 어떤 폼의 높이와 관련이 있지만, 일정한 비율로 폼을 유지하려면 폭, 높이가 조정되는 경우를 모두 염두에 두어야 합니다. 즉, 높이가 줄면 너비도 줄고, 너비가 줄면 높이도 줄어야 합니다. 반대의 경우도 마찬가지죠. 코딩에 반영할 공식은 아주 간단합니다. 따라서, 사용자가 생성할 프로그램 폼의 공식을 정리해 보면 아래와 같습니다. Width = (ratio width * From height) / ratio height Height = (ra..
C# 윈폼 프로그래밍, Fading 페이드 효과가 적용된 윈도우 폼 Fading Form 프로젝트 - C# Windows Forms Fade 페이딩 폼을 만드는 그 자체는 어렵지 않습니다. 단지, 제대로 구조화하여 프로그래밍하는 것이 중요합니다. 실제로 프로그램 소스 상에서는 폼의 불투명도를 단순 루프로 쉽게 수행합니다. 1234567for (double i = this.Opacity; i
Well512 알고리즘 예제, 난수 생성기, 랜덤 포레스트 (Random Forest) 주요 참조 사이트 : 표준 rand()함수보다 유용한 난수 생성기 알고리즘 – MT, WELL512 [링크] 소스 코드 - WindowsFormsApplication1.zip [링크] (원본은 아래 아래 아래..쯤에 있는 정성태씨의 것을 수정) 먼저 Well512 알고리즘에 대해 위 사이트를 참조해보면 요점은 이것입니다. - C++의 표준 rand() 함수 - rand() 함수의 분포는 그리 고르지 않다. 특히 작은 표본을 사용할때는 더욱 그렇다. 즉, 이말은 1~10까지 랜덤(난수 생성기)을 1억번쯤 돌리면, 확률이 다들 비슷하게 나오긴 하지만, 10번 정도만 돌릴때에는 1 하나만 10번이 나온다거나 하는 가능성이 ..
ArcGIS10 - ArcGIS Version Not Specified. You Must Call Runtimamanager.Bind Before Creating Any ArcGIS 에러 메세지 ArcGIS10:ArcGIS version not specified.You must call RuntimeManager.Bind before creating any ArcGIS 위의 에러가 발생하는 이유는 ArcGIS 버전이 지정되지 않아서입니다. ArcGIS를 컴파일 하기 위해선 RuntimeManager.Bind를 먼저 호출해야 합니다. 그래서 아래와 같은 코드를 먼저 추가해줍니다. 1ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDeskto..
비주얼스튜디오 2008 NUnit 단위 테스트 (소프트웨어 정적 분석) 참조 사이트 - 비주얼스튜디오 2008 NUnit 설정 방법 [링크] 단위 테스트(Unit Test, 소프트웨어 정적 분석)는 코드의 각 부분이 예상대로 동작하며, SW 변경에도 각 기능이 유지되며 정상적으로 동작하는지 확인하는 데 도움이 됩니다. 이 포스트에선 테스트 코드에 작은 비트를 추가하여, 단위 테스트를 실행합니다. 비주얼스튜디오 2008에 NUnit 설치를 위해 NUnit 사이트[링크]에서 최신 버전을 다운로드 합니다. 현재 최신 버전은 2.6.4입니다. NUnit를 이용한 단위 테스트 프로젝트를 하나 새로 생성하고, 참조 추가합니다. 구성 요소 이름 중 nunit.framework의 런터임 버전 v2.0.5072을 선택합..
3차원 회전 행렬 공식, 3D 좌표 변환 공식 (삼각함수, 오일러각) 따로 포스팅하려다가 정말 훌륭한 포스팅이 있어 행렬 부분만 인용합니다. 출처 : Direct3D : 월드행렬 (World Matrix) 2 - 회전행렬 [링크] 저에게 필요한 부분은 X, Y, Z 축 중 한 곳이 회전될 때 기존의 좌표를 어떻게 변환하느냐였습니다. 출처의 에이레네님 회전행렬 글 중 해당 부분만 인용합니다. X축 회전X' = X //X값은 변하지 않는다.Y' = (Cosθ*Y) + (-Sinθ*Z)Z' = (Sinθ *Y) + (Cosθ*Z) Y축 회전X' = (Cosθ*X) + (-Sinθ*Z)Y' = Y //y값은 변하지 않는다.Z' = (Sinθ *X) + (Cosθ*Z) Z축 회전X' = (Cosθ*X) + (-S..
구글 안드로이드 OS 구조란, 안드로이드 리눅스 차이까지 국내에서는 아이폰 출시 이후 봇물 터지듯 다양한 스마트폰이 출시되어 시장에서 판매되고 있으며, 전세계적으로나 국내에서도 마찬가지로 구글 안드로이드 기반의 스마트폰은 시장 점유율을 점진적으로 늘려가고 있습니다. IT 관련 리서치 업체인 가트너는 안드로이드 OS가 2010년 2분기에 전세계 시장 점유율을 17.2%까지 올려 1년 만에 10배 가까운 상승률을 기록했다고 발표하였습니다. 1. 안드로이드 OS는 구글이 2005년 7월에 인수한 안드로이드社가 휴대폰, 넷북과 같은 모바일 기기를 위해서 처음 개발한 플랫폼Platform. 2. 리눅스 커널과 GNU(GNU's Not UNIX) 소프트웨어에 기반을 둠. 3. 응용 소프트웨어를 실행하기 위한 달빅D..
[Qt QTabWidget] 탭 삭제하는 방법 (QWidget) 도대체 어떻게 삭제하나 방법을 몰라 한참 헤멨네요. Qt Designer에서 제공하는 View, Settings 등에선 삭제하지 못하고 마우스 오른쪽 클릭을 해서 지워야 합니다. 아래 그림 보시죠. QTabWiget로 만든 탭 컨테이너에서 마우스 오른쪽 클릭하면 메뉴가 뜹니다. 여기서 Page 1 of 2 -> Delete를 차례로 선택하면 탭을 삭제할 수 있습니다. Page 1 of 2라는 뜻은 2개의 탭 중에 첫 번째 탭이란 뜻으로 탭이 10개라면 Page 1 of 10이라고 뜨겠죠? Qt Designer에서는 웬만하면 마우스 오른쪽 눌러서 메뉴를 확인해 보세요. 제 경험상 그게 빠르네요. Qt 디자이너는 알고 보면 다루기 되게 쉽고 사..
VC++ MFC 디버그 에러와 메모리 누수 해결 프로그래밍 팁 3개 VC++에서 스레드를 사용하는 프로그램. 디버그 시 OS가 멈추는 현상 (디버그 에러) XP에서 스레드를 사용하는 프로그램을 디버깅하다 보면 자주 OS가 멈춰버려서 리부팅까지 해야 하는 상황이 자주 발생합니다. 이 때문에 98이나 2000 에서 디버깅하기도 했는데 VC++ 6.0과 XP가 충돌하는 것으로도 의심했었지만 VC++2005 에서도 같은 문제가 생긴다고 합니다. 그래서 검색을 해보니 원인은 IME 쪽 버그라고 합니다. 그래서 디버그 에러도 발생하는 것이죠. 1. 제어판 --> 국가 및 언어 옵션 --> 언어 탭 --> 자세히...2. --> 고급 --> 고급 텍스트 서비스 사용 안 함 - 체크 후 리부팅 VC++의 메모리 누수 ..
로드셀 LoadCell 용어 16개 (출력, 무게, 전압, 중량, 저항, 편차, 수명 등) 로드셀(LoadCell) 용어 C Calibration기준 시험 하중에 대한 로드셀 출력의 비교. Creep모든 주변 조건의 변화가 없는 상태에서 로드셀에 가해진 하중(무게)에 대한 시간에 따른 로드셀 출력의 변화 로드셀에 일정한 하중을 가하기 시작한 순간부터 로드셀의 출력값이 조금씩 변한다. Creep은 계량 과정에서 매우 중요한 에러이고, 로드셀의 종류에 따라 시간이 다르게 정의된다. 예를 들면, Combined error가 0.05%인 잘 용접된 stainless steel Bending beam은 30분 이상 지나는 동안 기껏해야 0.025%밖에 변하지 않는다. 온도에 따라 Creep이 변할 수 있으므로 C..
ArcGIS 개발자도 잘 몰랐던 용어 13개 (PG, Raster 등) pdf 문서 - ArcGIS의 주요 용어 정리.pdf [링크] ArcGIS 용어 - N Network (네트워크)연결성 규칙에 의해 연결된 엣지, 정션, 기타 요소들(교통 시 스템의 콤플렉스 턴과 같은)의 집합. 실세계의 일반적인 네트워크 인프라를 표현하고 운영규칙을 모델화하는 데 사용됨. 예를 들면, 도시의 도로 레이어, 수송 관로, 상하수도 또는 전력 네트워크를 표현하는 라인 등이 서로 연결된 집합. ArcGIS 용어 - O OGC공간정보 국제표준화 기구(Open Geospatial Consortium, Inc : OGC) Open Geospatial Consortium, Inc. (OGC)GIS와 지리 공간 커뮤니티에서 상호운용..