Embedir Imagen en e-mail [VB.Net]
Buenoooooo, en esta ocacion mostrare como embedir un archivo de imagen en un correo electronico, no es simplemente atachar en el correo, si no que desplegar dicha imagen en el cuerpo del correo, como que se tratase de una edicion de OutLook.
Comencemos....
' Espacio de nombres a importar
Imports System.Net.Mail
Private Sub EnviandoMailAt()
'Funcion de envio de correo
Dim SMTP As New System.Net.Mail.SmtpClient 'Variable con la que se envia el correo
Dim CORREO As New System.Net.Mail.MailMessage
CORREO.From = New System.Net.Mail.MailAddress(Desdemail, "Correo Electronico", System.Text.Encoding.UTF8)
Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString("Cuerpo del correo", Nothing, "text/html")
'Path de la imagen
Dim logo As New LinkedResource("IMG\LOGOLSAL.png")
logo.ContentId = "companylogo"
'Adicionando logo
htmlView.LinkedResources.Add(logo)
CORREO.To.Add("cliente@mail.com")
'Adicionando copia oculta
CORREO.Bcc.Add("cliente@mail.com")
CORREO.IsBodyHtml = True
CORREO.AlternateViews.Add(htmlView)
CORREO.Subject = "Confirmación de recarga - AutoMailer -"
SMTP.Host = "ServidorSMTP"
SMTP.Port = "Puerto"
Try
SMTP.Credentials = New System.Net.NetworkCredential("UsuarioSMTP", "PassSMTP")
SMTP.Send(CORREO)
Catch ex As System.Net.Mail.SmtpException
MessageBox.Show("Fallo el envio: " & ex.Message)
End Try
Buscar en Google
Busca en Todo Vb-Net
Búsqueda personalizada
miércoles, 2 de junio de 2010
Obtener Fecha y Hora de un servidor MSSQL 2005
Obtener Fecha y Hora de un servidor MSSQL 2005
Muchas veces nos vemos en la obligacion de obtener la fecha de nuestro servidor, esto para efectos de auditoria de las transacciones realizadas por los usuarios.
Para eso aca pongo un ejemplo de como obtener dicho dato, ojala le sirva a alguien...
' Espacio de nombres a importar
Imports System.Data.SqlClient
' Funcion para realizar consulta
Public Function SetFechaHoraServer()
SetFechaHoraServer = ""
Try
Dim CmdSsql As New SqlCommand("SELECT YEAR(NOW()) AS AÑO, MONTH(NOW()) AS MES, DAY(NOW()) AS DIA, " & _
"HOUR(NOW('h')) AS HORA, MINUTE(NOW()) AS MINUTO, SECOND(NOW()) AS SEGUNDO", MyConex)
Dim Rd As SqlDataReader
MyConex.Open()
Rd = CmdSsql.ExecuteReader
Rd.Read()
If Rd.HasRows = False Then
MsgBox("No hay datos para formar hora actual del servidor")
MyConex.Close()
Exit Function
End If
FechaHoraServer = Rd(0) & "-" & Rd(1) & "-" & Rd(2) & " " & Rd(3) & ":" & Rd(4) & ":" & Rd(5)
MyConex.Close()
Catch oexcep As SqlException
MessageBox.Show("Error al conectar con BD o actualizar, Proceso: Consultando fecha del servidor" & _
ControlChars.CrLf & _
oexcep.Message & ControlChars.CrLf)
MyConex.Close()
End Try
End Function
Finalmente obtenemos la fecha en el formato deseado, segun el ejemplo el formato que obtendremos seria: "2010-06-02 04:10:35"
Dudas o comentarios a: cesarlopez1909@gmial.com
Muchas veces nos vemos en la obligacion de obtener la fecha de nuestro servidor, esto para efectos de auditoria de las transacciones realizadas por los usuarios.
Para eso aca pongo un ejemplo de como obtener dicho dato, ojala le sirva a alguien...
' Espacio de nombres a importar
Imports System.Data.SqlClient
' Funcion para realizar consulta
Public Function SetFechaHoraServer()
SetFechaHoraServer = ""
Try
Dim CmdSsql As New SqlCommand("SELECT YEAR(NOW()) AS AÑO, MONTH(NOW()) AS MES, DAY(NOW()) AS DIA, " & _
"HOUR(NOW('h')) AS HORA, MINUTE(NOW()) AS MINUTO, SECOND(NOW()) AS SEGUNDO", MyConex)
Dim Rd As SqlDataReader
MyConex.Open()
Rd = CmdSsql.ExecuteReader
Rd.Read()
If Rd.HasRows = False Then
MsgBox("No hay datos para formar hora actual del servidor")
MyConex.Close()
Exit Function
End If
FechaHoraServer = Rd(0) & "-" & Rd(1) & "-" & Rd(2) & " " & Rd(3) & ":" & Rd(4) & ":" & Rd(5)
MyConex.Close()
Catch oexcep As SqlException
MessageBox.Show("Error al conectar con BD o actualizar, Proceso: Consultando fecha del servidor" & _
ControlChars.CrLf & _
oexcep.Message & ControlChars.CrLf)
MyConex.Close()
End Try
End Function
Finalmente obtenemos la fecha en el formato deseado, segun el ejemplo el formato que obtendremos seria: "2010-06-02 04:10:35"
Dudas o comentarios a: cesarlopez1909@gmial.com
Aplicar MD5 a String [VB.Net]
El Proceso consta de obtener una cadena encriptada, partiendo de una cadena normal, este tipo de funciones son utiles normalmente para encriptar password´s en nuestros sistemas, pues con esto agregamos un poco mas de seguridad a los mismos.
espero a alguien le sirva....
' Hacer la llamada a la funcion y enviar el parametro solicitado
Call MD5EncryptPass(TxtPassword.Text)
' Espacio de nombres a importar
Imports System.Security.Cryptography
'Funcion de encriptado
Private Sub MD5EncryptPass(ByVal StrPass As String)
PasConMd5 = ""
Dim md5 As New MD5CryptoServiceProvider
Dim bytValue() As Byte
Dim bytHash() As Byte
Dim i As Integer
bytValue = System.Text.Encoding.UTF8.GetBytes(StrPass)
bytHash = md5.ComputeHash(bytValue)
md5.Clear()
For i = 0 To bytHash.Length - 1
PasConMd5 &= bytHash(i).ToString("x").PadLeft(2, "0")
Next
MsgBox(PasConMd5)
End Sub
'El resultado

