
19/03/2008, 11:53
|
 | | | Fecha de Ingreso: enero-2007 Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 18 años, 1 mes Puntos: 1 | |
Re: ejercicios sobre copias de seguridad que nose plantearlo Form1 Con 2 GroupBox
GroupBox1 conteniendo un TextBox1 y un Button1
GroupBox2 conteniendo un TextBox2 y un Button2
Además agregar 2 FolderBrowserDialog y otro Botón (Button3) para llamar a GUARDAR
Dejar Todos los controles con los nombres por Default
El código sig hace funcionar El form
Código:
Imports System.IO
Imports System.Threading
Public Class Form1
'CONSTRUCTOR SOBRECARGADO RECIBIENDO PARAMETROS
Public Sub New(ByVal strOrigen As String, ByVal strDestino As String, ByVal intRetardo As Integer)
InitializeComponent()
'Método Inicio
Inicio(strOrigen, strDestino, intRetardo)
End Sub
'CONSTRUCTOR INICIAL
Public Sub New()
InitializeComponent()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Cuando se hace click en el primer Botón, se manda a llamar al Cuadro de Diálogo para seleccionar la carpeta ORIGEN
FolderBrowserDialog1.ShowDialog()
'El Path de la Carpeta Seleccionada se guarda en el TextBox1
TextBox1.Text = FolderBrowserDialog1.SelectedPath
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Cuando se hace click en el primer Botón, se manda a llamar al Cuadro de Diálogo para seleccionar la carpeta DESTINO
FolderBrowserDialog2.ShowDialog()
'El Path de la Carpeta Seleccionada se guarda en el TextBox2
TextBox2.Text = FolderBrowserDialog2.SelectedPath
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'Validación que evita q los TextBox's queden vacios
If String.IsNullOrEmpty(TextBox1.Text) Then
MessageBox.Show("Seleccione Ruta Origen", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
ElseIf String.IsNullOrEmpty(TextBox2.Text) Then
MessageBox.Show("Seleccione Ruta Destino", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
'Crea un nuevo Form recibiendo los parámetros q enviará luego al método Inicio()
Dim frmNuevo As New Form1(TextBox1.Text, TextBox2.Text, NumericUpDown1.Value)
'Limpia de Memoria los recursos luego de ejecutar las acciones
Me.Dispose()
End Sub
Private Sub Inicio(ByVal strOrigen As String, ByVal strDestino As String, ByVal intRetardo As Integer)
Dim tsRetardo As New TimeSpan(0, intRetardo, 0) 'Declara una nueva instancia de un TimeSpan de la cantidad de minutos de acuerdo al parámetro recibido
Thread.Sleep(tsRetardo) 'Retrasa la ejecución de acuerdo al TimeSpan creado anteriormente
'Checa El Resultado del botón presionado en el Cuadro de Mensaje
If MessageBox.Show("Sacando copia...", "Backup", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) = Windows.Forms.DialogResult.OK Then
If My.Computer.FileSystem.DirectoryExists(strDestino) Then 'Si el Directorio Destino existe...
My.Computer.FileSystem.CopyDirectory(strOrigen, strDestino, True) 'Copia Los archivos de Un directorio a Otro
Else 'Si el Directorio Destino NO existe...
My.Computer.FileSystem.CreateDirectory(strDestino) 'Crea el Directorio, y entonces...
My.Computer.FileSystem.CopyDirectory(strOrigen, strDestino, True) 'Copia Los archivos de Un directorio a Otro
End If
FinalDeCopia(True) 'Si se oprimió ACEPTAR
Else
FinalDeCopia(False) 'Si se oprimió CANCELAR
End If
End Sub
Private Sub FinalDeCopia(ByVal ipCorrecta As Boolean)
If ipCorrecta Then
MessageBox.Show("Final de Copia Correcta", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
MessageBox.Show("Final de Copia Incorrecta", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
End Class
|