Page 2 of 2

Posted: Thu Nov 27, 2008 8:01 pm
by dobfivewin
dob.ini no hace falta

colocar directamente
#include 'fivewin.ch'

Code: Select all | Expand

Function DIRECMain()
local cDirName := cGetDir()
MsgInfo( LFN2SFN( cDirName ) )
Return LFN2SFN( cDirName )

Posted: Thu Nov 27, 2008 8:39 pm
by dobfivewin

Code: Select all | Expand

Function DIRECMain()
local cDirName := cGetDir()
MsgInfo( LFN2SFN( cDirName ) )
Return LFN2SFN( cDirName )

Posted: Sat Nov 29, 2008 8:50 am
by dobfivewin
Actualizando la Funcion Sugeridad....

Code: Select all | Expand

static mUBI_ORI
static mUBI_DES
static mNOMARCHIVO

Function BackupZIP()

local oDlgCar , oFont1

dbcloseall()

DEFINE FONT oFont1 NAME 'Arial' SIZE 0,-15 BOLD

DEFINE DIALOG oDlgCar FROM 0, 0 TO 12, 40 ;
              TITLE 'GUARDAR / RECUPERAR INFORMACION'

 
   @ 1, 8 BUTTON 'Guardar Informacion'  OF oDlgCar SIZE 60, 12 ;
                    ACTION ( ArmarBackup(1) )


   @ 2, 8 BUTTON 'Recuperar Informacion'  OF oDlgCar SIZE 60, 12 ;
                    ACTION ( ArmarBackup(2) )

 
   @ 3, 8 BUTTON 'Salir' OF oDlgCar SIZE 60, 12 ;
                  ACTION ( oDlgCar:End() )

ACTIVATE DIALOG oDlgCar CENTERED

dbcloseall()
return .t.

*-----------------------------------------------------------------------------
Function ArmarBackup(Arma1Extrae2)

local oDlgCar
local oFont1

local oUBI_ORI , oUBI_DES , oNOMARCHIVO
local xUBI_ORI:=CurDrive()+':\'+CurDir()+'\'

mUBI_ORI:=xUBI_ORI+SPACE(60-LEN(xUBI_ORI))
mUBI_DES:=xUBI_ORI+SPACE(60-LEN(xUBI_ORI))
mNOMARCHIVO:=SPACE(20)

dbcloseall()

DEFINE FONT oFont1 NAME 'Arial' SIZE 0,-9 //BOLD

DEFINE DIALOG oDlgCar FROM 0, 0 TO 15, 80 ;
              TITLE If(Arma1Extrae2==1,'GUARDAR','RECUPERAR')+' INFORMACION'

   @ 1.750, 1 SAY 'Carpeta de Origen' of oDlgCar

   @ 1.500, 9 BUTTON 'Buscar' OF oDlgCar  SIZE 20, 10 Font oFont1 ;
                     ACTION( mUBI_ORI:=DIRECMain() ,;
                             mUBI_ORI:=alltrim(mUBI_ORI)+'\' ,;
                             mUBI_ORI:=mUBI_ORI+space(60-len(mUBI_ORI)) ,;
                             oUBI_ORI:refresh() )

   @     2,10 GET oUBI_ORI var mUBI_ORI of oDlgCar


   @ 2.625, 1 SAY 'Carpeta de Destino' of oDlgCar

   @ 2.250, 9 BUTTON 'Buscar' OF oDlgCar  SIZE 20, 10 Font oFont1 ;
                     ACTION( mUBI_DES:=DIRECMain() ,;
                             mUBI_DES:=alltrim(mUBI_DES)+'\' ,;
                             mUBI_DES:=mUBI_DES+space(60-len(mUBI_DES)) ,;
                             oUBI_DES:refresh() )

   @     3,10 GET oUBI_DES var mUBI_DES of oDlgCar


   @ 3.500, 1 SAY 'Archivo ZIP' of oDlgCar

   If Arma1Extrae2 == 2
     @ 2.950, 9 BUTTON 'Buscar' OF oDlgCar  SIZE 20, 10 Font oFont1 ;
                       ACTION( mNOMARCHIVO := cGetFile32( 'ZIP  (*.zip)| *.zip|' + 'Seleccione un archivo de ZIP',3) ,;
                               oNOMARCHIVO:refresh() )
   EndIf

   @     4,10 GET oNOMARCHIVO var mNOMARCHIVO of oDlgCar

   If Arma1Extrae2 == 1
     @ 4.3, 10 BUTTON 'Guardar Informacion'  OF oDlgCar SIZE 60, 10 ;
                       ACTION ( Backup1(alltrim(mNOMARCHIVO),alltrim(mUBI_ORI),alltrim(mUBI_DES)) ,;
                               oDlgCar:End() )
   Else
     @ 4.3, 10 BUTTON 'Extraer Informacion'  OF oDlgCar SIZE 60, 10 ;
                       ACTION ( Backup2(alltrim(mUBI_DES),alltrim(mUBI_ORI),alltrim(mNOMARCHIVO)) ,;
                               oDlgCar:End() )
   EndIf


   @ 4.3, 30 BUTTON 'Salir' OF oDlgCar SIZE 60, 10 ;
                  ACTION ( oDlgCar:End() )

