본문 바로가기
코드 조각

TStringGrid 내용을 CSV 파일로 저장하는 함수

by ictlab 2012. 3. 21.
  

//---------------------------------------------------------------------------
/*
@brief : StringGrid 콤포넌트의 내용을CSV 포맷으로 파일에 저장
@remarks : DB 프로그램에서 화면에 있는 콤포넌트 저장할때 공통으로 사용하기 위한 함수
@return : 저장 성공시 true, 실패시 false
@date : 2012.3.20.화
@author : 이성열
@todo :
*/
bool XdbfSaveStrGridToCSV(
  TStringGrid *pGrid
  , String sFileName
  , bool bOverwrite
  )
{
  // 파일 존재 확인
  if(FileExists(sFileName)==true)
  {
    if( bOverwrite == false )
    {
      LOG_PRINTFW("Xdb", L"SaveStrGridToCSV ERROR ! File exists <%s>", sFileName);
      return false;
    }

    if( DeleteFile(sFileName) == false)
    {
      LOG_PRINTFW("Xdb", L"SaveStrGridToCSV ERROR ! DeleteFile Fails <%s>", sFileName);
      return false;
    }
  }

  TStringList *pList = new TStringList;

  try
  {
    try
    {
      for (int i = 0; i < pGrid->RowCount; i++)
         {
        pList->Add(pGrid->Rows[i]->CommaText);
      }

      // 파일에 저장
      pList->SaveToFile(sFileName);

    }
    catch(Exception &e )
    {
      LOG_PRINTFW("Xdb", L"SaveStrGridToCSV EXCEPTION! <%s>", e.Message);
      return false;

      }
  }
  __finally
  {
    delete pList;
  }
  return true;

}
     

'코드 조각' 카테고리의 다른 글

ShellExecute() : 파일 실행하기  (2) 2012.03.29
GetFileVersionInfo : 파일 버전 가져오기  (2) 2012.03.21
TPanel에는 Canvas가 왜 없을까?  (1) 2012.03.20
WM_SYSCOMMAND  (0) 2012.03.15
XfGetTime()  (0) 2012.03.15