TStringList를 사용해 보세요.
예)
//선언부--------------------------------------------------------------------------
TStringList* HistoryData;
//사용 전(예, 프로그램 시작시) 메모리 확보---------------------------------------------
HistoryData = new TStringList();
//사용 후 (예, 프로그램 종료시) 메모리 해제---------------------------------------------
delete HistoryData;
//기록부분------------------------------------------------------------------------
if(HistoryData->Count>300) //데이터 라인이 300라인이 넘으면
{
HistoryData->Delete(0); //첫 라인을 지운다.
}
HistoryData->Add("기록할 내용"); //로그를 기록한다.
//저장부분------------------------------------------------------------------------
HistoryData->SaveToFile("저장할 파일"); //HistoryData를 파일로 저장-저장할 파일의 전체 경로까지 포함합니다.
//불러오기부분--------------------------------------------------------------------
HistoryData->LoadFromFile("불러올 파일"); //파일을 불러와서 HistoryData에 넣는다-불러올 파일의 전체 경로까지 포함합니다.
//----------------------------------------
// ┏┓
// ┣┻┓┏ ┃┃ 작은 생각이 세상을 바꾼다
// ┃♡┃┣ ┣┫┏┓
// ┗━┛┗ ┃┃┣┫┏┓┏┓ - 정성훈.해미
// ━━━━━━━━━┣┛┣┛┗┫━━━━━━
// Web Site:
http://www.hemistory.net
// e-mail: sage5nor@chol.com
//----------------------------------------
조상진 님이 쓰신 글 :
: 안녕하세요... __);
:
: 여러곳에서 전송받는 데이터를 파일에 라인단위로 최대 300라인까지만 기록합니다.
: 새로운 데이터가 전송되었을 때에는 제일 오래된 데이터를 삭제한 후에 추가를 하여 파일은 항상
: 최대로 300라인까지만 입력이 가능한 것입니다.
:
: 예를 들자면..
:
: 장치1-어쩌고 (1라인)
: 장치2-어쩌고
: 장치1-어쩌고
: 장치4-어쩌고
: ...
: 장치3-어쩌고 (300라인)
:
: 이렇게 300라인까지 등록된 상태에서 데이터를 다시 전송받으면
:
: 맨처음 1라인을 지우고 새로 전송받은 데이터를 넣습니다.
:
: 장치1-어쩌고 (1라인) -> 삭제
: 장치2-어쩌고
: 장치1-어쩌고
: 장치4-어쩌고
: ...
: 장치3-어쩌고 (300라인) -> 299 라인이됨
: 장치1-어쩌고 (300라인=새로전송받은 데이터)
:
: 파일에다가 바로 이렇게 오래된 항목을 지우며 새로 내용을 추가하는 작업을 해본적이 없어서
: 한번에 감이 안오는데요. 어떻게 하면 될려는지요?
:
: 그럼.. __); 부탁드립니다~