Antes que nada, Bienvenido a ClubDelphi.com. Jdvc.
Espero, que dada mi poca experiencia, los demás compañeros puedan mejorar el siguiente código que encontré un día en internet, no puedo dar la dirección porque acabo de dar formato a mi Ordenador y desafortunadamente, olvidé respaldar mis enlaces web.
Pido ayuda a los demás compañeros, pues aunque ésta función respalda la base de datos en una dirección asignada en tiempo de construcción, me resultaba una falta de información.
Me explico, yo entraba al Sistema, realizaba movimientos como actualizaciones, Altas, etc, y al momento de respaldar, lo hacía correctamente, hasta antes de dichos movimientos que acababa de hacer; por lo tanto era necesario entrar nuevamente al sistema y ejecutar otra vez en un BitBtn la función de respaldo, y sólo así me respaldaba los últimos movimientos...
A ver si ésta función se ajusta a lo que pide el compañero. Yo la empleé para Paradox, trabajando en Delphi7.
Añadiendo,
ShellApi al Uses del Formulario donde se ejecutará el respaldo.
Código Delphi
[-]
procedure TForm1.RespaldoClick(Sender: TObject);
function Respaldo_BD(Origen,Destino : String) :
LongInt;
var
F : TShFileOpStruct;
sOrigen, sDestino : String;
begin
Result := 0;
sOrigen := Origen + #0;
sDestino := Destino + #0;
with F do
begin
Wnd := Application.Handle;
wFunc := FO_COPY;
pFrom := @sOrigen[1];
pTo := @sDestino[1];
fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION
end;
Result := ShFileOperation(F);
end;
begin
Respaldo_BD('c:\CarpetaOrigen\Base_Datos\Nombre_Base_Datos\*.*', 'c:\CarpetaDestino\RESPALDO_BaseDatos\Nombre_Base_Datos');
end;
Espero y que a partir de ella vengan más ideas.
{Saludos}