sábado, 17 de octubre de 2015

Ejemplo Clase Respaldo



FMain:

' gambas class file

Public Respaldo1 As Respaldo

Public Sub Form_Open()
Respaldo1 = New Respaldo(1, txtOrigen.Text, txtDestino.Text)
cbxMes.Index = 9
End

Public Sub Button2_Click()
Dialog.Path = User.Home
If Dialog.OpenFile() Then Return
txtOrigen.Text = Dialog.Path
End

Public Sub cbxPeriodo_Click()

Select Case cbxPeriodo.Index
Case 0
Respaldo1.Periodo = 1
Case 1
Respaldo1.Periodo = 2
Case 2
Respaldo1.Periodo = 3
Case 3
Respaldo1.Periodo = 7
Case 4
Respaldo1.Periodo = 15
Case 5
Respaldo1.Periodo = 30
End Select

End

Public Sub Button1_Click()

If Respaldo1.Verificar() Then
LabInfo.Text = "se efectuo el respaldo"
Else
LabInfo.Text = "No se realizo respaldo"
Endif

End

Public Sub Button3_Click()
Dialog.Path = User.Home
If Dialog.SelectDirectory() Then Return
txtDestino.Text = Dialog.Path
End

Public Sub Button4_Click()
Shell "stat " & txtOrigen.Text
End

Public Sub Button5_Click()
Shell "touch -a -m -t " & cbxAnios.Text & cbxMes.Text & txtDia.Text & "0000.00 " & txtOrigen.Text
End



Clase Respaldo:


' gambas class file

'by postapase (humilde aporte a la comunidad gambera)

Property Periodo As Byte ''1=un día,2=dos días, 3=tres días,7 una semana, 15 una quincena, 30 un mes
Property RutaOrigen As String '' Ruta completa del archivo a respaldar
Property RutaDestino As String '' Lugar donde se respaldara el archivo

Private $Periodo As Byte
Private $RutaOrigen As String
Private $RutaDestino As String

Private $Diferencia As Integer
Private $NameArchivo As String
Private $Rutafinal As String
Private $UltimaModificacion As Date


Public Sub _new(periodo As Byte, origen As String, destino As String) ''Periodo,Origen,Destino
$Periodo = periodo
$RutaOrigen = origen
$RutaDestino = destino
$NameArchivo = File.BaseName($RutaOrigen)
End

Private Function Periodo_Read() As Byte
Return $Periodo
End

Private Sub Periodo_Write(Value As Byte)
$Periodo = Value
End

Private Function RutaOrigen_Read() As String
Return $RutaOrigen
End

Private Sub RutaOrigen_Write(Value As String)
$RutaOrigen = Value
End

Private Function RutaDestino_Read() As String
Return $RutaDestino
End

Private Sub RutaDestino_Write(Value As String)
$RutaDestino = Value
End

Public Sub Respaldar()
If Exist($Rutafinal) Then
Kill $Rutafinal
Wait 0.2
Copy $RutaOrigen To $RutaFinal
Else
Copy $RutaOrigen To $RutaFinal
Endif
End

Public Sub Verificar() As Boolean
$Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-")
$UltimaModificacion = Stat($RutaOrigen).LastModified

$Diferencia = DateDiff($UltimaModificacion, Date, gb.Day) '

If $Diferencia >= $Periodo Then
Respaldar()
Return True
Else
Return False
Endif
End




dropbox: Clase_Respaldo-0.1.tar.gz

No hay comentarios.:

Publicar un comentario