Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > FileExists and copyFile


Автор: staziah2 6.5.2015, 09:39
Добрый день! Подскажите,как сделать,чтобы при проверке (копировании) файла заблокировать? То есть выбрали файл,скопировали,но как проверить,что скопировался,и если он не скопировался,надо сделать блокировку,но при этом не попало в дбгрид данных,а если скопировался файл,то спокойно в дбгрид данные добавили.

Код:
Код

procedure TForm2.Button1Click(Sender: TObject);
var Path1, Path2 , Path3: String;
begin
Path1 := Form2.wwDBComboDlg1.Text; //открыли опендиалог,выбрали файл,и на комбо строка.
Path2 := '\\Fs\наряды;\'+cex.Text+'\'+data.Text+'\'+cex.Text+'_'+wwDBLookupCombo1.Text+'_'+Edit2.Text+'.tif'; 
Path3 := '\\Fs\наряды;\'+cex.Text+'\'+data.Text;
if FileExists(Path3)=false then
begin
  if ForceDirectories(Path3) then
  CopyFile(Path1,Path2);
end;

делфи7. Спасибо за помощь.

Автор: Poseidon 6.5.2015, 14:33
Цитата(staziah2 @  6.5.2015,  09:39 Найти цитируемый пост)
как проверить,что скопировался

CopyFile - это функция, которая возвращает True при успешном копировании.

Цитата(staziah2 @  6.5.2015,  09:39 Найти цитируемый пост)
надо сделать блокировку

Не понятно что значит "блокировка". Если сделать так, что бы его нельзя было удалить или изменить, то, как вариант, можно просто открыть его на запись через тот же TFileStream. Примитивно, но работать будет.

Автор: staziah2 7.5.2015, 01:17
Цитата(Poseidon @ 6.5.2015,  14:33)
Цитата(staziah2 @  6.5.2015,  09:39 Найти цитируемый пост)
как проверить,что скопировался

CopyFile - это функция, которая возвращает True при успешном копировании.

Цитата(staziah2 @  6.5.2015,  09:39 Найти цитируемый пост)
надо сделать блокировку

Не понятно что значит "блокировка". Если сделать так, что бы его нельзя было удалить или изменить, то, как вариант, можно просто открыть его на запись через тот же TFileStream. Примитивно, но работать будет.

CopyFile - это функция, которая возвращает True при успешном копировании. 
но однако странно,что если он не скопировался,то всё равно возвращает true. Вот в чем прикол!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)