Dudas o consultas a: cesarlopez1909@gmail.com
ComboBox Dependientes [VB.Net]
Añadir un dataset a un ComboBox [VB.Net]
Para el ejemplo se usaran datos extraidos desde una BD MySQL
La tematica del ejemplo es simple, siempre con la misma filosofia añadir dataset a un combo luego realizar indexacion para realizar una neva busqueda y alimentar un nuevo dataset el cual sera asignado a su vez a otro combo.
espacios de nombres a importar
Imports MySql.Data.MySqlClient
Declaraciones
Public AdapterCats As MySqlDataAdapter
Public AdapterSubCats As MySqlDataAdapter
Public CDatasetCats As DataSet
Public CDatasetSubCats As DataSet
' Primero en el evento load del formulario hacemos el llenado del Combo categorias
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
AdapterCats = New MySqlDataAdapter("SELECT CATEGORIA, NOMBRE FROM.CATEGORIA", MyConex)
CDatasetCats = New DataSet()
MyConex.Open()
AdapterCats.Fill(CDatasetCats, "CATS")
MyConex.Close()
CmbCategoria.DataSource = CDatasetCats.Tables("CATS")
CmbCategoria.DisplayMember = CDatasetCats.Tables("CATS").Columns("NOMBRE").ToString
CmbCategoria.ValueMember = CDatasetCats.Tables("CATS").Columns("CATEGORIA").ToString
Catch oexcep As MySqlException
MessageBox.Show("Error al conectar con BD o actualizar, Proceso: Consultando datos " & _
ControlChars.CrLf & _
oexcep.Message & ControlChars.CrLf)
MyConex.Close()
End Try
End Sub


