![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование CheckBox... [D3, Win95/98]
inko © (2002-04-09 15:40:00)Использование CheckBox...
Мне нужно, чтобы пользователь, поставив флажок на CheckBox2, и нажав кнопку Button7
задействовал функцию CopyFile(OpenDialog1.Filename, OpenDialog1.Filename),а убрав флажок из CheckBox2эта функция пропускалась бы. Я сделал следующее... но почему-то выводится ошибка " I/O Error 32":
procedure TForm1.Button7CandgeClick(Sender: TObject);
begin
IF CheckBox2.Checked THEN
BEGIN
CopyFile(OpenDialog1.Filename, OpenDialog1.Filename);{создание резервной копии файла, который используеться системой}
END;
if ApplicationUse(OpenDialog1.Filename) then //проверка использования файла
CreateReplaceDialog(OpenDialog1.Filename, OpenDialog2.Filename) //создание диалога
else
ReplaceFile(OpenDialog2.Filename, OpenDialog1.Filename); {замена файла, если он не используется}
end;
Возможно, ошибка в procedure создания резервной копии файла, который используется системой:
procedure CopyFile(FromFileName, ToFileName : string);
var
FromFile, ToFile: File;
begin
AssignFile(FromFile, FromFileName);
AssignFile(ToFile, ToFileName + ".bak");
Reset(FromFile);
try
Rewrite(ToFile);
try
if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle)<0 then
raise Exception.Create("Error create Backup file !")
finally
CloseFile(ToFile);
end;
finally
CloseFile(FromFile);
end;
end;
inko (2002-04-09 17:58:00) [1]Попробую.
Alex_R (2002-04-09 17:37:00) [2]А ChangeFilelExt не покатит?
CopyFile(OpenDialog1.Filename,
ChangeFilelExt(OpenDialog1.Filename, ".bak"));
inko (2002-04-09 16:57:00) [3]> Darkwin ©
Да, возможно, тут я ступил,
CopyFile(OpenDialog1.Filename, OpenDialog1.Filename);
но как же создать резервную копию в в том же каталоге, где и оригинал?
Anatoly Podgoretsky (2002-04-09 16:06:00) [4]inko (09.04.02 15:59)
Исаользуй родной CopyFile
eSKey (2002-04-09 16:01:00) [5]
> Darkwin
он использует собственную процедуру с именем CopyFile
inko (2002-04-09 15:59:00) [6]Да, но с расширением .bak, или так плохо ?
Может, подскажите как лучше сделать резервную копию, чтобы к копии файла просто добалялось .bak.
Darkwin (2002-04-09 15:52:00) [7]CopyFile(OpenDialog1.Filename, OpenDialog1.Filename);
Как это понимать? Копировать файл в себя самого? И где третий параметр:BOOL bFailIfExists?