Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.47 MB
Время: 0.003 c
2-1295467098
Тимоха111
2011-01-19 22:58
2011.06.05
Задержка sleep


6-1237972450
антон1243232
2009-03-25 12:14
2011.06.05
Проблема со склейкой пакетов


15-1297891798
Юрий
2011-02-17 00:29
2011.06.05
С днем рождения ! 17 февраля 2011 четверг


3-1260262902
mz
2009-12-08 12:01
2011.06.05
sql-запрос


15-1297845189
Tirael
2011-02-16 11:33
2011.06.05
виртуальная NTFS





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