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;