Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Вниз

Выложите функцию 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
2-1213774377
lewka-serdceed
2008-06-18 11:32
2008.07.20
Определение нажатия кнопки


2-1212575484
TUserClass
2008-06-04 14:31
2008.07.20
Проблема с тулбаром для IE ...


15-1212616327
alex-drob
2008-06-05 01:52
2008.07.20
есть ли в делфи компанент для разложения RFC-822


15-1212455954
brother
2008-06-03 05:19
2008.07.20
Мерцание 2х LCD мониторов (LG)


3-1202313830
harisma
2008-02-06 19:03
2008.07.20
Параметры для xp_sqlmaint





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский