
Последние записи
- Конвертер heic в jpg
- Проверка на шестнадцатеричный формат записи
- Отдать пользователю файл с помощью file_get_contents()
- Написать собственую функцию operator[] для битов
- Проблема с движением 2D человека
- OpenGl.Создание винтовой лестницы
- Склеить несколько файлов в один
- Windows 10 сменить администратора
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage

Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
21st
Янв
Создание архивных копий базы
Posted by maloy under Delphi
SunnyCrash
В интернете (http://pblog.ru/lab/?p=360) нашел код где показано что копии будут создаваться после 5ти изменений в таблице но ничего не рработает может кто то поможет?
procedure LookDir(StartDir, Mask : String; List : TStringList); var SearchRec : TSearchRec; begin if Mask = '' then Mask := '*.*'; if StartDir[Length(StartDir)] <> '' then StartDir := StartDir + '\'; if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then begin repeat if (SearchRec.Attr and faDirectory) <> faDirectory then begin List.Add(StartDir+SearchRec.Name); end else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then LookDir(StartDir + SearchRec.Name + '', Mask, List); until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; end; procedure BackUpBD; var path1,path2,fname:string; i,colfiles:integer; lst:tstringlist; begin colfiles:=5;//количество хранимых последних версий файла path1:=extractfilepath(application.ExeName); path2:=extractfilepath(application.ExeName)+'BackUpBD\'; if not DirectoryExists(path2) then MkDir(path2); fname:=path2+formatdatetime('yyyy-mm-dd hh-nn-ss',now)+'-BD.mdb.back'; //BD.mdb - имя файла вашей БД if copyfile(PChar(path1+'BD.mdb'),PChar(fname),false) = true then begin lst := TStringList.Create; LookDir(path2, '*.back', lst); if Lst.Count>colfiles then for i:= 0 to Lst.Count - colfiles-1 do deletefile(lst.Strings); lst.Free; end else showmessage('Файл с БД не найден!'); end;
может кто то покажет исходник рабочий?
Dark_Spirit
а не проще сделать архивацию после того как пользователь закончил работу с программой?
var param1, param2:string; begin param1:='a -agYYYYMMDD-NN -m5 -inul d:\arxiv\baza_'; param2:='<полный путь к базе>'; shellexecute(0, 'open', 'winrar', PChar(param1+' '+param2), nil, sw_show); end;
как бы так.
<полный путь к базе> — попробуйте узнать через свойства вашего объекта которым подключаетесь к базе.
param1 — строка ключей для архиватора winrar(всё есть в хелпе)
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var a,b: PChar; begin a := Pchar('D:\dddd.rar'); //создает архив под названием дддд b:=Pchar('D:\1\*.*'); // папка с которой берет файлы, для использования нужен ShellApi ShellExecute(0, 'open', 'WinRAR.exe', Pchar('a -r -ep1 '+a+' '+b), nil, SW_SHOW); end;
так работает
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)