728x90
반응형
델파이로 FTP 프로그래밍을 하다가 보면, 특정 경로를 만들어야할 일이 생깁니다.
그런데 TIdFTP에서 기본으로 제공하는 MakeDir 메소드는 현재 위치에서 바로 아래의 디렉토리만 생성이 가능합니다. SysUtils.ForceDirectories 함수와 같이 경로를 따라가며 없을 경우 강제로 모두 생성해 주는 메소드가 없어서 직접 만들어 봤습니다.
그럼, 유용하게 쓰시길~
그런데 TIdFTP에서 기본으로 제공하는 MakeDir 메소드는 현재 위치에서 바로 아래의 디렉토리만 생성이 가능합니다. SysUtils.ForceDirectories 함수와 같이 경로를 따라가며 없을 경우 강제로 모두 생성해 주는 메소드가 없어서 직접 만들어 봤습니다.
그럼, 유용하게 쓰시길~
{** FTP 서버에 접속된 IdFTP 객체에 지정한 경로의 디렉토리를 강제로 생성합니다. IdFTP에 대한 ForceDirectories 버전 @param AIdFTP FTP 서버에 접속된 IdFTP 객체 @param strMakeDir 생성할 디렉토리 경로 *} procedure ForceDirectoriesOfIdFTP(AIdFTP: TIdFTP; const strMakeDir: string); var nPos: integer; strCurrentDir, strDir: string; begin if (not AIdFTP.Connected) then exit; nPos := 0; while true do begin nPos := PosEx('/', strMakeDir, nPos + 1); if (0 = nPos) then break; strDir := Copy(strMakeDir, 1, nPos); try AIdFTP.MakeDir(strDir); except end; end; try AIdFTP.MakeDir(strMakeDir); except end; end;
'프로그래밍 > 델파이' 카테고리의 다른 글
TIdMessage.GenerateHeader의 제목 처리 버그 (0) | 2009.12.22 |
---|---|
Format와 wvsprintf (4) | 2009.12.16 |
델파이 IDE 환경정보를 그대로 활용하자. (0) | 2009.11.27 |
TMonthCalendar에서 날짜 선택에 대한 이벤트 확장하기 (0) | 2009.11.11 |
WinInet Component Suite를 이용한 파일 업로드(POST) 예제 (0) | 2009.09.29 |