Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola José Luís.

Ahora voy a probar el código con el agregado de los Edits. Pero así, a vista de pájaro, pareciera que te falto un espacio al finalizar la constante FILE_BACKUP.

En un rato te pongo el resultado que obtuve.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 03-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo José.

De este modo me funciona correcto:
Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
begin
  if not FileExists(EditTargetName.Text) then
    with TPanel.Create(nil) do
    try
      Caption:= 'Realizando copia de seguridad, aguarde un momento por favor...';
      Font.Size:= 14;
      Font.Name:= 'Arial';
      Width:= 600;
      Height:= 70;
      Left:= (Self.ClientWidth - Width) div 2;
      Top:= (Self.ClientHeight - Height) div 2;
      BevelInner:= bvNone;
      BevelOuter:= bvNone;
      BevelWidth:= 1;
      BorderStyle:= bsSingle;
      Ctl3D:= False;
      Parent:= Self;

      lpOperation:= 'open';
      lpFile:= 'gbak.exe';
      EditPathAndBDName.Text:= EditPathAndBDName.Text + ' ';
      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" ' +
        EditPathAndBDName.Text + EditTargetPath.Text + EditTargetName.Text);
      lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_5\bin');
      ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
    finally
      Free;
    end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-07-2012 a las 01:48:05.
Responder Con Cita
  #3  
Antiguo 04-07-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 15
MartinS Va por buen camino
Hola: Entro solamente para agradecer a Jose Luis por la pregunta y al maestro ecfisa por la respuesta. Hace ya un tiempo que sabia que en algún momento iba a necesitar hacer un backup de firebird pero mientras estaba en desarrollo la aplicación general como que lo veia medio lejos o para no preocuparme (Creo recordar que hace menos de un año arranque con firebird lo que conlleva a aprender Sql, etc, etc y hacer un backup era lo siguiente en la lista). Tambien vi que el tema es mas o menos recurrente y seguramente yo iba a poner la pregunta exacta que hizo Jose Luis. (Simple, cortito y al pie ) un clik en un botón, el backup arranca y listo (Aunque todavia no lo probe pero seguramente va a funcionar).
No me quiero olvidar de Casimiro que aporta un programa donde él lo nombra como "programita" pero siempre que me propuse intentar interpretarlo me agarra un mareo y lo dejo (son demasiadas opciones del "programita" por lo que pagan ).-

Bueno, nada mas que eso y muchas gracias.-

Saludos
Responder Con Cita
  #4  
Antiguo 04-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Martin.

Con solo comparar el código del "programita" de Casimiro con el mío queda bién claro que el maestro no soy yo...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 04-07-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 15
MartinS Va por buen camino
Entonces resumis muy bien. .
Saludos
Responder Con Cita
  #6  
Antiguo 04-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 25
José Luis Garcí Va camino a la fama
Hola compañeros, descubri el problema que tenia, resulta que si las rutas de orige o destino tiene espacios en blanco, debe ir entre comillas dobles. el código queda de la siguiente manera

Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
  varbPasado:Boolean;
begin
  varbPasado:=False;
  if not FileExists(Edit3.Text+'.FBK') then
    with TPanel.Create(nil) do
    try
      Caption:= 'Realizando copia de seguridad, aguarde un momento por favor...';
      Font.Size:= 14;
      Font.Name:= 'Arial';
      Width:= 600;
      Height:= 70;
      Left:= (Self.ClientWidth - Width) div 2;
      Top:= (Self.ClientHeight - Height) div 2;
      BevelInner:= bvNone;
      BevelOuter:= bvNone;
      BevelWidth:= 1;
      BorderStyle:= bsSingle;
      Ctl3D:= False;
      Parent:= Self;

      lpOperation:= 'open';
      lpFile:= 'gbak.exe';
      Edit1.Text:= '"'+Edit1.Text + '" ';
      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" '+
        Edit1.Text +'"'+Edit2.Text+'"');
      lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_1\bin');
      Memo1.Lines.Clear;
      Memo1.Lines.Add(lpParameters);
      ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
      varbPasado:=true
    finally
      if varbPasado=true then ShowMessage('Proceso terminado')
                         else ShowMessage('El fichero ya existe');
      Free;
    end;
end;

Ahora abusando un poco, es logico que pase según mis pruebade de 125 Mb a 8.90 y de 3.40 Mb a 28.5K
y por último cual seria la sentencia correcta para una restauración.

Muchas gracias por ser siempre tan atento ecfisa
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #7  
Antiguo 04-07-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.710
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
Con solo comparar el código del "programita" de Casimiro con el mío queda bién claro que el maestro no soy yo...
Eso se lo dirás a todos

Cita:
Empezado por José Luis Garcí Ver Mensaje
y por último cual seria la sentencia correcta para una restauración.
El problema de los espacios en blanco y que debes poner la ruta entre comillas... puedes verlo en mi código

Para restaurar es exactamente igual, con otros parámetros.

En lugar de gbak -b -t elorigen.fdb lacopia.fbk sería gbak -r -p 8192 lacopia.fbk elorigen.fdb

Eso sí, en este caso no puede haber nadie conectado a la BD, o mejor la restauras con otro nombre y luego sustituyes a la otra, o mejor la renombras... por si acaso hay algún problema en la restauración, no te vayas a quedar sin ninguna de las dos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar archivos ayuda en mi aplicacion? Alejo15x Varios 4 14-05-2010 08:42:16
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 Gaby123 API de Windows 5 04-01-2007 22:44:51
Usar una aplicación externa desde Delphi erika.martinez Varios 9 14-04-2005 18:10:22
Puedo usar en una aplicacion CLX el Fastreport3 ctronx Impresión 1 08-11-2004 17:59:56
gbak jaime cotino Varios 1 21-06-2004 10:48:29


La franja horaria es GMT +2. Ahora son las 01:06:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi