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

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

Файлы [D5, Win2k]


BJValentine ©   (2002-04-25 16:41:00) 

Как узнать программным способом, открыт файл или нет?


Anatoly Podgoretsky   (2002-05-02 09:01:00) [1]

Очень прекрасно будет срабатывать, в варианте panov © (29.04.02 06:36) файл закрыти функция сработает нормально.
Функция полностью соответствует вопросу. Не забыто практически ничего, ни отсутсвие файла, ни закрытие если файл удалось открыть. Не понятно какие могут быть претензии.


Aleks1   (2002-05-02 03:16:00) [2]

> n\a
Очень большое самомнение без должных доказательств.
Ну как сможет сработать функция "isFileUse" (кстати имя и не по русски, и не по англицки) в варианте:
panov © (29.04.02 06:36)
???


n\a   (2002-05-01 22:02:00) [3]

флэйм развили из-за нечего ... =)

function isFileUse(const Name : string) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(Name) then exit;
HFileRes := CreateFile(pchar(Name), GENERIC_READ or GENERIC_WRITE,0, nil,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then CloseHandle(HFileRes);
end;


Anatoly Podgoretsky   (2002-04-29 08:04:00) [4]

Он и не занят, если строго по вопросу - не открыт


panov   (2002-04-29 06:36:00) [5]

>BJValentine © (28.04.02 13:07)
Значит так, открыл я файл Блокнотом
NotePad его открыл, закрузил и закрыл. Вот файл и свободен.
Так многие программы работают. Так что 100%-ое определение "занятости" файла у тебя не получится...


BJValentine   (2002-04-28 13:07:00) [6]

Значит так, открыл я файл Блокнотом, а потом открыл его монопольно в Delphi функцией CreateFile. Открылся этот файл нормально без всяких ошибок. Что делать, ума не приложу!


Suntechnic   (2002-04-26 22:00:00) [7]

>Anatoly Podgoretsky © (26.04.02 21:31)
Я теперь уж и шутить боюсь :)... а то прям не шутки, а руководство к действию получается :)


Anatoly Podgoretsky   (2002-04-26 21:31:00) [8]

Даже смайлики не помогают, настолько серьезно отнеслись к методу :-)


Doom   (2002-04-26 21:14:00) [9]

Кстати я когда прочитал что ты вчера написал чуть со стула со меху не упал, честно.


Suntechnic   (2002-04-26 20:09:00) [10]

Мужики да вы чего? :) Я же пошутил :)))


jonik pegas   (2002-04-26 14:27:00) [11]

Не надо удалять просто перенеси куда нибудь а потом обратно


Anatoly Podgoretsky   (2002-04-26 12:50:00) [12]

Если ты открыл файл в монопольном режие, то это означает, что его никто не использует!


BJValentine   (2002-04-26 09:56:00) [13]

По поводу удалить, интересная мысль, ну а если получится удалить, как я его опять восстанавливать буду? Думаю этот вариант не подходит, а монопольно пробовал открывать, никакой ошибки не выдаёт (пробовал с помощью CreateFile). Может быть я что-то неправильно сделал?


Almaz   (2002-04-26 01:38:00) [14]

Попробуй открыть его монопольно - если получится, то значит его еще никто не открыл.

Удачи.


Suntechnic   (2002-04-25 22:49:00) [15]

Попробуй его удалить. Если не получилось, значит открыт, а если получилось, значит.... не был :)


Наверх

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