Q&A

  • 파일지우기???
안녕하세요



하드디스크에서 특정한 몇개의 파일을 찾아서 지울려고합니다...

델파이에서 어떻게 구현을 해야되나요???



무지하게 궁금해서 잠도 안오거든요...



꼭좀 답해주세요



4  COMMENTS
  • Profile
    고규인 1999.10.09 11:21
    memogi wrote:

    > 안녕하세요

    >

    > 하드디스크에서 특정한 몇개의 파일을 찾아서 지울려고합니다...

    > 델파이에서 어떻게 구현을 해야되나요???

    >

    > 무지하게 궁금해서 잠도 안오거든요...

    >

    > 꼭좀 답해주세요

    >



    에쿵... 음....

    안녕하세요.. ^^;

    여기에 글을 쓰려고 온게 아니고..

    제가 올린 질문에 혹시 답이 생겼나.. 확인하려고 왔다가... -_-;

    일단 왔으니.. 몇자 적어 봅니다..



    chdir

    rmdir

    mkdir

    deletefile

    등등을 델파이 도움말 색인 에서 검색하심.. 아마. 여러가지 도움이

    될 것입니다..



    추가로.. 예제 써 보지요.. ^^

    back_file 백업용 화일명 변수.

    so_file 원본이 되는 화일명 변수.



    if not fileexists(back_file) then {화일이 없으면 true}

    begin

    copyfile(pchar(so_file), pchar(back_file), true); {원본 카피}

    deletefile(so_file); {원본 삭제}

    end;

    이런식으로 처리 하실수 있겠내요..

    그럼 이만... 수고하서요.. ^_^



  • Profile
    장철진 1999.10.10 06:36
    고규인 wrote:

    > memogi wrote:

    > > 안녕하세요

    > >

    > > 하드디스크에서 특정한 몇개의 파일을 찾아서 지울려고합니다...

    > > 델파이에서 어떻게 구현을 해야되나요???

    > >

    > > 무지하게 궁금해서 잠도 안오거든요...

    > >

    > > 꼭좀 답해주세요

    > >

    >

    > 에쿵... 음....

    > 안녕하세요.. ^^;

    > 여기에 글을 쓰려고 온게 아니고..

    > 제가 올린 질문에 혹시 답이 생겼나.. 확인하려고 왔다가... -_-;

    > 일단 왔으니.. 몇자 적어 봅니다..

    >

    > chdir

    > rmdir

    > mkdir

    > deletefile

    > 등등을 델파이 도움말 색인 에서 검색하심.. 아마. 여러가지 도움이

    > 될 것입니다..

    >

    > 추가로.. 예제 써 보지요.. ^^

    > back_file 백업용 화일명 변수.

    > so_file 원본이 되는 화일명 변수.

    >

    > if not fileexists(back_file) then {화일이 없으면 true}

    > begin

    > copyfile(pchar(so_file), pchar(back_file), true); {원본 카피}

    > deletefile(so_file); {원본 삭제}

    > end;

    > 이런식으로 처리 하실수 있겠내요..

    > 그럼 이만... 수고하서요.. ^_^

    >



    안녕하세요....

    그런데있잖아요....

    특정폴더에 파일이 몇개 있는지 그리고 폴더 안의 파일을 모두 삭제하는 방법은

    어떻게 해야 하나요?

    아직초보라...........

    좋은시간되세요....

  • Profile
    고규인 1999.10.10 11:26
    장철진 wrote:

    >

    > 안녕하세요....

    > 그런데있잖아요....

    > 특정폴더에 파일이 몇개 있는지 그리고 폴더 안의 파일을 모두 삭제하는 방법은

    > 어떻게 해야 하나요?

    > 아직초보라...........

    > 좋은시간되세요....



    음... -_-

    제가 질문한 쪽에는 아무도 대꾸하는 사람이없내요...



    안녕하세요.. ^_^

    저도 초보라... 이런글 쓰지 않는데..

    읽어 주시니...

    다시 몇자 적어봅니다...



    무신 작업(어떤 용도)을 어케 하실건지 모르겠지만

    drivecombobox, directorylistbox, filelistbox를 이용하면

    별 코딩 없이.. 특정 폴더의 내용을 볼수 있는데요..

    화일의 갯수는 filelistbox1.item.count로 알수 있구요..

    폴더 안의 내용 몽창지우는 방법은

    i := 0;

    while filelistbox1.itemindex <= filelistbox1.item.count -1 do

    begin

    deletefile(filelistbox1.items[i].filename);

    i := i + 1;

    end;

    이상이구요...

    코딩이 정확한지는 테스트 하지 않았습니다..

    눈으로 보아하니.. 맞는것 같거든요... ^_^

    테스트 해보서요...



    ps : 고수님들 "[질문] interface not supported...." 라는 질문에

    도움말 좀 해주서요... 목빠지내요.. ^_^



    그럼 좋은 하루 되세요..

  • Profile
    델피우먼 2000.03.27 21:30
    >

    > 무신 작업(어떤 용도)을 어케 하실건지 모르겠지만

    > drivecombobox, directorylistbox, filelistbox를 이용하면

    > 별 코딩 없이.. 특정 폴더의 내용을 볼수 있는데요..

    > 화일의 갯수는 filelistbox1.item.count로 알수 있구요..

    > 폴더 안의 내용 몽창지우는 방법은

    > i := 0;

    > while filelistbox1.itemindex <= filelistbox1.item.count -1 do

    > begin

    > deletefile(filelistbox1.items[i].filename);

    > i := i + 1;

    > end;

    > 이상이구요...

    > 코딩이 정확한지는 테스트 하지 않았습니다..

    > 눈으로 보아하니.. 맞는것 같거든요... ^_^

    > 테스트 해보서요...

    >

    > ps : 고수님들 "[질문] interface not supported...." 라는 질문에

    > 도움말 좀 해주서요... 목빠지내요.. ^_^

    >

    > 그럼 좋은 하루 되세요..





    소스가 많이 잘못되었네요.

    되도록이면 눈으로 컴파일한 것은 안올렸으면 좋겠다는 생각...

    위 소스에서는 처음에 itemindex의 초기값을 주지 않았습니다.

    또한 while 문을 아무리 돌아도 itemindex는 0입니다.

    역시 또한 filelistbox1.items[i].filename 구문은 에러입니다.

    TFileListBox 하나만 써서 파일을 모두 삭제하는 방법은 다음과 같습니다 그려.





    procedure TfD100M.FormClose(Sender: TObject; var Action: TCloseAction);

    var i : integer;

    begin

    // form close하기 전에 local에 남아있는 임시파일 모두 지우기

    i := 0;



    flbTmp.Directory := iPath_Local + '';



    while i <= flbTmp.items.Count - 1 do

    begin

    deletefile(flbTmp.Items.Strings[i]);

    i := i + 1;

    end;



    .

    .

    .

    end;