quinta-feira, 6 de abril de 2017

Aula 1112- WinDev Backup/Restore 001/... - Fazer Backup no Inicio do Sistema






Na dica de hoje..
vou ensinar como fazer um backup
no inicio do sistema

In today's tip ..
I'll teach you how to do a backup.
At the beginning of the system


En el consejo de hoy ..
Voy a enseñar cómo hacer una copia de seguridad
en el inicio del sistema

 


http://doc.windev.com/en-US/?1000017081&name=HBackup



Backup Automatico quando Abrir Sistema - WinDev Backup 001/...



//end of initialization of win_menu
// ESSA ROTINA ESTOU FAZENDO END OF INITIALIZATION OF WIN_MENU
// THIS ROUTINE IS MAKING END OF INITIALIZATION OF WIN_MENU
// ESTE FIN ROUTINE'M TOMA DE INICIALIZACIÓN DE WIN_MENU

d_data_copia is Date=""
// VOU CRIAR UMA VARIAVEL TIPO DATE CHAMADA DATA COPIA
// I WILL CREATE A VARIABLE TYPE DATE CALL COPY DATE
// Creará un tipo de variable LLAMADA FECHA FECHA COPIA
d_data_copia=INIRead("BancoDados","backup_dia","",fCurrentDir()+"\erpmatos.ini")

// Estou Lendo no meu arquivo ini, se existe data, e vou trazer essa data
// I'm reading in my ini file, if there is a date, and I'll bring that date
// Estoy leyendo en mi archivo ini, si hay tiempo, y los haré esta fecha

IF d_data_copia<>DateSys() THEN
    // SE DATA DIFERENTE DA DATA DE HOJE
    // IF DATE DIFFERENT FROM TODAY'S DATE
    // SI EL PERÍODO DISTINTO DE LA FECHA DE HOY
    s_drive_=INIRead("BancoDados","backup_dia_drive","",fCurrentDir()+"\erpmatos.ini")
    Input("Informe Drive Copia Automatica",s_drive_)   
    copia_dados_automatica()
    // Chamar Rotina copia Automatica
    // Call Automatic Copy Routine
    // Llamada de rutina copias Automatica   
    d_data_copia=DateSys()   
    // Colocando na variavel data, o dia de hoje
    // Placing on the variable date, today
    // Poner en una variable de fecha, día
    INIWrite("BancoDados","backup_dia",d_data_copia,fCurrentDir()+"\erpmatos.ini")
    // Gravando no arquivo ini, a data de hoje
    // Writing to the ini file, today's date
    // Al escribir en el archivo INI, la fecha de hoy
    INIWrite("BancoDados","backup_dia_drive",s_drive_,fCurrentDir()+"\erpmatos.ini")
END




// closing win_menu

// VOU VIR AGORA NO CLOSING WIN_MENU , ONDE FECHA O SISTEMA
// I'LL COME NOW IN THE CLOSING WIN_MENU, WHERE THE SYSTEM IS DATED
// VENDRÉ AHORA EN CIERRE WIN_MENU donde el sistema CLAVES

IF YesNo("Deseja Fazer Copia de Seguranca") THEN
    // Fazer pergunta ao sair do programa se quer fazer copia de seguranca
    // Ask a question when leaving the program if you want to do a backup
    // Haz una pregunta fuera del programa si desea hacer copias de seguridad
   
    Open(WIN_Backup_backup_Dados)
   
END
   

EndProgram()

// FECHA PROGRAMA
// CLOSE PROGRAM
// PROGRAMA DE CIERRE





PROCEDURE copia_dados_automatica()

OpenSister(WIN_backup_mostra_imagen)
// Abre janela para mostrar que estou fazendo copia
// Open the window to show that I'm copying
// Se abre la ventana para mostrar que estoy haciendo copias


ThreadExecute("copia_dados_geral",threadNormal,"copia_dados_geral")

// Executando o backup em segundo plano
// Performing backup in the background
// Ejecución de copia de seguridad en el fondo

// Esse copia dados geral é a procedure que criamos anteriormente
// This general data copy is the procedure we created earlier
// Esto copia los datos generales es el procedimiento que hemos creado antes





PROCEDURE copia_dados_geral()
Backup_matos is hBackupDescription
Backup_matos..Enabled=True
// Enabled = Backup Ativado
// Enabled = Backup Enabled
// Enabled = copia de seguridad Activado
HReadSeekFirst(empresa,id_empresa,1)
// Lendo a Empresa numero 1
// Reading the Company number 1
// Leyendo el número 1 Company
s_nome_empresa is string=empresa.razao_social[[1 TO 15]]
// criei uma variavel nome da empresa, e vou colocar somente as 15 primeiras letras
// I created a variable name of the company, and I will only put the first 15 letters
// He creado un nombre de variable de la empresa, y sólo a poner las primeras 15 letras
Backup_matos..Description="Backup Erp-"+s_nome_empresa
// Description= Descrição do Backup
// Description= Description of Backup
// Description= Descripción de respaldo
Backup_matos..WithIndex=True
// WithIndex = backup de indices deve ser executado
// WithIndex = Index backup must be performed
// WithIndex = índices de copia de seguridad deben funcionar

Backup_matos..Destination="\COPIA_ERPMATOS\"+"%%DAY%%"+"_"+"%%MONTH%%"+"_"+ ...
                          "%%YEAR%%"+"_"+s_nome_empresa
// Destination = Destino do Backup 
// Destination = Backup Destination
// Destination = Destino de copia de seguridad
// "%%YEAR%%"   => ANO
// "%%MONTH%%"  => MES
// "%%DAY%%"    => DIA
// "%%HOUR%%"   => HORA
// "%%MINUTE%%" => MINUTOS
Backup_matos..Source=gs_data_base // ou Backup_matos..Source="matos"
// Source = Nome do Banco Dados
// Source = Name of Bank Data
// Source = Nombre del banco de datos
Backup_matos..Compression=zipFormatZIP
// Compression = Usado para comprimir o resultado do backup
// Compression = Used to compress backup result
// Compression = Se utiliza para comprimir el resultado de la copia de seguridad

//Backup_matos..ProgressBar="PROGBAR_backup" // ==> Tem de Criar Barra progresso
// ProgressBar = Barra de Progresso
// ProgressBar = Progress Bar

Backup_matos..LimitNumberBackups=10
// LimitNumberBackups = Numero maximo de backup
// LimitNumberBackups = Maximum number of backups
// LimitNumberBackups = Número máximo de respaldo

HCloseConnection(Matos_hyperfil_server)
// Fechando Conexão
// Closing Connection
// la conexión de cierre

n_id is int=HBackup(Matos_hyperfil_server,Backup_matos)
// vou executar o backup e pegar o indice do backup
// I'll run the backup and get the index of the backup
// Voy a correr y recoger el índice

IF s_drive_<>"" THEN
    IF s_drive_<>"C" THEN
        Backup_matos..Destination=s_drive_+":\COPIA_ERPMATOS\"+"%%DAY%%"+"_"+"%%MONTH%%"+"_"+"%%YEAR%%"+"_"+s_nome_empresa
        n_id=HBackup(Matos_hyperfil_server,Backup_matos)
    END
END
HChangeConnection("*",Matos_hyperfil_server)
// Abrindo Conexão
// Opening Connection
// Conexión de apertura
Close(WIN_backup_mostra_imagen)

// Fechando janela
// Closing window
// cerrar ventana
















________________________________________________________________________________










Teste

Teste
teste