Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Блокировка файла

Delphi , Файловая система , Файлы

Блокировка файла

...действительно, когда вы запрашиваете о блокировке файла и прерывания DOS, это относится к блокировке записи. Если вы хотите иметь полностью монопольный доступ к файлу, то в этом случае вы должны воспользоваться переменной FileMode. Вот пример кода моей программы, где я использую эту переменную:


type
  FileShareType = (DenyCompatibility, DenyAll, DenyWrite, DenyRead, DenyNone);
  FileAccessType = (ReadOnly, WriteOnly, ReadWrite);

procedure SetFileAccess(AccessMode: FileAccessType; ShareMode: FileShareType);
{ Устанавливаем режим доступа к файлу для следующего вызова открытия файла }
begin
  FileMode := ord(AccessMode) or (ord(ShareMode) shl 4)
end;

Перевод на русский язык:

Это фрагмент кода на Паскале, демонстрирующий, как установить режим доступа к файлу и режим деления с помощью переменной FileMode. Код определяет два перечисления: FileShareType и FileAccessType, которые представляют собой различные типы деления и режимы доступа к файлам соответственно.

Процедура SetFileAccess принимает два параметра: AccessMode (типа FileAccessType) и ShareMode (типа FileShareType). Эта процедура устанавливает режим файла, комбинируя режим доступа и режим деления с помощью операций побитового сложения.

Вот что происходит в коде:

  1. Функция ord используется для преобразования значения перечисления AccessMode в целое число.
  2. Оператор shl (сдвиг влево) используется для сдвига бит значения перечисления ShareMode на 4 позиции, эффективно умножая его на 16. Это делается потому, что режим файла требует 4-битового поля для режимов деления.
  3. Два значения комбинируются с помощью оператора побитового сложения (or). Это создает целое значение, представляющее собой режим доступа к файлу и режим деления.

Полученное значение FileMode можно использовать при открытии файла для указания желаемого режима доступа и режима деления.

Например, если вы хотите открыть файл только для чтения (без записи) и запретить все режимы деления, вы бы вызвали процедуру следующим образом:

SetFileAccess(ReadOnly, DenyAll);

Это установит значение FileMode в комбинацию режима только для чтения доступа к файлу и режима запрета всех режимов деления.

В целом, этот код предоставляет гибкий способ управления режимами доступа и деления файлов в программах на Паскале.

Блокировка записи в файле достигается не только запросом на прерывание DOS, но и использованием переменной FileMode для полного монопольного доступа к файлу.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Файлы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-06-02 10:20:12
2024-07-23 20:43:39/0.0036690235137939/0