Q&A

  • 윈도우 XP에서는 폴더 삭제가 되지를 않아요..
안녕하십니까?

얼마전 똑같은 내용으로 질문을 올렸는데 답변이 없으셔서 다시 한번
문의 드립니다.

윈도우 98에서는 아무 이상없이 동작이 되는데 윈도우 XP에서는 폴더의
삭제가 되지를 않아요, 물론 REMOVEDIR()함수를 이용하여 삭제를 하였읍니다.

폴더안의 화일은 미리 삭제를 하였고요, 폴더 아래에 또다른 폴더가 있어서 인가요?

아시는 분은 답변좀 부탁 드릴께요....^^:;
4  COMMENTS
  • Profile
    구창민 2002.12.24 22:16
    안녕하세요~ 구창민입니다.

    아래 루틴을 사용해 보시구여.

    만일 안된다면, XP의 경우 각 로그인된 계정에 따라 디렉토리의

    권한이 다를 수 있으니 확인 해 보시구여.

    그럼~ 항상 즐거운 프로그래밍 하시길~~

    function DeleteAllFiles(FilesOrDir: string): boolean;
    var
      F: TSHFileOpStruct;
      pFromc: array[0..255] of Char;
      Resultval: integer;
      Dir: string;
    begin
      Dir := ExtractFilePath(FilesOrDir);

      Screen.Cursor := crHourGlass;
      try
        FillChar(pFromc, SizeOf(pFromc), 0);
        StrPcopy(pFromc, ExpandFileName(FilesOrDir) + #0#0);
        F.wnd   := 0;
        F.wFunc := FO_DELETE;
        F.pFrom := pFromC;
        F.pTo   := nil;

        F.fFlags := FOF_ALLOWUNDO or
                    FOF_NOCONFIRMATION or
                    FOF_SIMPLEPROGRESS or
                    FOF_FILESONLY;

        F.fAnyOperationsAborted := False;
        F.hNameMappings := nil;
        Resultval := ShFileOperation(F);
        Result := (ResultVal = 0);
      finally
        Screen.Cursor := crDefault;
      end;
    end;


  • Profile
    이성근 2002.12.25 02:41
    답변에 감사 드립니다.
    그런데 루틴을 사용하려다 보니
    TSHFileOpStruct 형식이 선언 되지를 않읍니다.

    어떻게 해야 하나요?
    답변 부탁 드립니다.


  • Profile
    구창민 2002.12.26 03:14
    uses
      ShellApi 추가하세요. ^_^

    항상 즐거운 프로그래밍 하시길~~


  • Profile
    이성근 2002.12.26 18:38
    답변에 감사 드립니다.
    말씀하신데로 ShellApi를 Uses절에 포함하여 컴파일 하니 이상없이
    컴파일은 됩니다.
    그런데 여전히 폴더가 삭제 되지를 않는군요.
    이유가 뭘까요?

    몇몇의 답변하신분들은 해당폴더에대한 권한이 별도로 주어져 있어서
    이러한 경우가 발생을 한다고 하는데 어떻게 해야 할까요?

    정말 답답하군요, 죄송하지만 다른방법이나 문제점에 대하여 아시는것이
    있으신지요?


    • 이방인
      2002.12.24 19:39
      Edit Box의 내용을 읽어 오는것은 후킹까지는 필요가 없습니다. 단지 해당 윈도그즈의 핸들과 그가 포함...
    • 하기현
      2002.12.24 20:47
      빠른 답변에 감사를 드립니다. 그런데... 님께서 보내주신 소스에 의하면 에디트박스의 명칭을 알아야 하...
    • 이방인
      2002.12.24 21:11
      M$ Visual Studio 의 Spy++ 이나 Borland의 WinSight 를 참고 하시면됩니다... FindWindow와 FindWin...
    • 이성근
    • 2002.12.24 19:01
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.12.24 22:16
      안녕하세요~ 구창민입니다. 아래 루틴을 사용해 보시구여. 만일 안된다면, XP의 경우 각 로그인된 ...
    • 이성근
      2002.12.25 02:41
      답변에 감사 드립니다. 그런데 루틴을 사용하려다 보니 TSHFileOpStruct 형식이 선언 되지를 않읍니다. ...
    • 구창민
      2002.12.26 03:14
      uses   ShellApi 추가하세요. ^_^ 항상 즐거운 프로그래밍 하시길~~
    • 이성근
      2002.12.26 18:38
      답변에 감사 드립니다. 말씀하신데로 ShellApi를 Uses절에 포함하여 컴파일 하니 이상없이 컴파일은 됩...
    • 세라핌
    • 2002.12.24 10:53
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.12.24 22:24
      안녕하세요~ 구창민입니다. 질문만 봐서는 정확한 오류와 의도를 간파하지 못하겠구여..^^; 일단 RGB...
    • 세라핌
      2002.12.24 23:04
      안녕하세요 답변 감사합니다. 제가 하려고 하는것은 그림의 특정색을 다른색으로 변경하려 합니다. 처음...
    • 구창민
      2002.12.25 01:30
      아래 코드는 색을 Invert 시키는 예제인데 참고하시면 해결하실 수 있을거 같네요. 그럼~ 즐거운 프...
    • 엄화용
    • 2002.12.24 05:43
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최은석
      2002.12.24 09:23
      PUT01 입고, PUT02 출고, PUT03 반품,  ITEM 아이템 테이블..... PUT01,PUT02,PUT03 테이블은 ...
    • 엄화용
      2002.12.24 10:14
      답변감사드려요 그런데요. 그렇게 쿼리를 작성하면 입고 출고 반품 수량이 입력된 품목만 출력됩니다. ...
    • 최은석
      2002.12.24 19:31
      다음처럼 해보세요... Outer Join 을 사용해서여... SELECT A.MON 월, A.ITEM_CODE 품목코드, D.ITEM...
    • 최병철
      2002.12.24 19:16
      참고하세요 Union을 이용해 보세요. 즉, Select  T.품명, Sum(T.입고필드) As 입고필드...
    • 열심히
      2002.12.25 21:04
      위에서 답변해주신 님처럼 아웃조인을 하시면.. 안되요... 입고테이블을 기준으로 잡으면 안됩니다.....
    • 감토바위
      2002.12.26 19:48
      정확하진 않더라도 좋으니 답변좀 부탁드립니다.... 고수님들의 의견이라도...
    • 김후진
    • 2002.12.24 04:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김민우
      2002.12.24 21:32
      어드민 계정으로 로그인후... 제어판 -> 관리도구 ->컴퓨터 관리 그안에 보면 로컬 사용자 ...
    • 김진호
    • 2002.12.24 04:09
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.12.24 04:43
           가장 먼저 해볼 수 있는 경우는 소스가 있는 경우라면...    &nb...
    • 강승익
    • 2002.12.24 03:38
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.12.24 22:27
      안녕하세요~ 구창민입니다. 실행파일의 파라메터로 DLL명을 넘기시겠단 뜻인거 같군요. System.Param...
    • 호야
      2002.12.24 20:53
      외부에서 받아들인다.. 라는 말이 이해가 안되네염... 단순히 LoadLibrary에서 쓰이는 경로를 지정하지...
    • 박재현
    • 2002.12.24 03:05
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최은석
      2002.12.24 03:35
      sql 문 사용하심이.. 우선 비교의 기준이 되는 칼럼이 name 라고 가정한다면.. select name,count(*) ...
    • 열심히
      2002.12.24 03:35
      그냥 간단하게 쿼리로.. SELECT ------- COUNT(*) FROM TABLE_NAME GROUP BY  ------- HAV...
    • *^^*
      2002.12.24 03:31
      'select distinct(필드명) from 테이블명' 하셔도 되고요.. 아님 레코드카운트까지 while 문 돌문서 'sel...
    • 호야
    • 2002.12.24 02:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 미소나눔
      2003.01.07 19:37
      제목 그래로이네요 정적 메소드는 오버라이드 될수 없죠... function BoxRect(ALeft, ATop, ARight, ABo...
    • 우소
    • 2002.12.24 02:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박재근
      2003.02.27 00:55
      혹 CURRENT_USER에 대한 것이 아닌지.. 이곳의 내용은 서비스가 읽지 못합니다. OS에서 그렇게 설정이 되어...
    • 김진호
    • 2002.12.24 02:37
    • 11 COMMENTS
    • /
    • 0 LIKES
    • 최은석
      2002.12.24 03:30
    • 김진호
      2002.12.24 03:50
    • 열심히
      2002.12.24 03:28
    • 김진호
      2002.12.24 03:46
    • 열심히
      2002.12.24 03:59
    • 김진호
      2002.12.24 04:44
    • 김진호
      2002.12.24 04:53
    • • • •
    • 뿡뿡이
    • 2002.12.24 00:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이희진
      2002.12.27 01:20
      일반적으로 엑셀의 한 셀에 데이터를 찍을 때,     Sheet.Cells[1 , i + 2] := '찍...
    • 열심히
      2002.12.24 02:07
      세로의 칸은 1,2,3,4,5,6,7.... 이런식으로 나가고 가로는 A,B,C,D,....Z,AA,AB,AC,AD,AE,... 이런식...
    • 감우길
    • 2002.12.24 00:19
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 나옹이
    • 2002.12.23 22:29
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 고지범
      2002.12.24 01:56
      됩니다... 단... 타입을 선언해야 합니다... 아래의 예제를 보믄서... implementation type  &...
    • 열심히
      2002.12.23 23:15
      저도 지금 하려고 해보니 안되네염.. 저렇게는 못쓰나?? 급하시면 그냥 전역으로 배열선언하시고.....
    • 열심히
      2002.12.23 21:54
      답변 serial에 대해서는 트리거로 만드는게 가장 나을것 같습니다... 아님 특정 테이블에 field에다가 s...
    • 열심히
      2002.12.23 21:46
      날짜에 대한 연산을 원하신다면 팁게시판이나 이게시판에서 찾아보실수 있을겁니다.. 먼저 테이블에 아...
    • 왕초보
      2002.12.23 22:06
      지금 테이블은 제가 임의로 수정할 수 없는 상황이여서 어쩔 수없이 한달의 자료를 모두 넣어야 하고요.. ...
    • 열심히
      2002.12.23 23:10
      죄송한데요 값을 한번에 넣는다는게 무슨 뜻이죠??.. 전혀 감이 안잡히네요..값을 한번에 넣는다라.......