Buscar en Google

Busca en Todo Vb-Net

Búsqueda personalizada

lunes, 15 de octubre de 2012

Validar correo electrónico

Validar correo electrónico


Normalmente se nos presenta el inconveniente de saber si la dirección de correo electrónico que están escribiendo nuestros usuarios esta en un formato valido o no, para este fin el proceso a realizar es, la validacion de las partes básicas de  un correo electrónico, tal como una @ un . (Punto) y un dominio consecuente
Para poder lograr esta validacion usaremos una expresión regular, en vb.net


Espacio de nombres:

Imports System.Text.RegularExpressions


Función


  Public Function validar_Mail(ByVal sMail As String) As Boolean
        ' retorna true o false   
     Return Regex.IsMatch(sMail, _
               "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-  
               9-]+)*(\.[a-z]{2,4})$")
  End Function



Llamado a la funcion la cual puede ser desde el evente leave de el textbox deseado

 If validar_Mail(LCase(TxtMail.Text)) = False Then
     MessageBox.Show("Dirección de correo electronico no valida,   
     el correo debe tener el formato: nombre@dominio.com, " & _
     " por favor seleccione un correo valido", "Validación de   
     correo electronico", MessageBoxButtons.OK, 
     MessageBoxIcon.Exclamation)
     TxtMail.Focus()
     TxtMail.SelectAll()
End If



Saludos!
Y como siempre dudas o comentarios son bien recibidos 


viernes, 28 de septiembre de 2012

Uso de control TIMER


Uso de control TIMER 


En esta ocación veremos el funcionamiento del control TIMER o cronometro, el cual puede servirnos por ejemplo para la ejecución de alguna función recurrente, la cual podemos controlar y/o ejecutar en una cantidad de tiempo determinada


Que necesitamos
1- Un formulario WinForm
2- Adicionar el control Timer1 al formulario
3- Un Label para poder mostrar la cuenta regersiva





Timer1 

Vista del Label en tiempo de ejecución con la cuenta regresiva


Vamos al código
En el load del formulario colocamos la llamada para iniciar el timer, utilizando los pulsos del reloj de Windows 

llamamos la función TiempoEjecutar y adicionamos como parámetro la cantidad en segundos en cual se ejecutara


Public Class Form1
 Private TiempoRestante As Integer


Private Sub Form1_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
 Call TiempoEjecutar(10)
End Sub




 Public Function TiempoEjecutar(ByVal Tiempo As Integer)
        TiempoEjecutar = ""
        TiempoRestante = Tiempo  ' 1 minutos=60 segundos 
        Timer1.Interval = 1000

        Call TimerOn(1000) ' Hechanos a andar el timer
    End Function






Public Sub TimerOn(ByRef Interval As Short)
        If Interval > 0 Then
            Timer1.Enabled = True
        Else
            Timer1.Enabled = False
        End If

    End Sub



Cuando el tiempo termina ejecutamos la función deseada.
Cada tick del reloj verificamos la cuenta regresiva.



    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If TiempoRestante >= 0 Then
            LblEjecutar.Text = "Ejecutar en: " & TiempoRestante
            TiempoRestante = TiempoRestante - 1
        Else
            Timer1.Enabled = False
'Ejecuta tu función cuando termina el tiempo
            TiempoEjecutar(10)

        End If
    End Sub


Saludos!





jueves, 27 de septiembre de 2012

Listar impresores y marcar el predeterminado


Listar impresores y marcar el predeterminado

En este ejemplo veremos como listar las impresoras instaladas en tu OS y marcar la impresora definida como predeterminada, asi tambien se mostrará el uso del control listview para agregar iconos a cada item del control mencionado.

Para tal efecto es necesario agregar al proyecto el control llamado ImageList que sera el contenedor de los iconos que utilizaremos en el ListView
En teoría lo que se pretende es: Listar los impresores encontrados y añadir un icono en el ListView para representar cada uno de ellos.


Controles necesario

ImageList para añadir iconos

ListView1 donde se listarán los impresores


Una vez adicionados los controles adicionas las imagenes que estaran disponibles en el ImageList, basados en el indice de cada una se seleccionarán para adicionar a cada item del ListView




Ok. vamos al codigo

Espacio de nombre 

Imports System

private DFPrinter as string

 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' Asocioamos el ImageList al ListView para obtener los iconos
 ListView1.StateImageList = ImageList1
 ImpresorasInstaladas()






Private Sub ImpresorasInstaladas()



        Dim pdoc As New PrintDocument
        Dim Impresoras As String

        ' Default printer      
        DFPrinter = pdoc.PrinterSettings.PrinterName
        ' recorre las impresoras instaladas  
        For Each Impresoras In PrinterSettings.InstalledPrinters
            ListView1.Items.Add(Impresoras.ToString)
        Next
       
        ListView1.Focus()

        For x As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.Items(x).Text = DFPrinter Then
                ListView1.Items(x).StateImageIndex = 1 'Indice de icono
            Else
                ListView1.Items(x).StateImageIndex = 0 'Indice de icono
            End If
        Next



    End Sub



Resultado













Encriptar cadena de texto con MD5

En muchas ocaciones nos vemos en la necesidad de encriptar cadenas de texto, ya sea para realizar un Log-In en nuestra aplicacion o para ocultar algun contenido por x razon

a continuación colocaré una funcion sencilla para lograr este objetivo



Espacio de nombres (Imports)

Imports System.Security.Cryptography

llamado de función

Dim MiCadenaEncriptada as string = MD5EncryptPass("123")



 Public Sub MD5EncryptPass(ByVal StrPass As String)

        Dim md5 As MD5CryptoServiceProvider
        Dim bytValue() As Byte
        Dim bytHash() As Byte
        Dim strPassOutput As String
        Dim i As Integer
        strPassOutput = ""

        md5 = New MD5CryptoServiceProvider

        bytValue = System.Text.Encoding.UTF8.GetBytes(StrPass)

        bytHash = md5.ComputeHash(bytValue)
        md5.Clear()

        For i = 0 To bytHash.Length - 1
            strPassOutput &= bytHash(i).ToString("x").PadLeft(2, "0")
        Next

        PasConMD5 = strPassOutput

    End Sub



Resultado obtenido "202cb962ac59075b964b07152d234b70"


Saludos