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 Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
A colación:

Yo tengo código de internet que permite ejecutar una orden y recoger el resultado de la línea de comando en un String. Es útil para saber si ha dado algún error o no. Lo usé con gbak porque quería hacer un reparador de BBDD Firebird automático.

Si crees que te sirve, avisa y pego por aquí.

Básicamente hacía todos los pasos descritos en http://www.destructor.de/
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 03-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
muchas gracias Lepe, por supuesto todo lo que ayude es de agradecer y lo que no también (por la intención)
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #3  
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é Luis.

Hay un detalle en el código que te puse, que si bién no afecta el funcionamiento, es innecesario.

Donde dice:
Código Delphi [-]
   StringOfChar('0',4-Length(IntToStr(YearOf(Now))))+IntToStr(YearOf(Now))

Bién podría decir
Código Delphi [-]
   IntToStr(YearOf(Now))
con el mismo efecto...


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 03-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
ecfisa, he probado el código pero no va, lo único que he cambiado son las constantes y que lo ejecuto en un boton, te pongo el código por si ves, que he cometido algún error.

Código Delphi [-]
procedure TForm1.SpeedButton4Click(Sender: TObject);
const
   PATH_BACKUP = 'C:\TEBICA PROGRAMA\SEG BD\';
   FILE_BACKUP = 'C:\TEBICA PROGRAMA\BD\TEBICA.FDB';
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
  Nombre: string;
begin
//   Componer nombre de archivo (yyyymmdd.fbk)
  Nombre:= StringOfChar('0',4-Length(IntToStr(YearOf(Now))))+IntToStr(YearOf(Now)) +
    StringOfChar('0',2-Length(IntToStr(MonthOf(Now))))+IntToStr(MonthOf(Now)) +
    StringOfChar('0',2-Length(IntToStr(DayOf(Now))))+IntToStr(DayOf(Now))+ '.FBK';
  if not FileExists(Edit4.Text + Edit5.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';
//      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" '+Edit3.Text + Edit4.Text + Edit5.Text);
      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" '+ FILE_BACKUP + PATH_BACKUP + Nombre);
      lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_5\bin');
      ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
    finally
      Free;
    end;
end;

Mi firebirrd es 2_5 y esta activo (Run) como un servicio y el (Start) en automático,por si te sirve de ayuda.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #5  
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
  #6  
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
  #7  
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
  #8  
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
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 04:35:18.


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