На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
  
> Как определить, открыт ли файл или нет?
    Имеется куча открытых и не открытых файлов.
    Как определить, точнее написать функцию, при передаче которой файловой переменной, она будет возвращать, открыт ли файл или нет.
    Надо для критического завершения работы программы, т.е. чтоб все было корректно закрыто и удалено. Да, желательно, чтоб в функцию передавались файлы любого типа. Заранее спасибо за помощь!
      Ну, во-первых, при выходе все файлы закрываются автоматически (правда, если у тебя открыт тексовый файл для записи, то данные, которые остались в буфере, записаны не будут).
      А во-вторых, вот оно:
      Function IsClosed(var F): Boolean; assembler;
      Asm
      les di,F
      mov al,1
      cmp byte ptr es:[di+2],0B0h
      jbe @Closed
      dec ax
      @Closed:
      End;
        Кстати, возвращает TRUE (т.е, что файл закрыт) даже, если он не был открыт, или даже, если ему не было присвоено имя (Assign).
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0.0780 ]   [ 14 queries used ]   [ Generated: 23.10.26, 06:00 GMT ]