Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Today's Posts

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 23/05/2004
luna luna is offline
Miembro
 
Join Date: May 2004
Posts: 17
Poder: 0
luna Va por buen camino
Copia de seguridad Delphi

Hola!!
Estoy intentando hacer una copia de seguridad en delphi de dos tablas: alumnos.dbf y bancos.dbf, me han dicho que utilice el siguiente comando: BackupDatabase(connString, "MyTestDB", "D:\MyTestDbBackup.bak")
pero no sé a qué se corresponden los campos y si con esta sentencia me valdría para hacer la copia de dichas tablas en un disquette.
Muchas gracias!!!
Reply With Quote
  #2  
Old 23/05/2004
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
Mírate la ayuda de la función CopyFile al fin y al cabo lo que quieres es copiar unos ficheros. No te olvides si tienes campos Memo de copiar los ficheros del tipo .Dbt y dependiendo el tipo de tablas los ficheros .Cdx ó .Mdx.

También podrías utilizar un fichero de tipo bat
Code:
Echo off
cls
Copy MiTabla.* a:>nul
Copy MiTabla2.* a:>nul
Y llamarlo desde Delphi con la función Winexec.

Un Saludo.
__________________
Guía de Estilo de los Foros
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #3  
Old 23/05/2004
Combat-F2D's Avatar
Combat-F2D Combat-F2D is offline
Miembro
 
Join Date: May 2003
Location: Toletum
Posts: 459
Poder: 24
Combat-F2D Va por buen camino
Quote:
BackupDatabase(connString, "MyTestDB", "D:\MyTestDbBackup.bak")
me podrias dar informacion sobre esa funcion??
Reply With Quote
  #4  
Old 23/05/2004
luna luna is offline
Miembro
 
Join Date: May 2004
Posts: 17
Poder: 0
luna Va por buen camino
HOLA!!

He intentado hacer la copia por otro camino y me sale el siguiente error:
"cannot open AVI". Alguien sabe lo que significa??

Por cierto Julio, no te puedo ayudar porque sigo sin entender los parámetros de la función.

Gracias!!
Reply With Quote
  #5  
Old 23/05/2004
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
Quote:
He intentado hacer la copia por otro camino y me sale el siguiente error:
"cannot open AVI". Alguien sabe lo que significa??
Cuando dices por otro camino, que quieres decir?, si quieres que te ayudemos nos tienes que ayudar tu también, dando más detalles y siendo más explícito.

Un Saludo.
__________________
Guía de Estilo de los Foros
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #6  
Old 23/05/2004
luna luna is offline
Miembro
 
Join Date: May 2004
Posts: 17
Poder: 0
luna Va por buen camino
HOla!!!

Me dijeron que para hacer una copia de seguridad de dos tablas: alumnos.dbf y bancos.dbf sería
muy simple con el comando backupdatabase, pero no lo entiendo.

Entonces me pasaron un código, lo he arreglado un poco xo me sale el error de
cannot open AVI. El código es el siguiente. La primera función y el segundo procedimiento pertenecen
a una unidad y son llamados desde la unidad que contiene el tercer procedimiento.

Graciasssssssss
Código Delphi [-]
 
function TForm5.discolisto(drive:char):boolean;
 var ErrorMode:word;
 begin
  if drive in ['a'..'z'] then Dec(Drive,$20);
  if not (drive in ['A'..'Z'] )then
   raise EConvertError.Create('Unidad no válida');
  ErrorMode:=SetErrorMode(SEM_FailCriticalErrors);
  try
   if DiskSize(Ord(drive)-$40) = -1 then
    result:=false
     else result:=true;
  finally
   SetErrorMode(ErrorMode);
  end;
 end;
procedure TForm5.copiarTabla(const strFuente,strTarget:string);
 var hDB:HDBIDB;
 const SOBRESCRIBIR=Bool(TRUE);
 begin
  screen.cursor:=crHourglass;
  with TTable.Create(Application) do
   try
    DatabaseName:=extractFilePath(strFuente);
    TableName:=extractFileName(strFuente);
    ProgressBar1.Position:=10;
    open;
    ProgressBar1.Position:=15;
    hDB:=DBHandle;
    close;
    ProgressBar1.Position:=25;
    check(dbiCopyTable(hDB,SOBRESCRIBIR,pChar(strFuente),'DBASE',
pChar(strTarget)));
    ProgressBar1.StepBy(25);
   finally
    free;
    ProgressBar1.Position:=25;
    screen.cursor:=crDefault ;
    ProgressBar1.Position:=ProgressBar1.Max;
   end;
  end;
 end.
 
procedure TPRINCIPAL.CopiaClick(Sender: TObject);
begin
 origen:= origen1;
 destino:=destino1;
 if Form5.discolisto(des) then
  begin
   with Form5 do
    begin
    Show;
     animacion.active:=true;
     copiarTabla(origen,destino);
     Lcopia.Caption:='Copia realizada ';
     animacion.active:=false;
     close;
    end;
 end
 else
  MessageDlg('Introduzca disco',mtWarning,[mbOK],0);
end;

Last edited by marcoszorrilla : 23/05/2004 at 19:29.
Reply With Quote
  #7  
Old 23/05/2004
__cadetill __cadetill is offline
Miembro
 
Join Date: May 2003
Posts: 3,387
Poder: 27
__cadetill Va por buen camino
Dios!!!! pero como se le va la olla a la peña!!!!

luna, en serio, si sólo son 2 ficheritos..... has caso a Marcos y mírate el comando CopyFile

Si fuera todo una carpeta, en mi web tienes un truco (no recuerdo si el 1 o el 2 ) que te ayudará a copiar toda una carpeta

