Pack compactar base de datos delphi

¿Cómo puedo compactar bases de datos paradox en delphi, usando el objeto ttable, con la propiedad databsename el path en donde están los archivos paradox y en tablename el nombre de la tabla especifica, es decir sin usar alias?

1 respuesta

Respuesta
1
Uses
DBIProcs, DBITypes, DBIErrs;
function PackTable(tbl:TTable; db:TDatabase):DBIResult;
var crtd: CRTblDesc;
begin
Result := DBIERR_NA;
with tbl do
if Active then
Active := False;
with db do
if not Connected then
Connected := True;
FillChar(crtd,SizeOf(CRTblDesc),0);
StrPCopy(crtd.szTblName,tbl.TableName);
crtd.bPack := True;
Result := DbiDoRestructure(
db.Handle,1,@crtd,nil,nil,nil,FALSE);
end;
{Example of use:}
procedure TForm1.Button1Click(Sender: TObject);
begin
if PackTable(Table1,DataBase1) = DBIERR_NONE then
...
else
MessageBeep(0);
end;
No necesitás usar alias, por lo menos en Delphi. En la propiedad DatabaseName del DataBase1, ponele el path del sistema operativo y listo.
Si te sirvió, no te olvides de calificarme en TodoExpertos. Si no te sirvió, avisame que te ayudo.
Marcelo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas