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

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

От!чень глупый вопрос


LamerOk ©   (2004-08-31 00:17:00) 

Как проварить- существует ли файл с указанным именем ????


Ega23   (2004-09-01 11:08:00) [1]

2 AlexKocharin   (01.09.04 11:00) [10]

function FileExists(const FileName: string): Boolean;
begin
 Result := FileAge(FileName) <> -1;
end;

function FileAge(const FileName: string): Integer;
var
 Handle: THandle;
 FindData: TWin32FindData;
 LocalFileTime: TFileTime;
begin
 Handle := FindFirstFile(PChar(FileName), FindData);
 if Handle <> INVALID_HANDLE_VALUE then
 begin
   Windows.FindClose(Handle);
   if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
   begin
     FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
     if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi,
       LongRec(Result).Lo) then Exit;
   end;
 end;
 Result := -1;
end;


Зачем велосипед изобретать?


Vovchik_A   (2004-09-01 11:04:00) [2]

2AlexKocharin   (01.09.04 10:58) [9]

Ну не пиши тогда под Windows.

2LamerOk   (31.08.04 00:17)

Читать хелп на FileExists до полного понимания.


Ega23   (2004-09-01 11:02:00) [3]

Способ DOS'овский, без использодания Мастдайных WinAPI;

Можно и без WinAPI, на уровне ядра написать. Хотя один хрен API-прослойку делать предётся.


AlexKocharin   (2004-09-01 11:00:00) [4]

Извините, не то добавил...


var f:file;ior:integer;
assignfile(f,filename);
{$i-}
reset(f);
{$i+}
ior:=ioresult;
if ior=0 then ShowMessage('Файл существует!!!')
else ShowMessage('Глюк № '+ior);


AlexKocharin   (2004-09-01 10:58:00) [5]

А чем вам не нравится


var f:file;ior:integer;
s:=findfirst(
ior:=ioresult;
if ior=0 then ShowMessage('Файл существует!!!')
else ShowMessage('Глюк № '+ior);


Способ DOS'овский, без использодания Мастдайных WinAPI;


Алхимик   (2004-08-31 14:51:00) [6]


> then Сучествует

Что, простите делает?


_sulent   (2004-08-31 13:28:00) [7]

if FileExists('c:\failo.txt') then Сучествует
else Не сучествует


MU   (2004-08-31 12:56:00) [8]

>>Александр1   (31.08.04 12:46) [5]
 Ну, блин, круто!!! :)))
 Хоть бы пример скопировал из HELP'a


Александр1   (2004-08-31 12:46:00) [9]

Этот способ основан на поиске файла по заданному пути!

var s:string;
.....

s:=FileSearch('C:\Windows\System\R.def','');

if s<>'C:\Windows\System\R.def' then begin
rez:=MessageDlg('Файл не существует!',mtError,[mbOK],0);
Form1.Close;
end;

if s='C:\Windows\System\R.def' then begin
rez:=MessageDlg('Файл существует!',mtError,[mbOK],0);
Form1.Close;
end;


Iconka   (2004-08-31 09:14:00) [10]


> там, в просторах вселенной, уже давно отказались от файлов...

Так же вполне возможно что их еще не придумали.


KilkennyCat   (2004-08-31 01:30:00) [11]


> Palladin ©   (31.08.04 00:20) [1]


не уверен - там, в просторах вселенной, уже давно отказались от файлов...


Алхимик   (2004-08-31 00:21:00) [12]

FileExists + F1


Palladin   (2004-08-31 00:20:00) [13]

Может где то в просторах вселенной и существует...


Наверх

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