안녕하세요?
저번에도 똑같은 질문을 올렸다가 strList를 사용해보라고 하셔서 다음과 같이
해보았는데요 잘못한거 같아서요..
대충 흐름은 우선 저장되있는 데이터를 다가져온후 한줄씩 뒤로 밀고 첫번째
곧 0번째 데이터에 새로온데이터로 수정한다는 생각에 다음과 같이 해줬는데요
계속 while not Eof(F) do begin 부분에서 i/O에러가 나서요
.txt 파일도 만들어져 있고요 데이터도 하나 입력되어 있는 상태고
파일경로도 다 맞거든요..답변 부탁드리겠습니다
if sTemp = 'in' then begin
AssignFile(F,Sbackup + 'backup.txt');
while not Eof(F) do begin
i := i + 1; //파일데이터 갯수만큼 가져온다
end;
while not Eof(F) do begin
CloseFile(F);
StrList.LoadFromFile(Sbackup + 'backup.txt');
StrList.Strings[i+1] := StrList.Strings[i];
i := i - 1;
end;
StrList.Strings[0] := Buffer;
StrList.SaveToFile(Sbackup + 'backup.txt');
StrList.Free;
end
가장 최신꺼를 파일의 제일 첫행에 남기시려구 하시나 본데요.
방법은 여러가지 있겠지만 다음 같이 하시면 될꺼 같네요.
var
StrList: TStringList;
Sbackup: string;
Buffer: string;
begin
StrList := TStringList.Create;
if FileExists(Sbackup + 'backup.txt') then
StrList.LoadFromFile(Sbackup + 'backup.txt');
try
StrList.Insert(0, Buffer);
finally
StrList.SaveToFile(Sbackup + 'backup.txt');
StrList.Free;
end;
end;