ACTIVATE DIALOG oDlgCar CENTERED

dbcloseall()
return .t.

*-----------------------------------------------------------  GUARDAR INFORMACION
Function Backup1(cFile,cPath,mUBI_DES,cPass)

local aFiles , nI , aZip:={} , nFiles , cDbf
local oMeter , nActual , oDlg , nLen

If FILE(mUBI_DES+cFile+'.zip') .and. !MsgNoYes(oemtoansi('Archivo Existente, desea Reemplezar ?'),;
                                oemtoansi('Elija opcion SI/NO') )
  return .t.

EndIf

If FILE(cFile+'.zip')
  FErase(cFile+'.zip')
EndIf

aFiles:=Array(ADir(cPath+'*.DBF'))
nFiles:=aDir(cPath+'*.DBF',aFiles)
FOR nI=1 TO nFiles
   cDbf:=cPath+aFiles[nI]
   AAdd(aZip,cDbf)
   CursorWait()
NEXT nI

aFiles:=Array(ADir(cPath+'*.DBT'))
nFiles:=aDir(cPath+'*.DBT',aFiles)
FOR nI=1 TO nFiles
   cDbf:=cPath+aFiles[nI]
   AAdd(aZip,cDbf)
   CursorWait()
NEXT nI

aFiles:=Array(ADir(cPath+'*.FTP'))
nFiles:=aDir(cPath+'*.FTP',aFiles)
FOR nI=1 TO nFiles
   cDbf:=cPath+aFiles[nI]
   AAdd(aZip,cDbf)
   CursorWait()
NEXT nI

nLen := len(aZip)

DEFINE DIALOG oDlg FROM 1, 1 TO 10, 44 TITLE 'GUARDANDO INFORMACION ...'

@ 2, 2 METER oMeter VAR nActual TOTAL 100 OF oDlg SIZE 135, 12

ACTIVATE DIALOG oDlg CENTERED;
  on Paint( If( Hb_ZIPFILE(mUBI_DES+cFile,aZip,,{|cFile,nPos|nActual:=nPos/nLen*100,oMeter:Set(nActual)} ),;
                    MsgInfo('Carpeta de Origen: '+cPath+chr(13)+;
                            'Carpeta de Destino: '+mUBI_DES+chr(13)+;
                            'Archivo/s Guardados en: '+cFile+chr(13)+;
                            'Cantidad de Archivos Guardados: '+str(nLen,3) ,'Información General del Proceso'),;
                    MsgInfo('La copia no se puede realizar')),;
            oDlg:End())

return .t.

*----------------------------------------------------------- RECUPERAR INFORMACION
Function Backup2(cPath , mUBI_ORI , cFile)

local aFiles

If !file(cFile)

  MsgInfo('Archivo Inexistente')
  return .t.

EndIf

aFiles:=HB_GetFilesInZip(cFile)

HB_UnZipFile(cFile,,.T.,,cPath,aFiles,NIL)

MsgInfo('Carpeta de Origen: '+mUBI_ORI+chr(13)+;
        'Carpeta de Destino: '+cPath+chr(13)+;
        'Archivo/s Recuperados de: '+cFile+chr(13)+;
        'Cantidad de Archivos Recuperados: '+str(Len(aFiles),3) ,'Información General del Proceso')

return .t.

Posted: Sun Nov 30, 2008 5:35 pm
by dobfivewin
Actualizando mi programa de Backup con ZIP (Es simple) :wink:

Espero que sea Útil :!: ...

Saludos para todos

David
Argentina :lol:

Code: Select all | Expand

* Incluir HBZIP.LIB

static mUBI_ORI
static mUBI_DES
static mNOMARCHIVO

Function BackupZIP()

local oDlgCar , oFont1

dbcloseall()

DEFINE FONT oFont1 NAME 'Arial' SIZE 0,-15 BOLD

