![]() |
![]() ![]() ![]() ![]() |
|
Определить, в использовании ли файл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 прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||