Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.20;
Скачать: CL | DM;

Вниз

Выложите функцию DirectoryExists   Найти похожие ветки 

 
silvestr   (2008-06-04 12:11) [0]

Приветствую. На работе стоит древняя D5 в которой нет функии DirectoryExists

Выложите пожалуйста полную функцию из D7 например.


 
Ega23 ©   (2008-06-04 12:12) [1]


function DirectoryExists(const Directory: string): Boolean;
{$IFDEF LINUX}
var
 st: TStatBuf;
begin
 if stat(PChar(Directory), st) = 0 then
   Result := S_ISDIR(st.st_mode)
 else
   Result := False;
end;
{$ENDIF}
{$IFDEF MSWINDOWS}
var
 Code: Integer;
begin
 Code := GetFileAttributes(PChar(Directory));
 Result := (Code <> -1) and (FILE_ATTRIBUTE_DIRECTORY and Code <> 0);
end;
{$ENDIF}


 
silvestr   (2008-06-04 12:14) [2]

спасибо


 
silvestr   (2008-06-04 12:15) [3]

И еще пожалуйста ForceDirectories функцию.
Буду очень благодарен


 
@!!ex ©   (2008-06-04 12:16) [4]

А разве FileExists Для директорий не прокатывает?


 
Ega23 ©   (2008-06-04 12:19) [5]


function ForceDirectories(Dir: string): Boolean;
var
 E: EInOutError;
begin
 Result := True;
 if Dir = "" then
 begin
   E := EInOutError.CreateRes(@SCannotCreateDir);
   E.ErrorCode := 3;
   raise E;
 end;
 Dir := ExcludeTrailingPathDelimiter(Dir);
{$IFDEF MSWINDOWS}
 if (Length(Dir) < 3) or DirectoryExists(Dir)
   or (ExtractFilePath(Dir) = Dir) then Exit; // avoid "xyz:\" problem.
{$ENDIF}
{$IFDEF LINUX}
 if (Dir = "") or DirectoryExists(Dir) then Exit;
{$ENDIF}
 Result := ForceDirectories(ExtractFilePath(Dir)) and CreateDir(Dir);
end;


 
silvestr   (2008-06-04 12:20) [6]

> @!!ex ©   (04.06.08 12:16) [4]

хз вроде нет

> Ega23

спасибо большое.


 
SergeyIT ©   (2008-06-04 12:35) [7]


> древняя D5 в которой нет функии DirectoryExists

Вот из древней D5

function DirectoryExists(const Name: string): Boolean;
var
 Code: Integer;
begin
 Code := GetFileAttributes(PChar(Name));
 Result := (Code <> -1) and (FILE_ATTRIBUTE_DIRECTORY and Code <> 0);
end;


 
Kolan ©   (2008-06-04 12:39) [8]

> На работе стоит древняя D5

Странно, я думал накинуться...


 
Плохиш ©   (2008-06-04 13:18) [9]


> Kolan ©   (04.06.08 12:39) [8]
> Странно, я думал накинуться...

И почему передумал?


 
SergeyIT ©   (2008-06-04 13:25) [10]


> Странно, я думал накинуться...

Может и надо...
Я до сих пор на D5. Меня полностью устраивает. Старшие версии еще и не видел.


 
Германн ©   (2008-06-04 16:28) [11]


> silvestr   (04.06.08 12:11)
>
> Приветствую. На работе стоит древняя D5 в которой нет функии
> DirectoryExists

А вот код из Д1:
function DirectoryExists(Name: string): Boolean;
var
 SR: TSearchRec;
begin
 if Name[Length(Name)] = "\" then Dec(Name[0]);
 if (Length(Name) = 2) and (Name[2] = ":") then
   Name := Name + "\*.*";
 Result := FindFirst(Name, faDirectory, SR) = 0;
 Result := Result and (SR.Attr and faDirectory <> 0);
end;

FileCtrl.pas


 
Anatoly Podgoretsky ©   (2008-06-04 16:53) [12]

> Германн  (04.06.2008 16:28:11)  [11]

Он нас обманывал.


 
DVM ©   (2008-06-04 16:54) [13]


> silvestr   (04.06.08 12:11)  


> silvestr   (04.06.08 12:15) [3]

c миру по нитке - нищему VCL



Страницы: 1 вся ветка

Текущий архив: 2008.07.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
15-1212666482
ЧуВАГ
2008-06-05 15:48
2008.07.20
Delphi uses


2-1214065057
Tom
2008-06-21 20:17
2008.07.20
Имя пользователя


6-1190641100
Кихтенко Андрей
2007-09-24 17:38
2008.07.20
Indy SSL Apache. Help!


15-1212562601
БарЛог
2008-06-04 10:56
2008.07.20
И еще раз о корзине в магазине...


2-1213966689
mefodiy
2008-06-20 16:58
2008.07.20
Удаленное подключение к серверу MySQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский