Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 23-09-2003
Lmas Lmas is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 27
Poder: 0
Lmas Va por buen camino
Hola anitra_cattivo.

Creo que exite la función DbiPack..., pero mirando un programa donde compactaba tablas dBase, utilizaba este código que si que funcionaba:


Código:
uses BDE;

procedure PackTable(ATable: TTable);
var
  TblDesc: CRTblDesc;
  hDb: hDbiDb;
  cTablePath: string;
begin
  if not ATable.Active then
    raise Exception.Create('La tabla debe estar abierta.');
  hDb := nil;
  try
    SetLength(cTablePath, MAX_PATH);
    DbiGetDirectory(ATable.DBHandle, True, PChar(cTablePath));
    cTablePath := PChar(cTablePath);
    if (cTablePath <> '') and (cTablePath[Length(cTablePath)] <> '\') then
      cTablePath := cTablePath + '\';
    cTablePath := cTablePath + ATable.TableName;
    FillChar(TblDesc, SizeOf(CRTblDesc), 0);
    with TblDesc do
    begin
      StrPCopy(szTblName, cTablePath);
      bPack := True;
    end;
    ATable.Active := False;
    DbiOpenDatabase(nil, 'STANDARD', dbiReadWrite, dbiOpenExcl, nil,
                    0, nil, nil, hDb);
    DbiSetDirectory(hDb, PChar(cTablePath));
    DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, False);
  finally
    DbiCloseDatabase(hDb);
  end;
end;
SalU2.
__________________
Una cosa es una cosa, y otra cosa es otra cosa...
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 18:33:10.


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