생성된 Tlist에서......리스트의 값 m_cLogDataList 에
값이 있는지 없는 지 알수 있는 방법은? 어떻게 아니용?
vc에서는 m_cLogDataList.IsEmpty() 이런식으로 쓰는데;;;
빌더에서는 어떻게 쓰나요?
장성호 님이 쓰신 글 :
: VC의 CLIST 는 템플릿으로 만든것이네요
:
:
: [TList 사용]
: VCL의 TList는 템플릿은 아닙니다.
: 그냥
:
: 1. 선언은
: TList *m_cLogDataList;
:
: 2. 생성은
: m_cLogDataList = new TList
:
: 3. 사용은
: 3.1 추가
: m_cLogDataList.Add(log);
:
: 3.2 원하는 위치에 추가
: m_cLogDataList->Insert(0,log);
:
: 3.3 삭제
: m_cLogDataList->Delete(2); //2번째 index에 것 삭제
: m_cLogDataList->Clear(); // 전체 삭제
:
: 3.4 꺼내쓰기
: TLogData *log=(TLogData*)m_cLogDataList->Items[0];
:
: 4. 파괴
:
: while(cLogDataList->Count)
: {
: void *item=m_cLogDataList->Items[0];
: delete item;
: m_cLogDataList->Delete[0];
: }
:
: delete cLogDataList;
:
: 뭐 위와같이 쓰시면 됩니다.
:
: [CLIST처럼 템플릿으로 된것은]
: 아래 링크를 참조하세요
:
:
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=495
:
:
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=component&no=474
:
: 그럼...
:
:
:
:
: 궁금자 님이 쓰신 글 :
: : 헤더부분엔 선언한것
: : class TLogData
: : {
: : public:
: : TLogData() {
: : m_nLen = 0;
: : memset(m_pData, 0x00, 1024);
: : }
: :
: : char m_pData[1024];
: : int m_nLen;
: : void CopyTo(char* buffer) {
: : memcpy(buffer, m_pData, m_nLen);
: : }
: : void SetTo(char* buffer, int len) {
: : m_nLen = len;
: : memcpy(m_pData, buffer, m_nLen);
: : }
: : TLogData& operator= (TLogData& log)
: : {
: : SetTo(log.m_pData, log.m_nLen);
: : return *this;
: : }
: : };
: : CList<TLogData, TLogData&> m_cLogDataList;
: :
: :
: : 소스 부분;;;
: : pDlg->m_cFile.Write( pHdr, pHdr->len ) ;
: : CLogData log;
: : log.SetTo((char*)pHdr, pHdr->len);
: : pDlg->m_cLogDataList.AddTail(log);
: :
: : 이런 식으로 프로그램이 vc 로 되있습니다.
: :
: : 이것을 빌더에서 사용할려고 하는데....영 되지를 안네영.....좀 도와주세여......도대체...
: : 빌더에서 이것을 사용하려면 어떻게 하는지......