Форум: "Начинающим";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];
Внизкак проверить, что файл открыт Найти похожие ветки
← →
>|< (2011-02-21 12:25) [0]var f:text
oncreate:
AssignFile(f, ...)
onclose, onexception:
if Assigned(f) then //<- не работает
CloseFile(f)
Вопрос: как получить указатель на открытый файл и удостовериться в том, что файл открыт?
← →
KSergey © (2011-02-21 12:55) [1]Логика кода должна быть устроена так, чтобы CloseFile(f) не вызывался, если AssignFile выполнился с ошибкой.
Если этого сделать сейчас нельзя - то либо отдельный флажок взводить булевый при успешном открытии файла, либо перед ClosaFile стасить {$I-} и роверять IOResult (а можно и не проверять, смысла особого нет)
← →
Palladin © (2011-02-21 12:55) [2]AssignFile это не открытие файла
← →
И. Павел © (2011-02-21 12:56) [3]Перед открытием первого файла, IntToStr(TTextRec(f).Handle) = nil. Но после закрытия она <> nil, так что нужно самостоятельно устанавливать.
← →
И. Павел © (2011-02-21 12:57) [4]> IntToStr(TTextRec(f).Handle) = nil
TTextRec(f).Handle = nil
← →
Dennis I. Komarov © (2011-02-21 13:06) [5]if DeleteFile(filename) then
ShowMessage("Файл был не открыт");
← →
Dennis I. Komarov © (2011-02-21 13:11) [6]А зачем такое чудо надо? Ну проверили, ну "не открыт", пытаемся открыть, а он уже и не дается...
← →
Anatoly Podgoretsky © (2011-02-21 14:38) [7]> KSergey (21.02.2011 12:55:01) [1]
AssignFile не может вызвать ошибку, если тип string
← →
Anatoly Podgoretsky © (2011-02-21 14:38) [8]> Dennis I. Komarov (21.02.2011 13:06:05) [5]
Вечная память
← →
>|< (2011-02-21 15:28) [9]
>
> TTextRec(f).Handle = nil
так не работает
> AssignFile это не открытие файла
это понятно
может лучше открывать, записывать и тут-же закрывать?
или писать в стриглист, а потом его сбрасывать в файл.
но если случится фатал эррор, ничего не сохранится
← →
Smile (2011-02-21 15:34) [10]А с какой "интересы" может интересовать открыт файл кем то или нет?
Желательно, вопросы формулировать конкретней.
Вы собираетесь писАть в этот файл?
← →
Dennis I. Komarov © (2011-02-21 15:39) [11]Чего-чего, лог конечно.
← →
Игорь Шевченко © (2011-02-21 18:33) [12]
> так не работает
with TTextRec(F) do
if Mode = fmClosed then
закрыт
← →
>|< (2011-02-21 18:56) [13]
> Игорь Шевченко © (21.02.11 18:33) [12]
респект и уважуха!
← →
Leonid Troyanovsky © (2011-02-21 21:51) [14]
> как проверить, что файл открыт
> >|< (21.02.11 12:25)
Проверять открытость файла не надо _никогда_.
Бо, сейчас он открыт, а через дестять колов
времени его может и, во-ще, не быть.
--
Regards, LVT.
← →
Игорь Шевченко © (2011-02-21 23:00) [15]
> Бо, сейчас он открыт, а через дестять колов
> времени его может и, во-ще, не быть.
тут есть один момент - открытость файла имеет смысл только по отношению к программе :)
← →
Германн © (2011-02-22 02:41) [16]
> тут есть один момент - открытость файла имеет смысл только
> по отношению к программе
Точнее тут есть один бред. Нафига нужно проверять открыт ли уже файл твоей собственной программой?
← →
Palladin © (2011-02-22 14:36) [17]ну вдруг забыл
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c