Q&A

  • 죄송 디렉토리복사에 대하여
안녕하세요
죄죄송합니다.
제가 델을 잘 몰라서 그런데
디렉토리 복사
사용방법 좀 알려 주시면 안될까요?
죄송합니다. 어제 오늘 열심히 노력 해봤는데 두 ㅜㅜ...
그리고, TForm1.DirectoryCopy 는
type
  TForm1 = class(TForm)
    GradRoundBtn1: TGradRoundBtn;
    StatusBar1: TStatusBar;
    ShadowButton1: TShadowButton;
    RzLabel1: TRzLabel;
    RzLabel2: TRzLabel;
    procedure GradRoundBtn1Click(Sender: TObject);
    procedure DirectoryCopy(Sourcedir :string; Destdir: string);  
이렇게 선언 하고,

DirectoryCopy('c:\temp\','e:\cc\');  사용하면 되는것 아닌가요?
죄송합니다. 꼭 좀 알려 주세요 감사합니다.
4  COMMENTS
  • Profile
    무심코 2005.01.20 22:33
    질문번호 102123 번을 참조하시면 해당 디렉토리의 파일을 가져올수 있습니다.

    가져온 파일 리스트를 갖고 Mkdir 함수로 디렉토리를 만들고
    CopyFile 이라는 API 함수를 통해서 처리하시면 되리라고 봅니다.


  • Profile
    김현학 2005.01.20 23:02
    답변에 감사드립니다.
    님께서 올려주신 소스는 한폴더 있는 파일의 내용을 정확히
    가져 옵니다. 그런데, 제가 알고 싶은 것은
    A폴더와 B라는 폴더가 있고
    A폴더에 파일3개 존재하며,
    A폴더 밑에는 A1 이라는 서브가 폴더가 있고
    A1엔 파일이 15개 있습니다.
    A1 밑에 A1-1 폴더가
    또 있을때 이들 전체를 복사하고자 합니다
    감사합니다.

    예)
    c:\Temp
    c:\temp\sokum
    c:\temp\dan
    c:\temp\ga
    c:\temp\sokum\gajang
    c:\temp\ sokum\kajang
    c:\temp\dan\a1
    c:\temp\dan\a2

    이런 폴더 내용 전부를 E:\cc 라는
    폴더에 복사하고 싶습니다. 죄송합니다.
    수고하세요
      

  • Profile
    모영철 2005.01.21 18:35
    여기 질답게시판에 있는것을 약간 수정... (했었나?)

    암튼 그래서 쓰던겁니다. 잘되더군요...

    혹시나 모르니 테스트꼭 해보세요~~~

    Procedure DirectoryCopy(Sourcedir :string; Destdir: string);
    var
      Pstr : array[0..256] of char; //널 종료 문자열로 바꾸기 위한 저정하기 위한 변수
      Pstr2 : array[0..256] of char;
      str : string[255]; //경로를 조립하기 위한 임시 문자열
      str2 : string[255];
      SearchRec : TsearchRec; //소스디렉토리를 검색하고자 할때 쓰이는 레코드(파스칼 구조체입니다)
      Result : integer; //찾았는지 못 찾았는지 여부
    begin
      if Sourcedir[Length(Sourcedir)] <> '\' then Sourcedir := Sourcedir + '\';
      if Destdir[Length(Destdir)] <> '\' then Destdir := Destdir + '\';

      str := Sourcedir + '*.*';
      findfirst(str, faanyfile, SearchRec); //소스폴더를 검색한다.
      Result := 0; //검색결과 여부의 초기화

      While Result = 0 do //다음 화일을 찾아 루프를 반복
      begin
        if (SearchRec.name = '.') or (SearchRec.name = '..') then
        begin //폴더가 자기자신이거나 상위폴더일 경우
          Result := findnext(SearchRec); //검색 결과 화일을 찾으면 1이다.)
          continue;
        end;

        if SearchRec.attr = fadirectory then //발견한 대상이 디렉토리이면
        begin
          str := Sourcedir + SearchRec.name; //소스디렉토리 와 발견한 디렉토리를 더한다.
          str2 := Destdir + SearchRec.name; //타켓디렉토리 와 발견한 디렉토리를 더해준다.
    //한번만들고 나면 계속만들필요가 없다....
          Mkdir(str2); //타켓디렉토리를 생성한다.
          DirectoryCopy(str, str2); //디렉토리 이므로 여기서 자기자신을 재귀호출한다.
          Result := findnext(SearchRec); //결과를 돌려준다.
          continue;
        end;

        //아래는 찾은것이 화일일 경우 복사를 하는 부분이다.
        //완전 경로명으로 조립해 주어야 한다.
        str := Sourcedir + SearchRec.name;
        str2 := Destdir + SearchRec.name;
        StrPcopy(pstr, str);
        StrPcopy(pstr2, str2);
        copyfile(pstr, pstr2, nil);
        //이것은 API함수이다. Parameter는
        //copyfile(소스화일명, 데스트화일명, 플래그) 마지막 인자인 플래그는 false 일경우 화일이 존재할때 덮어쓴다.)
        Result := findnext(SearchRec); //검색여부
      end; //While 문의 끝
    end;


  • Profile
    김현학 2005.01.21 22:48

    제 글에 답변을 주신
    무심코 님과 모영철 님께
    감사의 말씀을 올립니다.
    모영철님께서 주신 소스를
    사용하니 바로 되었읍니다.
    감사합니다.
    그래서 저처럼 잘 모르는
    분을 위해 이것 저것
    짜집기 한 소스를 (초간단)
    자료실에 올리려고 합니다.
    욕하시진 마세요
    감사합니다.
    • 박상윤
      2005.01.24 22:23
      설치프로그램 필요 없습니다. 윈도우에서 기본적으로 제공하고 있습니다. 프로그램을 하시려면..vfw...
    • 델초보
    • 2005.01.23 08:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 마이크로김
      2005.01.23 10:33
      영수증프린터 ole 를 사용하시면 제어가 쉬운데요 영수증프린터 업체 문의하시면 쉽게 알수 있을...
    • 이정택
    • 2005.01.22 23:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2005.01.24 22:31
      Run Time 시 에도 원하시는 스타일로 바꾸실 수 있습니다. Disign Time 에 바꾸실때처럼 코드로 처리하...
    • 최미경
    • 2005.01.21 23:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재현
      2006.02.26 22:54
      안녕하세요. 파도랑입니다. 우선 답변이 많이 늦었습니다. 그동안 해결을 하셨는지 궁금하네요. 저와...
    • 주재환
    • 2005.01.21 21:03
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 백화현
    • 2005.01.21 20:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Galaxy
      2005.01.25 03:27
      aabkorea 입니다. 얼굴 본지 벌써 4년이 다 되어 가네요 잘 지내 시죠 요즘음 aabkorea는 회사 규모을 ...
    • 오병주
      2005.01.21 23:15
      이렇게 하면 되네요... ^^ procedure TForm1.Button1Click(Sender: TObject); var   szName...
    • 임동호
    • 2005.01.21 19:51
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 주재환
      2005.01.21 22:04
      procedure ExcelToGrid(sFile : String; sGrid : TStringGrid;sCol:Integer);
    • 임동호
      2005.01.25 04:17
         [Error] Unit1.pas(56): Undeclared identifier: 'CreateOLEObject'    ...
    • 채팅
      2005.01.21 20:53
      일단 mdb를 제외하고는 한글메뉴얼은 없다고 보는 것이 맞습니다. 영어에 익숙해 지는 길밖에 없숩니다. ...
    • 신지수
    • 2005.01.21 02:15
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박종록
      2006.01.06 19:58
      ----    이부분을 바꾸세요   상수를 ----> 변수로 바꾸십시오 ...
    • 이충효
    • 2005.01.20 22:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.01.21 02:07
      흠... 스패머외에는 웹게시판에 기록되는 IP를 속일 이유가 없을거 같은데... 이게 왜 필요하신지요??
    • 이충효
      2005.01.21 02:43
      후~~(한숨) 스패머 아니고요,, 해커도 아닙니다. 지금 만들고있는 프로그램때문에 그래요. idhttp ...
    • 최용일
      2005.01.21 04:44
      원하시는 바가 뭔지 정확히 파악이 안되서... ㅠㅠ UDP같은 단방향 통신에선 IP를 속이는것이 가능하지...
    • 한비
    • 2005.01.20 22:16
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김현학
    • 2005.01.20 19:38
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 무심코
      2005.01.20 22:33
      질문번호 102123 번을 참조하시면 해당 디렉토리의 파일을 가져올수 있습니다. 가져온 파일 리스트를 갖...
    • 김현학
      2005.01.20 23:02
      답변에 감사드립니다. 님께서 올려주신 소스는 한폴더 있는 파일의 내용을 정확히 가져 옵니다. 그런데, ...
    • 모영철
      2005.01.21 18:35
      여기 질답게시판에 있는것을 약간 수정... (했었나?) 암튼 그래서 쓰던겁니다. 잘되더군요... 혹시나...
    • 김현학
      2005.01.21 22:48
      제 글에 답변을 주신 무심코 님과 모영철 님께 감사의 말씀을 올립니다. 모영철님께서 주신 소스를 ...
    • 김종균
    • 2005.01.20 18:09
    • 3 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2005.01.20 18:48
      aaa이 선택되었다고 하면 ddd를 선택하려면 Treeview1.Items[0].GetNextVisible; ggg를 선택하려...
    • 김종균
      2005.01.20 23:35
      AAA -BBB -CCC DDD -GGG EEE -FFF 이렇게 되었을때 EEE는 어떻게 해야하는지요... 한번에 갈 수는 ...
    • 난 백만당적이다.
      2005.01.21 19:21
      EEE를 선택하려면 GetNextVisible를 한번 더 하면 되겠죠.... TreeView에서 Item은 모두 펼쳐졌을때 ...
    • 남경만
    • 2005.01.20 08:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 권태훈
      2005.01.21 20:45
      *=이 몬가 한참 생각했는데 아마도 아우터 조인 명령인가 봅니다. +=으로 해보십시요.
    • 남경만
      2005.01.24 23:14
      mssql에서 *=로 하지 안나요? 중요한 것은 *=, +=이 아니고.. LEFT OUTER JOIN으로 해도 안된다는 것이죠...
    • Crazy™
      2005.01.27 20:24
      mssql 에서 *= 와 left outer join 는 같은겁니다.  줄여서 *= 이렇게 쓰죠. b를 서브쿼리로 묶...
    • 박동호
    • 2005.01.20 01:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2005.01.20 01:47
      인라인뷰는 지원되는 DB가 있고 없는 DB가 있습니다. 지가 ms sql은 사용않해봤는데... ms에서는 지원이 ...
    • 바디
    • 2005.01.20 00:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이승민
      2005.02.02 01:20
      ActiveX 는 웹브라우져에 붙여 넣는 응용프로그램이라고 생각하시면 됩니다. 실제 응용프로그램에서 폼...