Определить, в использовании ли файлDelphi , Файловая система , ФайлыОпределить, в использовании ли файл
Оформил: DeeCo function IsFileInUse(const fName: TFileName): Boolean; var HFileRes: HFILE; begin Result := False; HFileRes := CreateFile(PChar(fName), 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; procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then if IsFileInUse(Opendialog1.FileName) then ShowMessage('File is in use!'); end; Программный код на Delphi проверяет, является ли файл в использовании другим процессом или нет. Функция Сначала функция создает handle к файлу с помощью функции Переменная Если файл не используется, функция закрывает handle с помощью функции Код затем вызывается из обработчика события клика кнопки ( Альтернативное решение: Вместо использования функции Вот пример модифицированного кода:
Альтернативное решение более эффективно, потому что оно не пытается открыть файл, что может вызвать проблемы, если файл используется другим процессом. Вместо этого оно просто проверяет атрибуты файла, чтобы увидеть, находится ли он в использовании или нет. В статье описывается функция на языке Delphi, которая определяет, занят ли файл в использовании, а также пример ее использования в приложении с помощью кнопки "Открыть". Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |