Нарисовалась, путем уничтожение кем-то или чем-то части данных :)
Хотелось сделать малой кровью.
Реализована идея использования создания архивной копии базы. Делалось на C++Builder 2010.
В качестве архиватора выбран 7-zip (Оф. сайт)
На сайте можно найти версию для командной строки.
Использованы ключи:
- a - добавить файлы в архив
- -ssw - для добавления файлов уже использующихся (база данных открыта и используется :))
Для запуска архиватора вызовем функцию ShellExecute Упаковываем базу в архив base с добавлением дня, месяца, года.
В обработчике кнопки написал:
UnicodeString base_path; // путь с именем базы данных
UnicodeString arc_path = "7za.exe"; // путь к архиватору
void __fastcall TForm1::BitBtn_Click(TObject *Sender)
{ UnicodeString b_p, opt;
b_p = ExtractFilePath(base_path); // получим путь к базе
opt = "a -ssw "+ b_p + "Backup\\base" + Date().FormatString("dd_mm_yyyy") + " " + base_path + "";
int err = (int)ShellExecute( NULL, "open", arc_path.t_str(), opt.t_str(), "", SW_HIDE);
}
И в общем всё! Дёшево и сердито!