Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FileExists


RakoT ©   (2007-08-19 13:29:00) 

Здравствуйте! Существует ли аналог данной функции?


Leonid Troyanovsky   (2007-08-20 14:55:00) [1]


> clickmaker ©   (20.08.07 11:53) [12]


> DVM ©   (20.08.07 11:56) [13]

Не нужен ни аналог, ни прототип.
See also [11] ;)

--
Regards, LVT.


DVM   (2007-08-20 11:56:00) [2]

function FileExists(const FileName: string) : boolean;
var
 Attr: Integer;
begin
 Attr := GetFileAttributes(PChar(FileName));
 Result := (Attr <> -1) and (FILE_ATTRIBUTE_DIRECTORY and Attr = 0);
end;


clickmaker   (2007-08-20 11:53:00) [3]


> Существует ли аналог данной функции?

FindFirstFile


Игорь Шевченко   (2007-08-20 11:02:00) [4]

Параноики


Проснулся   (2007-08-19 23:33:00) [5]

Издевательство! см. GetFileAttributes


MetalFan   (2007-08-19 22:36:00) [6]

а зачем убираешь SysUtils? от него "груза" мало, а вот обработка исключений отвалится...


antonn   (2007-08-19 20:53:00) [7]

const EmptyString: string = '';

procedure EAX2PChar;
asm
       TEST     EAX, EAX
       JNZ      @@exit
       MOV      EAX, offset[EmptyString]
@@exit:
end;

function FileExists(const FileName: string): Boolean;
const size_TWin32FindData = sizeof(TWin32FindData);
asm
       CALL     EAX2PChar
       PUSH     EAX
       CALL     GetFileAttributes
       INC      EAX
       JZ       @@exit
       DEC      EAX
       {$IFDEF PARANOIA}
       DB $24, FILE_ATTRIBUTE_DIRECTORY
       {$ELSE}
       AND      AL, FILE_ATTRIBUTE_DIRECTORY
       {$ENDIF}
       SETZ     AL
@@exit:
end;

function DirectoryExists(const Name: string): Boolean;
asm
       PUSH     EAX
       CALL     GetFileAttributes
       INC      EAX
       JZ       @@exit
       DEC      EAX
       {$IFDEF PARANOIA}
       DB $24, FILE_ATTRIBUTE_DIRECTORY
       {$ELSE}
       AND      AL, FILE_ATTRIBUTE_DIRECTORY
       {$ENDIF}
       SETNZ    AL
@@exit:
end;

требует модуль Виндовзь


grisme   (2007-08-19 17:01:00) [8]

FileExists успешно находится в SysUtils и успешно выдирается с последующей зачисткой директив и части кода под линух, если конечно он не входит в число ос для твоей программы


Leonid Troyanovsky   (2007-08-19 15:50:00) [9]


> RakoT ©   (19.08.07 14:05) [3]

> Зачем нужен?

Не нужен, конечно.
Убери совсем, и ничего не потребуется.

--
Regards, LVT.


Германн   (2007-08-19 14:15:00) [10]


> RakoT ©   (19.08.07 14:05) [3]
>
> Зачем нужен? Затем что Убрать SysUtils из uses т.к. размер
> файла для меня имеет значение
>

Так убери, кто запрещает. А реализацию FileExists скопируй.


DrPass   (2007-08-19 14:07:00) [11]


> Затем что Убрать SysUtils из uses т.к. размер файла для
> меня имеет значение

Ты считаешь, что если вместо SysUtils подставить модуль с аналогом этой функции, твой файл уменьшится?


RakoT   (2007-08-19 14:05:00) [12]

Зачем нужен? Затем что Убрать SysUtils из uses т.к. размер файла для меня имеет значение


DrPass   (2007-08-19 13:58:00) [13]


> Существует ли аналог данной функции?

Проходишь в школе тему "синонимы в английском языке"?


TUser   (2007-08-19 13:43:00) [14]

А чем этот аналог должен от нее отличаться?


Наверх

Титульная страница Поиск, карта сайта Написать письмо