colocar directamente
#include 'fivewin.ch'
Code: Select all | Expand
Function DIRECMain()local cDirName := cGetDir()MsgInfo( LFN2SFN( cDirName ) )Return LFN2SFN( cDirName )
Code: Select all | Expand
Function DIRECMain()local cDirName := cGetDir()MsgInfo( LFN2SFN( cDirName ) )Return LFN2SFN( cDirName )
Code: Select all | Expand
Function DIRECMain()local cDirName := cGetDir()MsgInfo( LFN2SFN( cDirName ) )Return LFN2SFN( cDirName )
Code: Select all | Expand
static mUBI_ORIstatic mUBI_DESstatic mNOMARCHIVOFunction BackupZIP()local oDlgCar , oFont1dbcloseall()DEFINE FONT oFont1 NAME 'Arial' SIZE 0,-15 BOLDDEFINE 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 CENTEREDdbcloseall()return .t.*-----------------------------------------------------------------------------Function ArmarBackup(Arma1Extrae2)local oDlgCar local oFont1local oUBI_ORI , oUBI_DES , oNOMARCHIVOlocal 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 //BOLDDEFINE 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 CENTEREDdbcloseall()return .t.*----------------------------------------------------------- GUARDAR INFORMACIONFunction Backup1(cFile,cPath,mUBI_DES,cPass)local aFiles , nI , aZip:={} , nFiles , cDbf local oMeter , nActual , oDlg , nLenIf FILE(mUBI_DES+cFile+'.zip') .and. !MsgNoYes(oemtoansi('Archivo Existente, desea Reemplezar ?'),; oemtoansi('Elija opcion SI/NO') ) return .t.EndIfIf FILE(cFile+'.zip') FErase(cFile+'.zip') EndIfaFiles:=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 INFORMACIONFunction Backup2(cPath , mUBI_ORI , cFile)local aFilesIf !file(cFile) MsgInfo('Archivo Inexistente') return .t.EndIfaFiles:=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.
Code: Select all | Expand
* Incluir HBZIP.LIBstatic mUBI_ORIstatic mUBI_DESstatic mNOMARCHIVOFunction BackupZIP()local oDlgCar , oFont1dbcloseall()DEFINE FONT oFont1 NAME 'Arial' SIZE 0,-15 BOLDDEFINE 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 CENTEREDdbcloseall()return .t.*-----------------------------------------------------------------------------Function ArmarBackup(Arma1Extrae2)local oDlgCar local oFont1local oUBI_ORI , oUBI_DES , oNOMARCHIVOlocal 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 //BOLDDEFINE 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 CENTEREDdbcloseall()return .t.*----------------------------------------------------------- GUARDAR INFORMACIONFunction Backup1(cFile,cPath,mUBI_DES,cPass)local aFiles , nI , aZip:={} , nFiles , cDbf local oMeter , nActual , oDlg , nLenIf FILE(mUBI_DES+cFile+'.zip') .and. !MsgNoYes(oemtoansi('Archivo Existente, desea Reemplezar ?'),; oemtoansi('Elija opcion SI/NO') ) return .t.EndIfIf FILE(cFile+'.zip') FErase(cFile+'.zip') EndIfaFiles:=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 INFORMACIONFunction Backup2(cPath , mUBI_ORI , cFile)local aFiles , nRow:=0 local oMeter , nActual , oDlg , nLen , nPos:=0If !file(cFile) MsgInfo('Archivo '+cFile+' Inexistente') return .t.EndIfaFiles:=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.