1 (edited by alex842 2014-11-12 13:31:15)

Topic: Компонент DBFile: Копирование файла с переименованием

Есть база данных заказчиков. На каждой карточке заказчика есть компонент DBFile. При выборе в нем файла с реквизитами он копируется в заранее определенную папку. Поскольку сейчас все файлы называются абы как, то хотелось бы, чтобы при копировании происходило переименование файла по определенную шаблону. Напр., "Реквизиты"+значение из поля Название фирмы, т.е. было "Файл с реквизитами для организации ОоО КАРАВАН (+телефоны).txt", а получилось "Реквизиты ООО КАРАВАН.txt".

Re: Компонент DBFile: Копирование файла с переименованием

В принципе это возможно, но тогда копировать файл в определенную папку придется в ручную, с помощью скрипта.
Рядом с компонентом DBFile необходимо расположить кнопку, с помощью которой все это и будет происходить.


Допустим у нас есть папка files в папке с проектом, куда файлы будут копироваться.
В компонент DBFile, в его свойство CopyTo также необходимо прописать files

procedure frmAbonent_Button8_OnClick (Sender: string; var Cancel: boolean);
var
   Dialog: TOpenDialog;
   sNewFileName: string;
begin
     Dialog := TOpenDialog.Create(frmAbonent);

     if Dialog.Execute then
     begin
          sNewFileName := 'Реквизиты ООО КАРАВАН.txt'; // создаем новое имя файла
          CopyFile(Dialog.FileName, 'files\' + sNewFileName); // копируем файл в папку files с новым именем

          // заполняем свойства компонента в ручную
          frmAbonent.dbFile.dbFileName := '\files\' + sNewFileName;
          frmAbonent.dbFile.Text :=  ExtractFileName(sNewFileName);
          frmAbonent.dbFile.dbFileIsChanged := True;
     end;

     Dialog.Free;
end;
Dmitry.

Re: Компонент DBFile: Копирование файла с переименованием

Спасибо!
Кое-что поправил (учет расширения начального файла, перенес копирование на кнопку сохранения записи) и все стало как хотелось!