También tienes en mi web un programa para hacer backup que incluso te comprime los datos (usando la librería ZLib), pero repito, si sólo son 2 tablas... no te compliques la vida y usa lo que te comenta Marcos
Reply With Quote
  #8  
Old 23/05/2004
luna luna is offline
Miembro
 
Join Date: May 2004
Posts: 17
Poder: 0
luna Va por buen camino
Hola otra vez!!!

Hemos entrado en tu pagina y el truco 2 está muy bien xo no lo entendemos del todo, de q parte podríamos prescindir o todo es absolutamente necesario para lo que necesitamos hacer??

buscamos lo del CopyFile en la ayuda de delphi xo no vienen ejemplos


Graciasssssssssss
Reply With Quote
  #9  
Old 23/05/2004
__cadetill __cadetill is offline
Miembro
 
Join Date: May 2003
Posts: 3,387
Poder: 27
__cadetill Va por buen camino
Hola

Como te decía, eso es para copiar toda una carpeta y sus subcarpetas. Si es solo para 2 archivos y sabes la ruta y el nombre.....

Código Delphi [-]
CopyFile('FOrigen', 'FDestino', false);
Reply With Quote
  #10  
Old 23/05/2004
luna luna is offline
Miembro
 
Join Date: May 2004
Posts: 17
Poder: 0
luna Va por buen camino
Hola!!

Somos muy pesadas, xo eso es lo que hemos hecho:

FOrigen:=' C:\Documents and Settings\MANUEL\Mis documentos\Home\DELPHI\Fuentes Ejercicios Delphi\Tablas\Bancos.dbf';
FDestino:=' C:\Documents and Settings\MANUEL\Mis documentos';
ok:=CopyFile(Pchar(FOrigen), Pchar(FDestino), false);
if ok then
MessageDlg('funciona',mtWarning,[mbOK],0);

¿Qué es lo que estamos haciendo mal? xq el mensaje de ok no se imprime y
x supuesto no copia nada

gracias de verdad.
Reply With Quote
  #11  
Old 23/05/2004
DarkByte's Avatar
DarkByte DarkByte is offline
Miembro
 
Join Date: Sep 2003
Location: Desconocido
Posts: 1,322
Poder: 25
DarkByte Va por buen camino
luna, ¿porqué no pruebas a meter tu código en las etiquetas [ DELPH ] y [ / DELPHI ] sin espacios?, quedaría algo así:

Código Delphi [-]
FOrigen:=' C:\Documents and Settings\MANUEL\Mis documentos\Home\DELPHI\Fuentes Ejercicios Delphi\Tablas\Bancos.dbf';
FDestino:=' C:\Documents and Settings\MANUEL\Mis documentos';
ok:=CopyFile(Pchar(FOrigen), Pchar(FDestino), false);
  if ok then
     MessageDlg('funciona',mtWarning,[mbOK],0);

Me parece a mí que el error está en:
Código Delphi [-]
FDestino:=' C:\Documents and Settings\MANUEL\Mis documentos';
No especificas el nombre del archivo, supongo que la solución sería sustituirlo por
Código Delphi [-]
FDestino:=' C:\Documents and Settings\MANUEL\Mis documentos\Bancos.dbf';

Saludos!
__________________
:)
Reply With Quote
  #12  
Old 23/05/2004
luna luna is offline
Miembro
 
Join Date: May 2004
Posts: 17
Poder: 0
luna Va por buen camino
Gracias!!!!!!!!

llevamos toda una tarde y al final eran tres sentencias. Ahora entendemos cdo dijiste q se nos iba la olla con el código anterior!!
gracias a todos
Reply With Quote
  #13  
Old 23/05/2004
DarkByte's Avatar
DarkByte DarkByte is offline
Miembro
 
Join Date: Sep 2003
Location: Desconocido
Posts: 1,322
Poder: 25
DarkByte Va por buen camino
¿Cuál fué al final la solución? ¿La de cadetill y marcoszorrilla en la que yo te he tenido que ayudar o alguna otra?
__________________
:)
Reply With Quote
  #14  
Old 24/05/2004
Julià T. Julià T. is offline
Miembro
 
Join Date: May 2003
Location: en el teclado
Posts: 314
Poder: 24
Julià T. Va por buen camino
ojo al copiar ficheros de tablas, ya que si estas no estan siendo utilizadas o abiertas por la misma u otra aplicación, no se va a copiar todo el contenido de las tablas ya que una parte estará todavia en memória o peor la cópia podria no servir para nada.
Reply With Quote
  #15  
Old 24/05/2004
luna luna is offline
Miembro
 
Join Date: May 2004
Posts: 17
Poder: 0
luna Va por buen camino
Hola a tod@s!

Al final lo hicimos con el CopyFile y la ruta, y pensar las vueltas que le dimos, que malo es no saber!!!

Gracias de nuevo
Reply With Quote
  #16  
Old 12/10/2007
ingabraham's Avatar
ingabraham ingabraham is offline
Miembro
 
Join Date: Aug 2007
Posts: 614
Poder: 20
ingabraham Va por buen camino
Y Para Restaurar

with IBBackupService1 do begin
Active := True;
try
DatabaseName := 'C:\SOFTWARE_NOMINA\NOMINA_GOBERNACION.GDB';
BackupFile.Add('D:\NOMINA_GOBERNACION.GDB');
ServiceStart;
while not EOF do Memo1.Lines.Add(GetNextLine);
finally
Active := False;
end;

COMO HAGO PARA RESTAURAR ESTA COPIA

CON EL IBRESTORESERVICE1
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 18:34.


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