|
간단히 함수로 만들어 봤습니다.
bool __fastcall SaveListFile(TStringList *lst,String sfname)
{
if(!FileExists(sfname)) //파일이 없으면 그냥 저장
{
lst->SaveToFile(sfname);
return true;
}
TSearchRec sr;
memset(&sr,0,sizeof(sr));
if(FindFirst(sfname, faAnyFile, sr)==0 ) //파일 속성정보를 가져옴
{
if(sr.Attr&faHidden) //파일에 hidden(숨김) 속성이 있으면
{
TFileStream *fs=new TFileStream(sfname,fmOpenReadWrite);
lst->SaveToStream(fs); //파일을 ReadWrite로 열어서 저장
delete fs;
}
else
{
lst->SaveToFile(sfname); //파일에 hidden속성이 없으면 그냥 저장
}
FindClose(sr);
}
return true;
}
//---------------------------------------------------------------------------
//사용예
void __fastcall TForm1::AddNewLog(String sNewData)
{
String sFname="C:\\test.txt";
TStringList *sLst=new TStringList;
sLst->LoadFromFile(sFname);
sLst->Add(sNewData);
if(sLst->Count>10)
sLst->Delete(0);
SaveListFile(sLst,sFname);
delete sLst;
}
//---------------------------------------------------------------------------
님 덕택에 저도 모르는것을 알게된것입니다.
그럼..
조상진 님이 쓰신 글 :
: 언제나 주옥같은 답변 진심으로 감사드립니다.
:
: 이런 좋은 방법이 있었군요. 매일매일 님 덕분에 새로운 기능을 알게 됩니다.
:
: 정말 감사합니다.. ^^ 행복하셔요~
|