Luego en el evento de cambio de indice del combo hacemos el llenado del la subcategorias, recordemos que una categoria puede tener 'n' subcategorias
Private Sub CmbCategoria_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbCategoria.SelectedIndexChanged
Dim CatBuscar As String
CatBuscar = CDatasetCats.Tables("CATS").Rows(CmbCategoria.SelectedIndex)("CATEGORIA")
Try
AdapterSubCats = New MySqlDataAdapter("SELECT SUBCAT, NOMBRE FROM " & BaseDatos & ".SUBCATEGORIA WHERE CATEGORIA = '" & CatBuscar & "'", MyConex)
CDatasetSubCats = New DataSet()
MyConex.Open()
AdapterSubCats.Fill(CDatasetSubCats, "SUBCATS")
MyConex.Close()
CmbSubcategoria.DataSource = CDatasetSubCats.Tables("SUBCATS")
CmbSubcategoria.DisplayMember = CDatasetSubCats.Tables("SUBCATS").Columns("NOMBRE").ToString
CmbSubcategoria.ValueMember = CDatasetSubCats.Tables("SUBCATS").Columns("SUBCAT").ToString
Catch oexcep As MySqlException
MessageBox.Show("Error al conectar con BD o actualizar, Proceso: Consultando datos " & _
ControlChars.CrLf & _
oexcep.Message & ControlChars.CrLf)
MyConex.Close()
End Try
End Sub

Esto ha sido todooooooo... dudas o comentarios a cesarlopez1909@gmail.com
miércoles, 17 de junio de 2009
Abrir una imagen con PAINT desde VB.Net
En esta ocacion aprenderemos a cargar imagenes con una aplicacion externa a la nuestra, la idea es hacer como una galeria de imagenes (thumbails) y abrirlas con un editor de imagenes, para el siguiente ejemplo solo se tomara una imajen como ejemplo.
Bueno Iniciemos
primero creamos un nuevo proyecto y le adicionamos un Boton y un PictureBox a este ultimo le agregaremos un recurso de una vista previa de la imagen que queremos mostrar, esto en la propiedad imagen del elemento
el formulario nos quedara algo como esto:

En el Load del formulario escribimos lo sigueinte
Dim bmp As Bitmap
bmp = Me.PictureBox1.Image
bmp.Save("C:\imagen.jpg")
-------
En el evento click del boton1
-------
Process.Start("C:\WINDOWS\system32\mspaint.exe", "C:\imagen.jpg")
Si queremos usar una aplicacion distinta solo cambiamos el path del el Process.Start
al precionar el boton nos dara este resultado

Saludos!!!
Bueno Iniciemos
primero creamos un nuevo proyecto y le adicionamos un Boton y un PictureBox a este ultimo le agregaremos un recurso de una vista previa de la imagen que queremos mostrar, esto en la propiedad imagen del elemento
el formulario nos quedara algo como esto:

En el Load del formulario escribimos lo sigueinte
Dim bmp As Bitmap
bmp = Me.PictureBox1.Image
bmp.Save("C:\imagen.jpg")
-------
En el evento click del boton1
-------
Process.Start("C:\WINDOWS\system32\mspaint.exe", "C:\imagen.jpg")
Si queremos usar una aplicacion distinta solo cambiamos el path del el Process.Start
al precionar el boton nos dara este resultado

