Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2007
Avatar de courtois
courtois courtois is offline
Miembro
 
Registrado: abr 2006
Ubicación: Mexico DF
Posts: 200
Poder: 12
courtois Va por buen camino
Pack a un MDB (usando DAO)

Aqui tenemos otra forma de compactar un MDB, usando DAO, requiere que se añada al uses ComObj

Código Delphi [-]
Procedure PackMdbFile(_Name, _pass: String; Verbose:Boolean);
var
   e:OleVariant;
   mdbDest: string;
   sizei,sizef:Real;
begin
   sizei:=FileSizeByName(_Name)/1024;
   //la base de datos no se compacta sobre si misma sino creauna nueva, compactada
   //por lo cual definiremos como se llamará esa base de datos
   mdbDest:=ExtractFilePath(_name)+'\tmp~'+ExtractFileName(_Name);
   //verificamos si la base de datos destino existe, si es asi, la eliminamos
   if FileExists(mdbDest) then DeleteFile(mdbDest);
   e := CreateOleObject('DAO.DBEngine.36');
   //se comprime la base de datos original en la destino, ojo, la base de datos
   //original no debe estar en uso por nadie mas
   if _pass = EmptyStr then
      e.CompactDatabase(_Name, mdbDest,';LANGID=0x0409;CP=1252;COUNTRY=0',0)
   else
      e.CompactDatabase(_Name, mdbDest,';LANGID=0x0409;CP=1252;COUNTRY=0',0,';PWD='+_pass);
   sizef:=FileSizeByName(mdbDest)/1024;
   //eliminamos la base de datos original, o mejor, le cambiamos el nombre
   DeleteFile(_Name);
   //renombramos la nueva base de datos compactada como se llamaba la base de datos original
   RenameFile(mdbDest, _Name);
   if Verbose then ShowMessage('Hecho, mdb compactada de '+FloatToStr(sizei)+' Kb a '+FloatToStr(sizef)+' Kb');
end;
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


La franja horaria es GMT +2. Ahora son las 01:35:38.


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