반응형 분류 전체보기778 특정조건에 해당하는 앞에서 원하는 만크만 얻어오기 특정조건에 해당하는 앞에서 원하는 만크만 얻어오기 TOP 구문 Microsoft SQL Server SELECT TOP 10 column FROM table PostgreSQL and MySQL SELECT column FROM table LIMIT 10 Oracle SELECT column FROM table WHERE ROWNUM 2011. 3. 27. [Dialog] 단일문서(SDI),다중문서(MDI),대화 상자 기반(Dialog)의 초기 처리 윈도우가 뜨기 전에 해야할 작업이 있을 때가 있다. 윈도우가 뜨기 시작할 때 호출되는 함수는 단일문서(SDI), 다중문서(MDI)와 같은 함수가 호출되지만 대화 상자 기반(Dialog)의 경우는 다른 함수가 호출된다. //////////////////////////////////////////////////////////////////////////////////////////////// ◆ 단일문서(SDI), 다중문서(MDI) View가 Document에 처음으로 연결된후, View가 처음 뜨기전에 호출 되어짐 C***View파일 void CStartProcessView::OnInitialUpdate() { // : // : // : } OnInitialUpdate()와 디폴트로 선언되지 않으므로 C*.. 2011. 3. 27. SetSize 대용량 데이터 추가속도 향상 CArray 에서 수 십만개 ~ 수 백만개 의 대용량 데이터를 내용을 삽입하면, 추가하는 속도가 매우 느립니다. 그 해결 방법을 알려드립니다. 해결 방법 1. 정확한 크기를 알 경우 void SetSize( int nNewSize, int nGrowBy = -1 ); 알고 있는 크기를 SetSize 의 nNewSize 로 설정한다. ex) array.SetSize( 9900000 ); 2. 정확한 값을 모를 경우 (대략적인 커지는 크기는 알 경우) void SetSize( int nNewSize, int nGrowBy = -1 ); 커지는 크기를 SetSize 의 nGrowBy 을 크게 설정한다. ex) ex) array.SetSize( 0, 100000 ); 2011. 3. 27. CString 문자열 검색 CString 또는 API 함수중에서 대소문자를 구분하지 않고 문자열을 찾는 함수가 없어서 만들었습니다. 효율성보다는 편리성을 우선으로 만든 함수입니다. 보너스로 한글이 포함된 문자열을 일본 윈도우에서 CString 함수인 MakeLower, MakeUpper 함수를 사용할 경우 프로그램이 다운되는 현상을 막기 위하여 새로 제작한 MakeLower, MakeUpper 함수도 포함되어 있습니다. 코드 함수: /// 문자열을소문자로변경한다. (다국어입력시일본윈도우등에서오작동되는경우를보완하기위하여만듦) inline void MakeLower( CString& str ) { for( int i = 0; i = 'A' &&.. 2011. 3. 27. CString 소수 구하는 함수 CMap 클래스에서 InitHashTable 함수를 이용하여 해시 테이블의 크기를 설정할 경우, 인자로 소수(Prime Number)를 입력해야 효율이 좋다고 합니다. 매번 소수를 찾기도 어렵고하여 소수를 구하는 함수들을 만들어 보았습니다. 코드 함수: /// 소수인지검사한다. inline BOOL IsPrimeNumber( int nNumber ) { int dwSqrt = ( int ) sqrt( ( double ) nNumber ) + 1; for( int i = 2; i < dwSqrt; i++ ) { if( nNumber % i == 0 ) return FALSE; } return TRUE; } /// 해당값보다크고가까운소수를구한다. inline int GetVPrimeNumber( int nN.. 2011. 3. 27. CString strreplace 문자열에서 문자 변경 문자열에서 문자를 변경하는 함수입니다. ex) "test code" -> 't'를 'a' 로 변환 -> "aesa code" 코드 함수: /// 문자열에서문자를변경한다. inline void strreplace( char* sz, char old, char change ) { if( sz == NULL ) return; while( *sz ) { if( *sz == old ) *sz= change; sz++; } } 예제: char sz[10] = "test code"; strreplace( sz, 't', 'a'); // sz == "aesa code" 2011. 3. 27. 이전 1 ··· 107 108 109 110 111 112 113 ··· 130 다음 반응형