Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с копированием файлов. [D6, Win2k, WinXP]


crosin ©   (2002-07-02 12:37:00) 

Добрый день. Проблема такая Нужно перенести файл. Но не получается это сделать когда скажем кто то другой сидит в этом файле. как сделать обработку ошибки что если файл используется кем то, то его не трогать а если свободен то перенести.


Death for...   (2002-07-02 17:48:00) [1]

Вот так ты можешь проверить, используется ли файл:

Function ApplicationUse(fName : string ) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then exit;
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 ApplicationUse("c:\project1.exe") then
ShowMessage("Application in use")
else
ShowMessage("Application not in use");
end;


alexdbases   (2002-07-02 16:23:00) [2]

try
FileOpen
перенос...
except
ShowMessage("Error");


Игорь Шевченко   (2002-07-02 13:08:00) [3]

Если не получается скопировать то и выдавать сообщение об ошибке...


Наверх

Титульная страница Поиск, карта сайта Написать письмо