Q&A

  • Q-파일쓰기
filewrite프로시저로 파일을 쓸수있습니다.

파일핸들을 넣어주고 쓸자료를 써주면 됩니다.

그런데 이미있는파일에 텍스트를 다시쓸려고 하는데

만약 쓸려는 내용이 이미있는 내용의 크기보다 작을 경우

이미있는 내용의 크기에서 쓸려는 내용의 크기를 뺀 크기의

텍스트가 쓸려는 내용뒤에 붙어져요

rewrite프로시져 말고 존재하는 파일의 내용을 지워줄수

있는 방법이 없나요?

1  COMMENTS
  • Profile
    TeamX 1999.12.08 01:10
    파일포인터를 조작하는 함수가 있습니다.



    <>



    === 예제 ===



    var

    f: file of Byte;

    size : Longint;

    S: string;

    y: Integer;

    begin

    if OpenDialog1.Execute then

    begin

    AssignFile(f, OpenDialog1.FileName);

    Reset(f);

    size := FileSize(f);

    S := 'File size in bytes: ' + IntToStr(size);

    y := 10;

    Canvas.TextOut(5, y, S);

    y := y + Canvas.TextHeight(S) + 5;

    S := 'Seeking halfway into file...';

    Canvas.TextOut(5, y, S);



    y := y + Canvas.TextHeight(S) + 5;

    Seek(f,size div 2);

    S := 'Position is now ' + IntToStr(FilePos(f));

    Canvas.TextOut(5, y, S);

    CloseFile(f);

    end;

    end;



    윤태훈 wrote:

    > filewrite프로시저로 파일을 쓸수있습니다.

    > 파일핸들을 넣어주고 쓸자료를 써주면 됩니다.

    > 그런데 이미있는파일에 텍스트를 다시쓸려고 하는데

    > 만약 쓸려는 내용이 이미있는 내용의 크기보다 작을 경우

    > 이미있는 내용의 크기에서 쓸려는 내용의 크기를 뺀 크기의

    > 텍스트가 쓸려는 내용뒤에 붙어져요

    > rewrite프로시져 말고 존재하는 파일의 내용을 지워줄수

    > 있는 방법이 없나요?