한 단계씩 검사하면서 없으면 생성함.
procedure CreateDir(Dir: String);
var
i: Integer;
Path: String;
sList: TStringList;
begin
sList:=TStringList.Create;
try
Path:='';
ExtractStrings(['\'], [], PChar(Dir), sList);
for i:=0 to sList.Count-1 do begin
if Length(Path)>0 then Path:=Path+'\';
Path:=Path+sList[i];
if not DirectoryExists(Path) then begin
if not CreateDirectory(PChar(Path), nil) then begin
OutputDebugString('CreateDirectoryFailed = ('+IntToStr(GetLastError)+') ['+Path+']');
end;
end;
end;
finally
FreeAndNil(sList);
end;
end;
var
i: Integer;
Path: String;
sList: TStringList;
begin
sList:=TStringList.Create;
try
Path:='';
ExtractStrings(['\'], [], PChar(Dir), sList);
for i:=0 to sList.Count-1 do begin
if Length(Path)>0 then Path:=Path+'\';
Path:=Path+sList[i];
if not DirectoryExists(Path) then begin
if not CreateDirectory(PChar(Path), nil) then begin
OutputDebugString('CreateDirectoryFailed = ('+IntToStr(GetLastError)+') ['+Path+']');
end;
end;
end;
finally
FreeAndNil(sList);
end;
end;
'Delphi' 카테고리의 다른 글
[Delphi] 에디트플러스와 DDE 통신 (DDE, EditPlus) (0) | 2010.10.25 |
---|---|
[Delphi] .lnk (바로가기) 파일에서 실행파일 경로 가져오기 (0) | 2010.10.25 |
[Delphi] Listbox Item 선택하기. (List, SendMessage, LB_SETCURSEL, LB_GETITEMRECT) (0) | 2010.07.14 |
[Delphi] DLL의 폼을 Splash 윈도우로 사용하기 (CreateParams) (0) | 2010.07.08 |
[Delphi] 실행파일이 자기자신을 지우기 (0) | 2010.07.07 |