Saludos!!!
Ejecutar cmd desde Visual Basic.Net
Muchas veces nos hemos encontrado que para nuestras aplicaciones es necesario ejecutar x comando en Ms-Dos o su ambiente CMD, pues con la clase Process podemos hacerlo.
La clase Process y su sintaxis basica es asi:
Process.Start("notepad.exe")
Tambien podemos pasar parametros asi:
Process.Start("notepad.exe", "C:\miarchivo.txt")
Recordando que notepad.exe se encuentra en la ruta c:\Windows\ , por tanto no hay por que agregar ningun path para iniciar el proceso, de la misma forma si una aplicacion se encuentra, en el folder de nuestra aplicacion tambien podemos ejecutarla de la misma forma, pero si queremos ejecutar una aplicacion ajena tanto a windows como a nuestra aplicacion debemos especificar la ruta del *.exe
Process.Start("C:\....")
Ejecutando proceso (CMD.EXE) y corriendo una sentencia de linea de comandos
Dim Pross As Process = New Process
Console.WriteLine("Iniciando el proceso")
Console.Readline()
Pross .StartInfo.FileName = "cmd.exe"
Pross .StartInfo.Arguments = "/C instruccón /y"
Pross .StartInfo.WindowStyle = ProcessWindowStyle.Hidden
Pross.StartInfo.CreateNoWindow = True
Pross .Start()
Console.WriteLine("Fin del Proceso")
Console.Readline()
Saludos
La clase Process y su sintaxis basica es asi:
Process.Start("notepad.exe")
Tambien podemos pasar parametros asi:
Process.Start("notepad.exe", "C:\miarchivo.txt")
Recordando que notepad.exe se encuentra en la ruta c:\Windows\ , por tanto no hay por que agregar ningun path para iniciar el proceso, de la misma forma si una aplicacion se encuentra, en el folder de nuestra aplicacion tambien podemos ejecutarla de la misma forma, pero si queremos ejecutar una aplicacion ajena tanto a windows como a nuestra aplicacion debemos especificar la ruta del *.exe
Process.Start("C:\....")
Ejecutando proceso (CMD.EXE) y corriendo una sentencia de linea de comandos
Dim Pross As Process = New Process
Console.WriteLine("Iniciando el proceso")
Console.Readline()
Pross .StartInfo.FileName = "cmd.exe"
Pross .StartInfo.Arguments = "/C instruccón /y"
Pross .StartInfo.WindowStyle = ProcessWindowStyle.Hidden
Pross.StartInfo.CreateNoWindow = True
Pross .Start()
Console.WriteLine("Fin del Proceso")
Console.Readline()
Saludos
viernes, 29 de mayo de 2009
Comparar dos Cadenas (String) en vb.net
Haciendo una aplicacion, la cual deberia tener un login de usuarios (como todo software), me vi en la necesidad de compara dos passwords para poder insertarlos en la base de datos, despues de un rato encontre la solución aca la pongo por si hay alguien esta con el mismo problema
Tipos Posibles de comparacion
String.Compare :
Compara los valores de dos cadenas. Devuelve un valor entero.
String.CompareOrdinal
Compara dos cadenas independientemente de la referencia cultural local. Devuelve un valor entero.
String.CompareTo
Compara el objeto de cadena actual con otra cadena. Devuelve un valor entero.
String.StartsWith
Determina si una cadena comienza con la cadena que se pasa. Devuelve un valor booleano.
String.EndsWith
Determina si una cadena termina con la cadena que se pasa. Devuelve un valor booleano.
Fuente
Sintaxis en Vb.Net
' CAPTURAMOS LAS VARIABLES
Pass1 = Me.TxtPass1.Text
Pass2 = Me.TxtPass2.Text
Dim Compare As Integer
Compare = Pass1.CompareTo(Pass2)
If Compare = 1 Then
MessageBox.Show("Password No Coinciden Verifiquelos e Intentelo de uevo" , & _
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
Tipos Posibles de comparacion
String.Compare :
Compara los valores de dos cadenas. Devuelve un valor entero.
String.CompareOrdinal
Compara dos cadenas independientemente de la referencia cultural local. Devuelve un valor entero.
String.CompareTo
Compara el objeto de cadena actual con otra cadena. Devuelve un valor entero.
String.StartsWith
Determina si una cadena comienza con la cadena que se pasa. Devuelve un valor booleano.
String.EndsWith
Determina si una cadena termina con la cadena que se pasa. Devuelve un valor booleano.
Fuente
Sintaxis en Vb.Net
' CAPTURAMOS LAS VARIABLES
Pass1 = Me.TxtPass1.Text
Pass2 = Me.TxtPass2.Text
Dim Compare As Integer
Compare = Pass1.CompareTo(Pass2)
If Compare = 1 Then
MessageBox.Show("Password No Coinciden Verifiquelos e Intentelo de uevo" , & _
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
jueves, 28 de mayo de 2009
Como Conectar Vb.Net 2005 a MySql
Como Conectar Vb.Net a Mysql
Bueno dejeme contarles que hace unos dias me tope con la insertidumbre de conectar vb.net con MySql, pues lo necesitaba para crear una aplicación en la cual no necesitara una BD con licencia y con la admiracion que le tengo a MySql me parecio la mejor Opcion.
Bueno al mismo tiempo se añadira a este tutorial la creacion de ODBC para Mysql
Ok. comencemos
Que necesitamos
1- MySql 5 o superior
2- Mysql Odbc/Conector
3- MySql Drivers Conector/Net
1- Relizamos la instalacion de estos tres componentes en nuestro ordenador
2- creamos un nuevo proyecto en nuestro VB 2005 y lo llamamos pruebas

3- Renombramos el formulario de unicio se llamara Conectar.vb, adicionamos un boton con el nombre BtnConectar

4- Ahora debemos adicionar las referencias de MySql a nuestro proyecto

5- Importamos las tools necesarias para realizar la conexion
Imports MySql.Data.MySqlClient
6- Declaramos y creamos la cadena de conexion
Public myconex As MySqlConnection
Private Sub Conectar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim connStr As String
connStr = "Server=youserver;" & _
"Database=youbd;" & _
"Uid=youuser;" & _
"Pwd=youpass;" & _
"Connect Timeout=30;"
myconex = New MySqlConnection(connStr)
End Sub
7- Ahora realizamos la conexion mediante BtnConectar con este codigo en el evento click
Private Sub BtnConectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnConectar.Click
Try
myconex.Open()
MessageBox.Show("Ahora estoy conectado a Mysql", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information)
myconex.Close()
MessageBox.Show("Ahora estoy desconectado de Mysql", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information)
' Si existe alguna excepcion al conectarse con el servidor capturamos el error y mostramos un mensage con el resultado
Catch oexcep As MySqlException
MessageBox.Show("Error al conectar con BD" & _
ControlChars.CrLf & _
oexcep.Message & ControlChars.CrLf)
myconex.Close()
Exit Sub End Try
End Sub
Resultados


Bueno al mismo tiempo se añadira a este tutorial la creacion de ODBC para Mysql
Ok. comencemos
Que necesitamos
1- MySql 5 o superior
2- Mysql Odbc/Conector
3- MySql Drivers Conector/Net
1- Relizamos la instalacion de estos tres componentes en nuestro ordenador
2- creamos un nuevo proyecto en nuestro VB 2005 y lo llamamos pruebas

3- Renombramos el formulario de unicio se llamara Conectar.vb, adicionamos un boton con el nombre BtnConectar

4- Ahora debemos adicionar las referencias de MySql a nuestro proyecto

5- Importamos las tools necesarias para realizar la conexion
Imports MySql.Data.MySqlClient
6- Declaramos y creamos la cadena de conexion
Public myconex As MySqlConnection
Private Sub Conectar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim connStr As String
connStr = "Server=youserver;" & _
"Database=youbd;" & _
"Uid=youuser;" & _
"Pwd=youpass;" & _
"Connect Timeout=30;"
myconex = New MySqlConnection(connStr)
End Sub
7- Ahora realizamos la conexion mediante BtnConectar con este codigo en el evento click
Private Sub BtnConectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnConectar.Click
Try
myconex.Open()
MessageBox.Show("Ahora estoy conectado a Mysql", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information)
myconex.Close()
MessageBox.Show("Ahora estoy desconectado de Mysql", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information)
' Si existe alguna excepcion al conectarse con el servidor capturamos el error y mostramos un mensage con el resultado
Catch oexcep As MySqlException
MessageBox.Show("Error al conectar con BD" & _
ControlChars.CrLf & _
oexcep.Message & ControlChars.CrLf)
myconex.Close()
Exit Sub End Try
End Sub
Resultados


Suscribirse a:
Entradas (Atom)