DEFINE DIALOG oDlgCar FROM 0, 0 TO 12, 40 ;
              TITLE 'GUARDAR / RECUPERAR INFORMACION'

   @ 1, 8 BUTTON 'Guardar Informacion'  OF oDlgCar SIZE 60, 12 ;
                   ACTION ( ArmarBackup(1) )

   @ 2, 8 BUTTON 'Recuperar Informacion'  OF oDlgCar SIZE 60, 12 ;
                    ACTION ( ArmarBackup(2) )
 
   @ 3, 8 BUTTON 'Salir' OF oDlgCar SIZE 60, 12 ;
                  ACTION ( oDlgCar:End() )

ACTIVATE DIALOG oDlgCar CENTERED

dbcloseall()
return .t.

*-----------------------------------------------------------------------------
Function ArmarBackup(Arma1Extrae2)

local oDlgCar
local oFont1

local oUBI_ORI , oUBI_DES , oNOMARCHIVO
local xUBI_ORI:=CurDrive()+':\'+CurDir()+'\'

mUBI_ORI:=xUBI_ORI+SPACE(60-LEN(xUBI_ORI))
mUBI_DES:=xUBI_ORI+SPACE(60-LEN(xUBI_ORI))
mNOMARCHIVO:=SPACE(20)

dbcloseall()

DEFINE FONT oFont1 NAME 'Arial' SIZE 0,-9 //BOLD

DEFINE DIALOG oDlgCar FROM 0, 0 TO 15, 80 ;
              TITLE If(Arma1Extrae2==1,'GUARDAR','RECUPERAR')+' INFORMACION'

   @ 1.750, 1 SAY 'Carpeta de Origen' of oDlgCar

   @ 1.500, 9 BUTTON 'Buscar' OF oDlgCar  SIZE 20, 10 Font oFont1 ;
                     ACTION( mUBI_ORI:=DIRECMain() ,;
                             mUBI_ORI:=alltrim(mUBI_ORI)+'\' ,;
                             mUBI_ORI:=mUBI_ORI+space(60-len(mUBI_ORI)) ,;
                             oUBI_ORI:refresh() )

   @     2,10 GET oUBI_ORI var mUBI_ORI of oDlgCar


   @ 2.625, 1 SAY 'Carpeta de Destino' of oDlgCar

   @ 2.250, 9 BUTTON 'Buscar' OF oDlgCar  SIZE 20, 10 Font oFont1 ;
                     ACTION( mUBI_DES:=DIRECMain() ,;
                             mUBI_DES:=alltrim(mUBI_DES)+'\' ,;
                             mUBI_DES:=mUBI_DES+space(60-len(mUBI_DES)) ,;
                             oUBI_DES:refresh() )

   @     3,10 GET oUBI_DES var mUBI_DES of oDlgCar


   @ 3.500, 1 SAY 'Archivo ZIP' of oDlgCar

   If Arma1Extrae2 == 2
     @ 2.950, 9 BUTTON 'Buscar' OF oDlgCar  SIZE 20, 10 Font oFont1 ;
                       ACTION( mNOMARCHIVO := cGetFile32( 'ZIP  (*.zip)| *.zip|' + 'Seleccione un archivo de ZIP',3) ,;
                               oNOMARCHIVO:refresh() )
   EndIf

   @     4,10 GET oNOMARCHIVO var mNOMARCHIVO of oDlgCar

   If Arma1Extrae2 == 1
     @ 4.3, 10 BUTTON 'Guardar Informacion'  OF oDlgCar SIZE 60, 10 ;
                       ACTION ( Backup1(alltrim(mNOMARCHIVO),alltrim(mUBI_ORI),alltrim(mUBI_DES)) ,;
                               oDlgCar:End() )
   Else
     @ 4.3, 10 BUTTON 'Extraer Informacion'  OF oDlgCar SIZE 60, 10 ;
                       ACTION ( Backup2(alltrim(mUBI_DES),alltrim(mUBI_ORI),alltrim(mNOMARCHIVO)) ,;
                               oDlgCar:End() )
   EndIf


   @ 4.3, 30 BUTTON 'Salir' OF oDlgCar SIZE 60, 10 ;
                  ACTION ( oDlgCar:End() )

ACTIVATE DIALOG oDlgCar CENTERED

dbcloseall()
return .t.

*-----------------------------------------------------------  GUARDAR INFORMACION
Function Backup1(cFile,cPath,mUBI_DES,cPass)

local aFiles , nI , aZip:={} , nFiles , cDbf
local oMeter , nActual , oDlg , nLen

If FILE(mUBI_DES+cFile+'.zip') .and. !MsgNoYes(oemtoansi('Archivo Existente, desea Reemplezar ?'),;
                                oemtoansi('Elija opcion SI/NO') )
  return .t.

EndIf

If FILE(cFile+'.zip')
  FErase(cFile+'.zip')
EndIf

