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

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

Использование 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?


Наверх

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