조경민
이중배열 만들기 vector
오후 12:51 2000-05-12
====================================================
다음처럼 vector 를 겹치면 이중 배열을 생성할 수 있다. (동적 이중배열)
실제 안의 값은 VARIANT로 했다.
vector< vector< VARIANT > > arrData;
void fnSetData( int nRow, int nCol, VARIANT& varValue );
void fnSetData( int nRow, int nCol, double dblValue );
void _tagSTCHART_DATA::fnSetData( int nRow, int nCol, double dblValue )
{
VARIANT varValue;
varValue.vt = VT_R8;
varValue.dblVal = dblValue;
fnSetData( nRow, nCol, varValue);
}
void _tagSTCHART_DATA::fnSetData( int nRow, int nCol, VARIANT& varValue )
{
// 디폴트 값을 설정한후
static VARIANT varEmpty = { VT_EMPTY, };
// 현재 행의 크기를 얻어온다.
int nSize = arrData.size();
if( nSize <= nRow ) // 행보다 큰 값으로 값을 넣으려면 vector
// resize를 해야 한다.
arrData.resize( nRow + 5 );
// 그 행에 대한 열의 크기를 얻어온다.
nSize = arrData[nRow].size();
if( nSize <= nCol ) // 역시 rezinge 코드
arrData[nRow].resize( nCol + 5 , varEmpty );
// varEmpty는 실제 VARIANT에 리사이징후 새로만들어진
// VARIANT들에게 들어가는 디폴트 값이 된다.
// 그런후 자기가 넣고 싶은 행열에 값을 넣은다.
arrData[nRow][nCol] = varValue;
// VARIANT타입이 Double형이라면 어떤 일을 한다.
if( varValue.vt == VT_R8 )
fnCheckMiniMax( varValue.dblVal );
if( nCol >= nMaxLegend )
nMaxLegend = nCol+1;
if( nRow >= nMaxSeries )
nMaxSeries = nRow+1;
}
이중배열 만들기 vector
오후 12:51 2000-05-12
====================================================
다음처럼 vector 를 겹치면 이중 배열을 생성할 수 있다. (동적 이중배열)
실제 안의 값은 VARIANT로 했다.
vector< vector< VARIANT > > arrData;
void fnSetData( int nRow, int nCol, VARIANT& varValue );
void fnSetData( int nRow, int nCol, double dblValue );
void _tagSTCHART_DATA::fnSetData( int nRow, int nCol, double dblValue )
{
VARIANT varValue;
varValue.vt = VT_R8;
varValue.dblVal = dblValue;
fnSetData( nRow, nCol, varValue);
}
void _tagSTCHART_DATA::fnSetData( int nRow, int nCol, VARIANT& varValue )
{
// 디폴트 값을 설정한후
static VARIANT varEmpty = { VT_EMPTY, };
// 현재 행의 크기를 얻어온다.
int nSize = arrData.size();
if( nSize <= nRow ) // 행보다 큰 값으로 값을 넣으려면 vector
// resize를 해야 한다.
arrData.resize( nRow + 5 );
// 그 행에 대한 열의 크기를 얻어온다.
nSize = arrData[nRow].size();
if( nSize <= nCol ) // 역시 rezinge 코드
arrData[nRow].resize( nCol + 5 , varEmpty );
// varEmpty는 실제 VARIANT에 리사이징후 새로만들어진
// VARIANT들에게 들어가는 디폴트 값이 된다.
// 그런후 자기가 넣고 싶은 행열에 값을 넣은다.
arrData[nRow][nCol] = varValue;
// VARIANT타입이 Double형이라면 어떤 일을 한다.
if( varValue.vt == VT_R8 )
fnCheckMiniMax( varValue.dblVal );
if( nCol >= nMaxLegend )
nMaxLegend = nCol+1;
if( nRow >= nMaxSeries )
nMaxSeries = nRow+1;
}
'KB > C/C++' 카테고리의 다른 글
C++ Casting (0) | 2004.03.19 |
---|---|
[stl] STL List를 사용하기 (0) | 2004.03.19 |
STL String (0) | 2004.03.19 |
Boyer Moore 문자열 패턴 매칭 (0) | 2004.03.19 |
라인위의점으로선택 (0) | 2004.03.19 |