Q&A

  • RenameFile 파일명 변경하기?
안녕하세요?
제가 알기로는 RenameFile은 파일명만 변경하는건줄 알았거든요
안에 데이터는 그대로 두면서 파일명만 바꾸는건줄 알았는데
해보니까 똑같은 파일도 아니고( 안에 저장된 데이터가 하나도 없고)
그냥 새로 바꾸려고하는 이름의 새파일이 만들어지더라구요

똑같은 함수내에서

RenameFile('backup.csv','backup.txt');  <- 1
..
중략
..
RenameFile('backup.txt','backup.csv');    <- 2

1번에서는 파일명만 잘바뀌다가
중략부분에서 데이터를 쓴후에 파일명을 바꾸려고 2번처럼 했더니
중략부분에서 써줬던 데이터는 하나도 없는
csv의 새로운 파일이 만들어지더라구요
뭘잘못 한걸까요?
1  COMMENTS
  • Profile
    고지범 2002.09.19 03:42
    걍.. 되는 데요???

    procedure TForm1.Button4Click(Sender: TObject);
    var
       f  :TextFile;
    begin
       RenameFile('e:test.txt', 'e:test.csv');
       AssignFile(f, 'e:test.csv');
       Append(f);
       WriteLn(f, 'here''s elkein...');
       CloseFile(f);
       RenameFile('e:test.csv', 'e:test.txt');
    end;

    혹시 flush 안 시키신 것이 아닌지...
    제가 알기론, TFileStream 은 Free 될 때, File 은 CloseFile 할 때 flush 할 텐데요..