aFiles:=Array(ADir(cPath+'*.DBF'))
nFiles:=aDir(cPath+'*.DBF',aFiles)
FOR nI=1 TO nFiles
   cDbf:=cPath+aFiles[nI]
   AAdd(aZip,cDbf)
   CursorWait()
NEXT nI

aFiles:=Array(ADir(cPath+'*.DBT'))
nFiles:=aDir(cPath+'*.DBT',aFiles)
FOR nI=1 TO nFiles
   cDbf:=cPath+aFiles[nI]
   AAdd(aZip,cDbf)
   CursorWait()
NEXT nI

aFiles:=Array(ADir(cPath+'*.FTP'))
nFiles:=aDir(cPath+'*.FTP',aFiles)
FOR nI=1 TO nFiles
   cDbf:=cPath+aFiles[nI]
   AAdd(aZip,cDbf)
   CursorWait()
NEXT nI

nLen := len(aZip)

DEFINE DIALOG oDlg FROM 1, 1 TO 10, 44 TITLE 'GUARDANDO INFORMACION ...'

@ 2, 2 METER oMeter VAR nActual TOTAL 100 OF oDlg SIZE 135, 12

ACTIVATE DIALOG oDlg CENTERED;
  on Paint( If( Hb_ZIPFILE(mUBI_DES+cFile,aZip,,{|cFile,nPos|nActual:=nPos/nLen*100,oMeter:Set(nActual)} ),;
                    MsgInfo('Carpeta de Origen: '+cPath+chr(13)+;
                            'Carpeta de Destino: '+mUBI_DES+chr(13)+;
                            'Archivo/s Guardados en: '+cFile+chr(13)+;
                            'Cantidad de Archivos Guardados: '+str(nLen,3) ,'Información General del Proceso'),;
                    MsgInfo('La copia no se puede realizar')),;
            oDlg:End())

*FOR nI=1 TO Len(aZip)
*   CursorWait()
*   HB_ZipFile(mUBI_DES+cFile,aZip[nI],,,,,.F.)   
*NEXT nI

return .t.

*----------------------------------------------------------- RECUPERAR INFORMACION
Function Backup2(cPath , mUBI_ORI , cFile)

local aFiles , nRow:=0
local oMeter , nActual , oDlg , nLen , nPos:=0

If !file(cFile)
  MsgInfo('Archivo '+cFile+' Inexistente')
  return .t.
EndIf

aFiles:=HB_GetFilesInZip(cFile)

nLen := len(aFiles)

DEFINE DIALOG oDlg FROM 1, 1 TO 10, 44 TITLE 'RECUPERANDO INFORMACION ...'

@ 2, 2 METER oMeter VAR nActual TOTAL 100 OF oDlg SIZE 135, 12

ACTIVATE DIALOG oDlg CENTERED;
  on Paint( If( HB_UnZipFile(cFile,{|| oMeter:Set(++nPos/nLen*100), SYSREFRESH() },.T.,,cPath,aFiles,NIL) ,;
                    MsgInfo('Carpeta de Origen: '+mUBI_ORI+chr(13)+;
                    'Carpeta de Destino: '+cPath+chr(13)+;
                    'Archivo/s Recuperados de: '+cFile+chr(13)+;
                    'Cantidad de Archivos Recuperados: '+str(Len(aFiles),3) ,'Información General del Proceso'),;
                    MsgInfo('La copia no se puede realizar')),;
            oDlg:End())

*HB_UnZipFile(cFile,,.T.,,cPath,aFiles,NIL)

*MsgInfo('Carpeta de Origen: '+mUBI_ORI+chr(13)+;
*        'Carpeta de Destino: '+cPath+chr(13)+;
*        'Archivo/s Recuperados de: '+cFile+chr(13)+;
*        'Cantidad de Archivos Recuperados: '+str(Len(aFiles),3) ,'Información General del Proceso')

return .t.

Re: Realizar Backup o copias de Seguridad desde FW

Posted: Fri Apr 08, 2011 11:29 am
by fergonm
Buenos días.
Necesitaría descargar la librería HbZip y no la encuentro.
Un saludo y muchas gracias.

Re: Realizar Backup o copias de Seguridad desde FW

Posted: Tue Apr 12, 2011 4:47 pm
by fergonm
¿Alguien me puede indicar donde descargar hbzip para harbour?

Un saludo

Re: Realizar Backup o copias de Seguridad desde FW

Posted: Tue Apr 12, 2011 5:00 pm
by QAZWSX2K
solo agrega la mencion a ella, debe estar en la carpeta de tu xharbour\lib\hbzip.lib

Re: Realizar Backup o copias de Seguridad desde FW

Posted: Tue Apr 12, 2011 5:24 pm
by fergonm
Ya lo he intentado, pero no está la librería en harbour y da error al compilar.

Un saludo