|
CopyFiles 는 VCL에 기본적으로 있는 함수가 아닌것 같은데요
일단 얼런봐서는 CopyFiles함수에서 인자를 char * 형태로 받는것 같습니다.
AnsiString에서 char *를 가져오려면?
String str="C:\\"+name1+"\\"+name2";
방법1. str.c_str();
방법2. &str[1];
방법1을 많이 씁니다.
그럼...
네버 님이 쓰신 글 :
: 1. exe파일을 실행시켜서 복사 버튼을 누를 경우 저장할 폴더명을 입력하게 한다.
:
: ForceDirectories ("C:\\"+name1+"\\"+name2); // 폴더 생성
: //name1 ,name2 은 폼에서 입력받습니다.
:
: if(0!=CopyFiles("L:\\*.*\0","C:\\")) //폴더 전체 복사
: {
: MessageBox(NULL, "Fail", "에러", MB_OK);
: }else{
: MessageBox(NULL, "Success", "OK", MB_OK);
: }
:
: 이때 L드라이브데 있는 데이타를 모두 C/name1/name2로 옮기려고 하는데
:
: C/name1/name2 이폴더는 생성이 되지만 if(0!=CopyFiles("L:\\*.*\0","C:\\")) 이렇게 썻기 때문에
:
: 그냥 c밑에 데이타가 옮겨집니다. 폼에서 입력받은 이름의 폴더안에 복사하려면
:
: CopyFiles("L:\\*.*\0","C:\\name\\") 이 때 여기서 디렉토리 명을 이런식으로 넘기면
:
: 입력받은 폴더명에 복사가 되는게 아니라 그냥 c/name밑에 생기게 됩니다. (이건 당연하겟죠..)
:
: 근데 어떻게 넘겨줘야 할지 모르겠습니다. 답변 부탁드릴게요
|