Anda di halaman 1dari 36

Parmetros en Crystal report y Visual Basic

Septiembre 26th, 2009

Muchas veces necesitamos pasar el contenido de una variable al reporte de Crystal report sin necesidad de acudir a la base de datos. En Visual Basic.Net esto es posible con la utilizacin de parmetros y aqu est un sencillo cdigo de ejemplo:
Dim Ds As DataSet Dim myReport As New ReportDocument Dim sNombre as string="Juan Prez" Try Ds = fReporte("SELECT * FROM alumnos") myReport.Load(My.Application.Info.DirectoryPath & "\MyReport.rpt") myReport.SetDataSource(Ds) 'AQUI DECLARAMOS UN PARAMETRO myReport.SetParameterValue("nombre", sNombre) 'CRV1 es el control Report Viewer donde se muestra el reporte CRv1.ReportSource = myReport

Como podemos ver he declarado un parmetro llamado nombre y le estoy pasando la variable sNombre. Ahora dentro del diseador de reportes de Crystal, es decir, dentro de MyReport.rpt, vamos a crear un Campo de parmetro y le ponemos un nombre y en texto de solicitud le ponemos el mismo nombre identico al que hemos puesto aqu: nombre. Dentro del apartado Campos de parmetro ahora existir nuestro campo el cual agregaremos al reporte y lo situaremos donde creamos conveniente como a cualquier otro campo. Tags: parametros en vb.net, paramtros crystal report, pasar variable a crystal report Posted in Visual Basic.Net | 12 Comments

Reportes desde Mysql en Vb.net


Julio 16th, 2009

Les pongo un ejemplo para crear reportes en Crystal reports utilizando una base de datos de Mysql.
Utilizaremos una base de datos llamada Mibase con una tabla llamada alumnos con tres campos nombre, apellidos calificacion .

Para este ejemplo lo primero que necesitamos hacer es crear un archivo XML con la estructura de la tabla. Para esto utilizamos el Dataset con su mtodo WriteXml
'importar espacios de nombres Imports MySql.Data Imports MySql.Data.MySqlClient 'dentro Dim Dim Dim Dim de la clase Ds As New DataSet Con As New MySqlConnection Cmd As New MySqlCommand Da As New MySqlDataAdapter

'Esto puede estar dentro de un botn o dentro del procedimiento Load Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'variable cadena de conexin Con.ConnectionString = "server=localhost;uid=root;password=mipass;database=mibase" cmd.Connection = Con Con.Open() 'Aqu escribimos la query de la tabla que necesitamos con los datos que necesitamos Cmd.CommandText = "select * from alumnos" Da.SelectCommand = cmd Da.Fill(Ds) 'aqui es donde creamos el archivo XML en la unidad C Ds.WriteXml("C:\productos.xml", XmlWriteMode.WriteSchema) End Sub

Ahora ya tenemos un archivo XML en la ruta que escribimos. Lo siguiente que tenemos que hacer es agregar las referencias a crystal Reports. Para agregar las referencias Crystal reports nos vamos al menu Proyecto-Agregar referencia y en la pestaa de .Net seleccionamos las siguientes: CrystalDecisions.CrystalReports.Engine CrystalDecisions.ReportSource CrystalDecisions.Shared CrystalDecisions.VsDesigner CrystalDecision.Web CrystalDesicions.Windows.Forms Agregamos un segundo formulario llamado form2 donde insertaremos el reporte, despues en el cuadro de herraminetas agregamos el componente CrystalReportViewer. Le ponemos de nombre CRV1 Tambien insertamos un CrystalReportDocument al que llamaremos CR1.

Dentro ya del CrystalReportDocument nos vamos al explorador de campos y damos clic derecho sobre el, dentro del menu que aparece damos clic en el Asistente de Base de datos. Ya dentro del asistente desplegamos la carpeta Crear nueva conexin dentro de esta desplegamos ADO.Net. Se abrir una nueva ventana donde nos pidde la ruta del archivo; es ahi donde le diremos donde se encuentra el archivo que acabamos de crear de tipo XML. Damos clic en finalizar. Despues seleccionamos la tabla que apareci y la mandamos con el boton > a la columna de la derecha para agregarla y damos clic en aceptar. Como podemos ver ya tenemos agregados los campos a la lista desplegable en el explorador de campos. Solo nos queda arrastrar al contenido del reporte los campos y acomodarlos a nuestro gusto. Ahora para llamar al reporte escribimos estas lineas en el form2:
mports System.Data Imports MySql.Data.MySqlClient Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.ReportSource Imports CrystalDecisions.Shared Public Class Form2 Dim Ds As New DataSet Dim Con As New MySqlConnection("server=localhost;uid=root;password=mipass;database=alumn os") Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Cmd As New MySqlCommand(sql, Con) Dim Da As New MySqlDataAdapter(Cmd) Dim myReport As New ReportDocument Da.Fill(Ds) myReport.Load(My.Application.Info.DirectoryPath & "\CR1.rpt") myReport.SetDataSource(Ds) CRV1.ReportSource = myReport End Sub Public Function LeerColumna(ByVal nTabla As String, ByVal nColumna As String, ByVal Valores As ComboBox) As Boolean Dim Sql As String = "SELECT * FROM " & nTabla Dim DR As MySqlDataReader Dim Comando As New MySqlCommand("SELECT " & nColumna & " FROM " & nTabla, Con) Try If Not Con Is Nothing Then Con.Close() Con.Open() DR = Comando.ExecuteReader()

If DR.HasRows = False Then Return Nothing Exit Function End If While DR.Read() Valores.Items.Add(DR(nColumna)) End While Return True Catch ex As Exception Return False Finally DR = Nothing Comando = Nothing Con.Close() End Try End Function End Class

Con esto desde el form1 llamamos al form2 con form2.show() y se mostrara el reporte. Tags: Crystal reports desde vb.net, Crystal reports mysql Posted in Visual Basic.Net | 33 Comments
MejorAlex

Home Contacto

MejorAlex Si se puede imaginar Se puede lograr

Parmetros en Crystal report y Visual Basic


Septiembre 26th, 2009

Muchas veces necesitamos pasar el contenido de una variable al reporte de Crystal report sin necesidad de acudir a la base de datos. En Visual Basic.Net esto es posible con la utilizacin de parmetros y aqu est un sencillo cdigo de ejemplo:
Dim Ds As DataSet Dim myReport As New ReportDocument Dim sNombre as string="Juan Prez" Try Ds = fReporte("SELECT * FROM alumnos")

myReport.Load(My.Application.Info.DirectoryPath & "\MyReport.rpt") myReport.SetDataSource(Ds) 'AQUI DECLARAMOS UN PARAMETRO myReport.SetParameterValue("nombre", sNombre) 'CRV1 es el control Report Viewer donde se muestra el reporte CRv1.ReportSource = myReport

Como podemos ver he declarado un parmetro llamado nombre y le estoy pasando la variable sNombre. Ahora dentro del diseador de reportes de Crystal, es decir, dentro de MyReport.rpt, vamos a crear un Campo de parmetro y le ponemos un nombre y en texto de solicitud le ponemos el mismo nombre identico al que hemos puesto aqu: nombre. Dentro del apartado Campos de parmetro ahora existir nuestro campo el cual agregaremos al reporte y lo situaremos donde creamos conveniente como a cualquier otro campo. Tags: parametros en vb.net, paramtros crystal report, pasar variable a crystal report Posted in Visual Basic.Net | 12 Comments

Reportes desde Mysql en Vb.net


Julio 16th, 2009

Les pongo un ejemplo para crear reportes en Crystal reports utilizando una base de datos de Mysql.
Utilizaremos una base de datos llamada Mibase con una tabla llamada alumnos con tres campos nombre, apellidos calificacion . Para este ejemplo lo primero que necesitamos hacer es crear un archivo XML con la estructura de la tabla. Para esto utilizamos el Dataset con su mtodo WriteXml
'importar espacios de nombres Imports MySql.Data Imports MySql.Data.MySqlClient 'dentro Dim Dim Dim Dim de la clase Ds As New DataSet Con As New MySqlConnection Cmd As New MySqlCommand Da As New MySqlDataAdapter

'Esto puede estar dentro de un botn o dentro del procedimiento Load Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'variable cadena de conexin Con.ConnectionString = "server=localhost;uid=root;password=mipass;database=mibase" cmd.Connection = Con Con.Open() 'Aqu escribimos la query de la tabla que necesitamos con los datos que necesitamos Cmd.CommandText = "select * from alumnos" Da.SelectCommand = cmd Da.Fill(Ds) 'aqui es donde creamos el archivo XML en la unidad C Ds.WriteXml("C:\productos.xml", XmlWriteMode.WriteSchema) End Sub

Ahora ya tenemos un archivo XML en la ruta que escribimos. Lo siguiente que tenemos que hacer es agregar las referencias a crystal Reports. Para agregar las referencias Crystal reports nos vamos al menu Proyecto-Agregar referencia y en la pestaa de .Net seleccionamos las siguientes: CrystalDecisions.CrystalReports.Engine CrystalDecisions.ReportSource CrystalDecisions.Shared CrystalDecisions.VsDesigner CrystalDecision.Web CrystalDesicions.Windows.Forms Agregamos un segundo formulario llamado form2 donde insertaremos el reporte, despues en el cuadro de herraminetas agregamos el componente CrystalReportViewer. Le ponemos de nombre CRV1 Tambien insertamos un CrystalReportDocument al que llamaremos CR1. Dentro ya del CrystalReportDocument nos vamos al explorador de campos y damos clic derecho sobre el, dentro del menu que aparece damos clic en el Asistente de Base de datos. Ya dentro del asistente desplegamos la carpeta Crear nueva conexin dentro de esta desplegamos ADO.Net. Se abrir una nueva ventana donde nos pidde la ruta del archivo; es ahi donde le diremos donde se encuentra el archivo que acabamos de crear de tipo XML. Damos clic en finalizar. Despues seleccionamos la tabla que apareci y la mandamos con el boton > a la columna de la derecha para agregarla y damos clic en aceptar. Como podemos ver ya tenemos agregados los campos a la lista desplegable en el explorador de campos. Solo nos queda arrastrar al contenido del reporte los campos y acomodarlos a nuestro gusto.

Ahora para llamar al reporte escribimos estas lineas en el form2:


mports System.Data Imports MySql.Data.MySqlClient Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.ReportSource Imports CrystalDecisions.Shared Public Class Form2 Dim Ds As New DataSet Dim Con As New MySqlConnection("server=localhost;uid=root;password=mipass;database=alumn os") Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Cmd As New MySqlCommand(sql, Con) Dim Da As New MySqlDataAdapter(Cmd) Dim myReport As New ReportDocument Da.Fill(Ds) myReport.Load(My.Application.Info.DirectoryPath & "\CR1.rpt") myReport.SetDataSource(Ds) CRV1.ReportSource = myReport End Sub Public Function LeerColumna(ByVal nTabla As String, ByVal nColumna As String, ByVal Valores As ComboBox) As Boolean Dim Sql As String = "SELECT * FROM " & nTabla Dim DR As MySqlDataReader Dim Comando As New MySqlCommand("SELECT " & nColumna & " FROM " & nTabla, Con) Try If Not Con Is Nothing Then Con.Close() Con.Open() DR = Comando.ExecuteReader() If DR.HasRows = False Then Return Nothing Exit Function End If While DR.Read() Valores.Items.Add(DR(nColumna)) End While Return True Catch ex As Exception Return False Finally DR = Nothing Comando = Nothing Con.Close()

End Try End Function End Class

Con esto desde el form1 llamamos al form2 con form2.show() y se mostrara el reporte. Tags: Crystal reports desde vb.net, Crystal reports mysql Posted in Visual Basic.Net | 33 Comments

Cuidado de las bateras de Litio-Ion


Abril 10th, 2009

Slo hay una forma correcta de cargar una batera de litio: cargndola a menudo. De hecho, lo cierto es que la batera durar ms cargndola cada poco que haciendo ciclos completos. El sistema usado por las bateras de litio no es igual que el de las de nquel, la principal diferencia radica en que stas no necesitan de ningn tipo de preparacin previa, la primera carga es exactamente igual que la quinta o la nmero 50. Asimismo, el pensamiento generalizado de que la primera carga de la batera ha de ser de 8 horas o ms es slo una idea anticuada y equivocada que pertenece a los ya pasados das de las viejas bateras de nquel. A diferencia de las bateras de nquel y plomo, las actuales de litio no necesitan de ciclos completos de carga y descarga. La preparacin previa o rodaje que necesitaban las viejas bateras de nquel no ser efectiva en las de litio ya que su capacidad mxima est a nuestra disposicin desde el principio.Es completamente falso el pensamiento de que estas bateras alcanzan su mximo potencias despus de unas cargas. Al igual que tampoco necesitan ser descargadas al completo para mejorar la capacidad, de hecho se debe evitar usar la batera hasta que se agote por completo. Lo recomendado es simplemente descargarlas hasta un 80% y recargarla ms a menudo. Sin embargo, la descarga completa y su posterior carga reiniciarn el circuito de la batera y mejorar la precisin del estado de carga de sta, es decir, el indicador de la batera ser ms preciso. Sin embargo, una descarga completa de la batera podra daar los circuitos y dejarla inservible. Es importante aclarar que esta recomendacin es slo vlida para aquellas bateras que tienen incorporado un mecanismo de control de carga, como pueden ser las bateras de gran tamao como la de los porttiles. Slo se ha de proceder de esta forma cuando se detecte que el aparato indica incorrectamente el estado de carga de la batera. Cmo debera preparar mi nueva batera? Las bateras de litio ya vienen parcialmente cargas por lo que se pueden usar inmediatamente y cargarlas cuando sea necesario. No necesitan de un periodo de rodaje ni de de ningn tipo de ritual previo.

Podra estropear mi batera con una incorrecta preparacin previa? No. No importa que la primera carga sea parcial o completa, y no necesita ningn tipo de preparacin previa. Este tipo de bateras tienen su mximo de capacidad desde el primer da, por tanto no necesitan de un periodo de rodaje, es un falso mito el que las bateras de litio necesitan de varias cargas para alcanzar su mximo potencial. La batera pierde su capacidad con el tiempo, tanto si se usa como si no, su duracin en tiempo ronda sobre los tres aos y tiene un aguante mximo de unos 500 ciclos. Cmo ajusto el indicador de carga? Se debe hacer una descarga y carga completa cada 30, aproximadamente. Esto se debe repetir cuando el indicador se vuelve impreciso. Debera agotar la carga de la batera antes de cargarla? No. Es mejor recargarla a menudo evitando las descargas completas. Las bateras que incluyen su propio indicador de batera puede realizarse una descarga completa cada mes para reiniciar dicho indicador. Debera cargar la batera al completo o slo parcialmente? No importa, se puede cargar por partes. La carga total de la batera se detiene automticamente cuando se alcanza el nivel mximo del voltaje por lo que cargar la batera al mximo es seguro y no se estropear. Pierde la batera su carga con el tiempo? S. En esto influyen muchos factores, como la temperatura a la que est sometida la batera pero, aproximadamente, la batera sufre una descarga diaria de un 0,2%. Debera quitar la batera del cargador cuando se ha terminado de cargar? Tampoco importa ya que el cargador para de cargar automticamente cuando la batera est llena. De todas formas no conviene dejarlas siempre en estado cargando (como suceden con los porttiles) ya que el transformador podra fallar o algn corte en la corriente podra daar el cargador o la batera. Cmo debo almacenar mi batera? Si no vamos a usar nuestra batera debemos guardarla en un lugar seco y a temperatura ambiente, alejada de las fuentes extremas, tanto de calor como de fro. Lo ideal es dejar cargada la batera sobre un 40% de su capacidad, por eso las bateras vienen cargadas de fbrica con una pequea carga. Una batera con media carga mantendr mucho mejor su carga que si est cargada al completo. NUNCA se ha de almacenar completamente descargada. Y qu pasa con mi porttil? En el caso de un ordenador porttil el principal enemigo es la temperatura. Por esta razn no se debe dejar la batera del porttil metida cuando no estamos funcionando con ella. Un porttil debera estar conectado a la red elctrica cuando no est en uso puesto que el calor que desprenden estos aparatos reduce considerablemente la vida de las bateras. Un caso hipottico: si conservramos nuestra batera del porttil al 100% a unos 60C despus de 3

meses conservara slo el 60% de su capacidad total. Las bateras de Litio son mucho ms sensibles a la temperatura que sus predecesoras de nquel. Si hablamos de la duracin de una carga, entonces depender de las caractersticas de cada batera y dispositivo, pero aqu tienes siete medidas que nos ayudarn a maximizarla y solo en caso que queramos trabajar con la bateria y no necesitemos de estas funciones:

Aljalas del calor: Las bateras de Li-Ion son sumamente susceptibles a las altas temperaturas, por lo que usar tus dispositivos en un ambiente fresco extender su funcionalidad. Apaga las transmisiones inalmbricas: Los infrarrojos (IrDA), Bluetooth y Wi-Fi son verdaderos vampiros de electricidad, siendo equivalentes a mantener un celular en uso todo el tiempo. Apaga estas funciones cuando no sean necesarias. Evita usar tu unidad de CD o DVD: El gasto no slo corre por cuenta del lser, sino tambin del motor que hace girar el disco. Y mejor ni hablar de los grabadores Reduce el brillo de la pantalla: Algunos equipos lo hacen en forma automtica pues, entre menos luz generen, menos energa demandarn. Retira tarjetas de memoria o llaves USB: No dejes que sus dimensiones reducidas te engaen, pues energizarlas requiere un flujo adicional de electricidad. Esto es especialmente vlido para dispositivos pequeos, como telfonos o PDAs. Evita usar aplicaciones de audio: An con audfonos, la generacin de sonido requiere un gasto constante de energa. Peor todava si se alimentan parlantes externos.

Al final hay que mencionar que debemos evitar ser paranoicos y cuidarlas en exceso de manera obsesiva ya que si tenemos un equipo porttil es para sacarle ventaja a su portabilidad y sin duda lo que ms consumimos es la bateria. As que si una bateria te dura durante dos aos es bueno y a comprar otra. Parte de este artculo esta tomado del blog del francotirador.cl y se recomienda leer el artculo completo ah publicado Bateras de Litio-Ion: Mitos y Leyendas Tags: Cuidado de las baterias de Litio-Ion Posted in PCs y NoteBooks | 1 Comment

Reproducir audio con Visual Basic .Net


Marzo 8th, 2009

Con visual Basic .Net podemos reproducir archivos de audio como mp3 o Wav. Lo nico que necesitamos es agregar el componente Windows Media Player al cuadro de herramientas. Para esto, damos clic derecho sobre el cuadro de herramientas y seleccionamos la opcin Elegir elementos.

Hacemos clic en la ficha Componentes COM y buscamos el componente Windows Media Player que en su ruta de acceso apunte hacia: msdxm.ocx. Read the rest of this entry Tags: Reproduccion de audio desde visual basic .net, Reproducir audio en .Net, Reproducir mp3 en .Net, Reproducir WAV en .Net Posted in Visual Basic.Net | 67 Comments

Trabajar con hebras en Visual Basic .Net


Febrero 26th, 2009

En .Net podemos trabajar con hebras independientes de ejecucin en las aplicaciones es decir, que una o varias hebras en el programa pueden compartir ciclos del procesador. Al trabajar con hebras podemos tambin tener control sobre ellas, suspenderlas, cancelarlas y otras funciones. En el post anterior les explicaba que podemos encontrarnos con un problema que no podamos solucionar en versiones anteriores de visual basic, que suceda cuando al presionar un botn (como el ejemplo de enviar un correo con archivos adjuntos), el proceso que iniciaba se tardaba ms de los esperado y no podamos cancelarlo porque acaparaba todos los recursos del sistema y aunque existiera un botn que cancelara el proceso, no podamos verlo porque el programa pareca estar bloqueado o congelado. Al situar el proceso dentro de una hebra podemos seguir actuando con el formulario. Para esto utilizamos la clase Thread dentro del espacio de nombres Threading Estos son algunos mtodos de la clase Thread:

Start: Hace que se programe un subproceso para su ejecucin. Sleep: Bloquea el subproceso actual durante el nmero de milisegundos especificado. Abort: Cancela la ejecucin de la hebra.Para iniciar un hebra

Primero hay que importar el espacio de nombres System.Threading, despus crear el objeto de tipo Thread.

Imports System.Threading Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click 'Instanciar la hebra Dim oHebra As Thread 'crear objeto y asignarlo al sub que queremos ejecutar

oHebra = New Thread(AddressOf EnviarMail) 'ponerla en marcha oHebra.Start() End Sub

Para ver mejor este ejemplo, pongo en el siguiente link un ejemplo de un formulario para envo de correo por SMTP que es la parte completa del post anterior y esta programado con hebras, con barra de progreso y con opcin de enviar archivos adjuntos y usando autenticacin. Ejemplo Mail desde Visual Basic 2008 Ejemplo Mail desde Visual Basic 2005 Algunas capturas de pantalla:

Mail desde Vb.Net

Envio de correo desde visual basic .net Tags: Descargar ejemplo de evio de correo desde visual basic .net, Envio de correo desde visual basic con progressbar, Threads en VB.NET, Trabajar con hebras Vb.Net Posted in Visual Basic.Net | 31 Comments

Envio de correo desde Vb.Net


Febrero 25th, 2009

El envio de correo desde Visual Basic .Net se puede llevar a cabo de una manera muy sencilla. En este ejemplo utilizamos el espacio de nombres System.Net.Mail, un objeto del tipo MailMessage y otro del tipo SmtpClient. Algunas propiedades del objeto SmtpClient:

Host: Obtiene o establece el nombre o la direccin IP del host que se utiliza para las transacciones SMTP Port: Obtiene o establece el puerto utilizado para las transacciones SMTP. EnableSsl: Especifique si el objeto SmtpClient utiliza SSL (Secure Sockets Layer) para cifrar la conexin.

TimeOut: Obtiene o establece un valor que especifica el intervalo de tiempo a partir del cual se considera que una llamada a Send sincrnica excede el tiempo de espera. Credentials: Obtiene o establece las credenciales utilizadas para autenticar al remitente. (Es decir, usuario y password)

Read the rest of this entry Tags: clase MailMessage, clase SMTP, envio de correo desde visual basic .net, envio de correo gmail desde vb.net Posted in Visual Basic.Net | 2 Comments
Older Entries

Search
Go

"Minuto a Minuto"
o o o o o o o o o o

Henry Cavill, el nuevo Superman Aorve y Aguirre se proclaman ganadores PRI denuncia irregularidades durante comicios Celebran misa por jvenes de Villas de Salvrcar Bardem, el villano contra James Bond? Reciben Super Bowl al estilo texano Ortega: Triunfo de Aguirre es irreversible Ejrcito detiene a cinco en Acapulco Cierran casillas en Guerrero EU evacuar a sus ciudadanos de Egipto Celebridades Curiosidades Estadsticas Lugares interesantes PCs y NoteBooks Reflexiones Visual Basic.Net

Categorias
o o o o o o o

Calendario
Enero 2011 L M X J V S D

Enero 2011 L M X J V S D Sep 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Comentarios recientes
o o o o o o o o o o o o o o o

logan en Llenar ListView desde base de datos jamesham en Llenar ListView desde base de datos Condenser Dryer %0B en Reproducir audio con Visual Basic .Net Edwin en Llenar ListView desde base de datos Us en Reportes desde Mysql en Vb.net Alex en Reproducir audio con Visual Basic .Net carlos mendez en Reproducir audio con Visual Basic .Net carlos mendez en Reproducir audio con Visual Basic .Net Alex en Conectarse a Mysql desde Visual Basic 2005 Marcos Fabian en Conectarse a Mysql desde Visual Basic 2005 Jorge en Llenar ListView desde base de datos Negocios De Futuro en McDonalds Ruso Jorge en Llenar ListView desde base de datos alex en Llenar ListView desde base de datos Jorge en Llenar ListView desde base de datos

Entries (RSS) and Comments (RSS) Powered by WordPress Themes | Design by Reality Software Payout percentages & Credit Counseling & etymology MejorAlex

Home Contacto

Reproducir audio con Visual Basic .Net


Con visual Basic .Net podemos reproducir archivos de audio como mp3 o Wav. Lo nico que necesitamos es agregar el componente Windows Media Player al cuadro de herramientas. Para esto, damos clic derecho sobre el cuadro de herramientas y seleccionamos la opcin Elegir elementos. Hacemos clic en la ficha Componentes COM y buscamos el componente Windows Media Player que en su ruta de acceso apunte hacia: msdxm.ocx.

Seleccionamos su cuado de opcin y le damos aceptar. En el cuadro de herramientas debe de aparecer un nuevo control llamado Windows Media Player que necesitamos agregar ahora al formulario.
Ahora comenzamos con la codificacin

El primer paso ser ocultar el control al usuario, si es que queremos hacerlo y si queremos que no comience a reproducir al iniciar el programa ponemos esto:
'ocultar el reproductor AxMediaPlayer1.Visible = False 'impedir reproduccin automatica AxMediaPlayer1.AutoStart =False

Le asignamos un archivo de audio y reproducimos con el mtodo play():


AxMediaPlayer1.FileName "C:\miaudio.mp3" AxMediaPlayer1.Play()

Podramos para mejorar este cdigo insertar un OpenFiledialog para buscar archivos y reproducirlos y tambin poner botones de Play, Stop y Pausa.
Para utilizar esos botones existen tambien los mtodos del mismo nombre y que su manera de utilizatr es similar al mtodo Play. Aqu unos ejemplos: AxMediaPlayer1.Stop() AxMediaPlayer1.Pause()

Es importante que siempre se manejen capturas de errores en todas las aplicaciones, cobre todo en este caso, cuando el archivo de audio se especifica mediante cdigo y no forma parte de los recursos del programa, es decir, que se encuentra en una carpeta que podra ser borrada. Tambin hay que tomar en cuenta que solo se reproducirn archivos de audio de los formatos que el reproductor de windows admite.

Tags: Reproduccion de audio desde visual basic .net, Reproducir audio en .Net, Reproducir mp3 en .Net, Reproducir WAV en .Net This entry was posted on Domingo, Marzo 8th, 2009 at 16:53 and is filed under Visual Basic.Net. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

67 Responses to Reproducir audio con Visual Basic .Net 1. Dantors Says:


Marzo 12th, 2009 at 17:10

hola Disculpa molestia se que lo que estoy esribiendo no es referente a tu tema, ya que tengo un trabajo que me encargaron y necesito de tu ayudano se si me puedes ayudar necesito realizar una aplicacion que escanee fotos y las guarde y pueda abrir el archivo de imagen despuesclaro en visual net.2005 ayudame para empezar a trabajar dime que utilizo o que debo de utilizar. saludos estare pendiente a tu contestacion
2. Alex Says:
Marzo 18th, 2009 at 22:58

Perdn la tardanza en responder pero no lo pude hacer antes. Mira , no tengo a la mano ningn ejemplo para lo que quieres hacer, pero si lo consigo te lo pongo. Saludos.
3. Dantors Says:
Marzo 19th, 2009 at 21:11

estare al pendiente gracias


4. Juan Says:
Marzo 30th, 2009 at 10:50

Hola Alex, tengo una pregunta, he estado intentando aadir al cuadro de herramientas el componente windows media player como indicas, pero en visual studio 2005 me dice que no tiene ningn componente, pero en cambio si hago lo mismo en visual studio 2003 si que lo ejecuta, sin ningn problema, esto a que se puede deber? Puede ser debido a alguna incompatibilidad de alguna versin del visual studio 2005 en concreto? Lo digo porque el proyecto lo estoy haciendo en 2005 y no encuentro la manera de reproducir msica.

Un saludo y gracias por anticipado, Juan T.


5. Alex Says:
Marzo 30th, 2009 at 18:31

Mira. Yo uso el 2008 pero lo he probado con el 2005 y funciona perfecto. Aqui lo que puedes hacer es buscar el archivo al que se hace referenia en vb2005 y agregarlo manualmente en vb 2003. Saludos.
6. wiston Says:
Abril 13th, 2009 at 18:38

Hola!! Kisiera saber si m puedes ayudar, yo kiero obtener las propiedades de un archivo mp3, ya tengo un reproductor que me da las propiedades, pero solo cuando esta en play Como le hago si kiero obtener el autor o el album en el que esta esa cancion, si me puedes ayudar muchas gracias!!! Ahi t va un pedazo de codigo donde lo kiero poner Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load agregar columnas With ListaView .Columns.Add(Nombre, 150) .Columns.Add(Fecha y hora de modificacin, 150) .Columns.Add(Tamao - bytes , 100) .Columns.Add(Extensin, 80) .View = View.Details .GridLines = True End With btnListar.Text = Listar propiedades txtDir.Text = C:\Users\-wIs-\Music\30 seconds to mars End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnListar.Click ListaView.Items.Clear() Try recorrer los ficheros en la coleccin For Each sFichero As String In Directory.GetFiles( _

txtDir.Text, *.mp3, _ SearchOption.TopDirectoryOnly) Crear nuevo objeto FileInfo Dim Archivo As New FileInfo(sFichero) Crear nuevo objeto ListViewItem Dim item As New ListViewItem(Archivo.Name.ToString) With item LastWriteTime - fecha de modificacin .SubItems.Add(Archivo.LastWriteTime.ToShortDateString & & _ Archivo.LastWriteTime.ToShortTimeString) Length - tamao en bytes .SubItems.Add(Archivo.Length.ToString) Extension - extensin .SubItems.Add(Archivo.Extension.ToString) ListaView.Items.Add(item) aadir el item End With
7. Alex Says:
Abril 15th, 2009 at 11:30

La info que necesitas se refiere a extraer la informacin llamada ID3 dentro de archivos de audio. Aqu te pego el cdigo para realizar esto. Este cdigo esta sujeto a correcciones y mejoras ya que no tiene captura de errores. Dim mp3 As String = c:\mimp3.mp3 Dim fs As New FileStream(mp3, FileMode.Open) Dim Buffer As Byte() ReDim Buffer(0 To 128) fs.Seek(-128, SeekOrigin.End) fs.Read(Buffer, 0, 128) fs.Close() Dim enc As Byte() Dim id3 As String id3 = Encoding.ASCII.GetString(Buffer) If id3.Substring(0, 3) = TAG Then textTitulo.Text = id3.Substring(3, 30) textArtista.Text = id3.Substring(33, 30) textAlbum.Text = id3.Substring(63, 30)

textAo.Text = id3.Substring(93, 4) textComentario.Text = id3.Substring(97, 28) End If


8. Alex Says:
Abril 15th, 2009 at 11:43

Para sacar la informacin id3 de archivos de audio aparte de necesitar el cdigo de arriba, Olvide mencionar que necesitas importar los espacios de nombres: Imports System.IO Imports System.Security.Cryptography Imports System.Text
9. miguel Says:
Mayo 7th, 2009 at 9:58

necesito codigo para crearun reproductor de musica y que pueda reproducir todas las extenciones de audio existentes? para desarrollarlo en visual basic.net ES URGENTE!!!!!!!!!!
10. Alex Says:
Mayo 8th, 2009 at 18:24

Miguel: El cdigo que necesitas esta precisamente en este post. Solo lee la informacin y listo.
11. sua Says:
Mayo 16th, 2009 at 14:17

este ese codigo enque botton ba si se puede saber alexpor que el reproductor que yo estoy creando es cencillo tiene el botton de play, pausa, stop, siguiente, anterior me podrias ayudar a resolverlo con comentarios en las lineas digo si pueds gracias
12. sua Says:
Mayo 16th, 2009 at 14:19

y tambien tiene el de directoria, drive1, y file1 espero y me contestes me urge


13. Alex Says:
Mayo 17th, 2009 at 1:28

Sua: No entiendo que necesitas Si necesitas poner cdigo a los botones de play, pausa, stop etc.

Aqui te dejo algunas funciones: AxMediaPlayer1.FastForward() Avance rapido AxMediaPlayer1.FastReverse() retroceso rapido AxMediaPlayer1.Next() Siguente AxMediaPlayer1.Pause() Pausa AxMediaPlayer1.Play() Play reproducir AxMediaPlayer1.Previous() atras Cualquier duda me comentas
14. Hola oye bueno a ver si no repito alguna pregunta Says:
Mayo 19th, 2009 at 16:20

Oye jeje ese componente solo viene en .net? yo tengo la versin express, (la gratuita) 2008 pero no est en herramientas, debo hacer algo especial para ponerlo en el form? si lo he visto en otros proyectos pero cmo lo ponen? en la vista de diseo? Si sabes te agradecer sino igual pero s que sabes
15. Hola oye bueno a ver si no repito alguna pregunta Says:
Mayo 19th, 2009 at 16:45

uju ya lo encontr si no te molesta ac pongo el link va? http://support.microsoft.com/kb/821767/es


16. Alex Says:
Mayo 20th, 2009 at 22:41

El componente para reproducir audio no depende de la versin de vb.net ya que viene con el reproductor de Windows. Cuando digo que su ruta apunte hacia msdxm.ocx es porque muchas veces no esta visible y hay que agregarlo desde examinar en el directorio de windows\system32. Saludos.
17. lizett Says:
Mayo 31st, 2009 at 17:15

hola disculpa ya puse lo de windows media player pero pongo lo q indicas y me marca error porq falta algo antes de AxMediaPlayer1. o despues esq marca error
18. Alex Says:
Mayo 31st, 2009 at 20:54

Hola, necesitaria ver tu cdigo para saber que falta, porque he probado este cdigo varias veces y funciona. Creo que lo que te falta es hacer bien la referencia a msdxm.ocx Como dije en el anterior comentario, si haces la referencia solo hacia windows media player puede que ests apuntando a otra dll o a otra referencia del reproductor de windows, por eso aclaro que debe apuntar hacia msdxm.ocx y si no se ve ocupa el botn de examinar y encuentra este archivo en el directorio de windows\system32. Saludos.
19. CRubi Says:
Junio 8th, 2009 at 11:19

Amigo Alex me dice q AxMediaPlayer1 no ha sido declarado, como le hagoSaludos


20. Alex Says:
Junio 9th, 2009 at 22:56

Lo mismo, checa que tengas las referencias que menciono. Y despues de eso agrega el componente como si se tratara de un textbox o un label.
21. JC Says:
Julio 9th, 2009 at 18:41

Hola tengo una gran duda, quiero reproducir en el componente wmp de vb.net 2005 un archivo de audio que lo tengo almacenado en una bd sql, como hago para asignarle esa cadena de bytesy reproducirlo en el componente wmp.
22. Raul Says:
Julio 12th, 2009 at 13:48

Debes volver a pasarlo a mp3 o el archivo que era. En el post de Guardar PDF en mysql esta una solucin.
23. Eleonora Says:
Julio 14th, 2009 at 14:49

Alex una consulta, para ejecutar este codigo instancias un objeto de qu tipo? Gracias
24. Alex Says:
Julio 16th, 2009 at 11:18

Instancias un objeto del tipo Axmedia Player pero ese objeto esta instanciado como un componente COM que agregas del cuadro de herramientas por lo quew no es necesario hacerlo con codigo.
25. RayoJaibo Says:
Julio 16th, 2009 at 15:48

Hola Alex, exelente tu aporte. Una pregunta, como le puedo hacer para reproducir solo un segmento de una cancion y que este se repita. Sin llegar precisamente al inicio de la cancion, sino poner una marca que indique el inicio y el fin seleccionados. Gracias.
26. Jose Says:
Julio 17th, 2009 at 13:11

Lo quieres en minutos? porque se puede establecer la posicion inicial utilizando: axmediaplayer1.currentPosition=15 y comienza a partin de la posicin 15.
27. RayoJaibo Says:
Julio 18th, 2009 at 8:58

Hola Jose, gracias por contestar. Ya casi lo soluciono, lo que hice fue poner un timer q inicie cuando empeza la cancion, Pongo en una variable el incio y en otra el fin del segmento que quiero escuchar. Y en el timer hago la comparacion con un if si el currentPosition >= Fin entonces le asigno al curentPosition= inicio Muchas graicas.
28. sebastian Says:
Julio 24th, 2009 at 13:15

Hola que tal.. estuve leyendo y me parecio muy bueno. queria hacerte una pregunta espero q no moleste: si bein en visual basic me funciono sabrias decirme que opcion puedo elegir para visual web developer.. ya que si sigo los pasos en ese programa no me deja utilizar la herramienta. si bien me aparece entre las herramientas pero en gris ( no disponible). espero q puedas ayudarme y desde ya gracias por el trabajo que te tomaste en responder a toda la gente.
29. sebastian Says:
Julio 24th, 2009 at 13:20

disculpa que escriba denuevo pero.. si tambien podrias aclararme como poner mas de un tema a reproducir te lo agradeceria.
30. Alex Says:
Julio 24th, 2009 at 16:24

El cdigo esta en Visual Basic.Net si lo quieres hacere en visual web developer y lo intentas hacer para mostrarlo en un sitio web, esta no es la manera ya que no puedes llamar a una api o a un OCX etc desde un sitio web, para eso se utilizan los active X.
31. sebastian Says:
Julio 24th, 2009 at 17:17

ok gracias! te vuelvo a felicitar por el aporte! muy bueno de encerio.


32. alain Says:
Agosto 14th, 2009 at 10:40

enseenme desde el principio no se na..


33. alain Says:
Agosto 14th, 2009 at 10:40

haber si aprendo eso del reproductor de musica


34. Jhon Says:
Agosto 20th, 2009 at 13:33

quisiera saber los codigos para botones de play y en k eventos, y para un menu desplegable en el windows media con lo temas, y un codigo tbm, para al hacer doble click en la cancion se reproduzca. gracias
35. luis Says:
Agosto 28th, 2009 at 17:58

Este codigoi es el que buscas que mas necesitas.????? Esta muy claro lo de los eventos y el play No pidas cdigo pide concimiento y entiende porque funcionan las cosas-.
36. felipe Says:
Octubre 27th, 2009 at 7:09

necesito la programacion del boton siguiente que no sea e.playlist por q tengo visual 2008

37. Alex Says:


Octubre 27th, 2009 at 13:12

Funciona en visual 2008 pero en el cdigo no pongo nunca e.playlist


38. juan Says:
Noviembre 10th, 2009 at 23:23

estuvo biieN pero0 queria ver si me po0dias ayudar con un programa de entrada que ocupo hacer en vb.. el programa tiiene que reproducir un sonido cuando yo aplaste Un push button (no me acuero como se llama xD) por ejemplo aplasto un boton por ejemplo el 1 y tiiene que reproducir la letra Aes un ejemplo o0kbueno te egradeceria mucho0 si me pudiieras ayudar xD
39. Javier Says:
Noviembre 11th, 2009 at 13:13

Juan: Lo que necesitas es copiar el codigo de arriba dentro del boton y ya-
40. Diego Says:
Noviembre 25th, 2009 at 20:11

Alex, queria saber como hacer para reproducir los archivos de musica que almaceno en un listbox (playlist) me refiero que al hacerles click a los archivos no se reproducen quiero saber como habilitar que al darles click se reproduzcan. uso el Visual basic 5.0. gracias de antemano
41. Luis Eduardo Says:
Noviembre 25th, 2009 at 22:17

oigan a todos los que se consideren programadores y que quieran intercambar conocimiento ,de cualquier tema no solo programacion, quiero proponerles que se unan a mi cuenta de msn donde solo agrego a gente que quiera programar, o platicar de temas interesantes( ya que el mundo y la caja idiotizante-TELEVISION- no genera mas que gente estupida),para los que esten interesados aqui les dejo mi cuenta de correo: masturbin0136@hotmail.com y ya yo me pondre en contacto con los interesados ademas. muy buenos codigos los que vi publicados son realmente impresionantes!!( y eso que a mi casi nada me impresiona) y gracias a los que se tomaron la molestia de leer este pequeo comentario
42. Alex Says:
Noviembre 29th, 2009 at 12:21

este ejemplo esta para visual . Net Como he dicho anteriormente me extenderia mucho en poner ejemplos de otros lenguajes que por ser mas antiguos existe mucha info en la red.
43. memo Says:
Diciembre 3rd, 2009 at 7:26

aye amigo me podrias lludar en como hacer reprodur un archivo de video en vb.net es no e encotrado ninguna concretomes si me allude te lo agardeseria
44. Alex Says:
Diciembre 3rd, 2009 at 19:06

Copia este codigo es lo mismo.


45. Crunk!!! Says:
Febrero 26th, 2010 at 20:25

hola necesito los codigos para poder realizar un reproductor de musica en visual basic 2005, por fa si puedes mandarlo es para un proyecto de la escuela, estare al pendiente gracias atte: Crunk!!!
46. Moreno Says:
Marzo 7th, 2010 at 12:05

Como hago para anadirle la musica. Es que si lo pongo asi es solo una ruta y si instalo el programa en otra computadora no puedo escucharla ya que no tiene la musica ni la carpeta. Espero su ayuda. Gracias
47. Estefany Says:
Marzo 11th, 2010 at 9:39

Necesito ponerle sonido a la imagen al hacerle click Me podria ayudar con los codigos soy una principiante de programacion estoy desarrollando el programa en microsot visual basic 6.0 porfis deme la ayuda este mi es correo femeni_telle@hotmail.com
48. Alicia Says:
Abril 3rd, 2010 at 13:17

Y si quiero manejar el balance o frecuencia del audio como hago? Gracias


49. maria Says:
Abril 29th, 2010 at 16:09

holas bueno no se sim e puedas ayudar es k me an pedido hacer un trabajo k es hacer un reproductor de audio y video en visual basic 8.0 o 9.0 y pues nose bien como hacer me puedes ayudar por favor . GRACIASSS
50. Alex Says:
Mayo 2nd, 2010 at 12:34

Maria: Con este ejemplo lo puedes hacer, no se que duda tengas acerca del cdigo????
51. jineth Says:
Mayo 20th, 2010 at 12:50

hola necesito un programa en el que tenga almacenado muchos sonidos cortos, cuando un sensor externo sea activado reproducir el sonido tantas veces como sea necesario hasta que el sensor sea soltado. los datos de los distintos sensores entraran via usb. cualquier ayuda la agradeceria, realmente estoy muy perdida gracias
52. james Says:
Mayo 28th, 2010 at 22:43

De verdad alex haces una labor genial sos el mejor


53. james Says:
Mayo 28th, 2010 at 23:18

hola c omo hago para enlazar acces con vb 2005 lo estoy intentando y las carpetas las monto al escritorio y me dejan ver los archivos luego cuando intento enlazar no me deja y me dice que no hay archivos en las carpetas incluso en acces le doy la opcion de modificarlo de 2007 a 2002-2003 y no me enlaza en q estoy herrado si
54. Victor Eduardo Says:
Junio 6th, 2010 at 1:58

Sabes estoy haciendo una pequea aplicacion educativa en la que quiero que al escuchar un sonido de un button seleccionen la imagen que corresponde al sonido y que me muestre si es correcto o noporfa nose si podrias ayudarmelo del sonido ya funciona solo quiero sobre la imagen al hacer clic.bueno espero tu respuesta.v_virgo27_6@hotmail.com
55. Alex Says:
Junio 7th, 2010 at 15:44

Oues es muy sencillo, es mas de lgica. Necesitas conocer el nombre de la imagen y le pones el mismo nombre al sonido. Si los nombres son iguales pues es correcto.

56. Nathaly Says:


Junio 11th, 2010 at 17:41

hola Oye ya puse el codigo ke indicas arriba pero mmm no pasa nada con el reproductor no reproduce. ni me deja usar los botones de play y eso. como le ago???
57. Alex Says:
Junio 12th, 2010 at 18:27

Checa si agregaste bien el control AXMediaPlayer , si no dime que error te manda.


58. Estefa Says:
Julio 19th, 2010 at 12:09

Hola que pena, me haces un inmenso favor, es que quiero reproducir un video que est en la carpeta recursos de la aplicacin pero por mucho que intente no encuentro la forma. Gracias!!!!
59. Alex Says:
Julio 20th, 2010 at 11:06

Estefa: Los recursos se llaman de la siguiente manera: My.resources.archivo.mp3


60. Manuel Says:
Agosto 26th, 2010 at 10:59

Hola. Me gustara que me solucionaran este problema: He intentado agregar el archivo de reproductor de mp3: msdxm.ocx, pero al insertarlo a la barra de herramientas, me sale el mensaje: No se pudo realizar el autorregistro de msdxm.ocx. A qu puede ser debido? Tengo un Visual Basic 2008 Express con licencia gratuita. Tengo que pagar la licencia? Gracias. Manuel.
61. Alex Says:
Agosto 29th, 2010 at 23:09

Yo recomede el componente AxMediaPlayer.ocx. Prueba con ese. El que mencionas es para internet explorer y no para un WindowsForms.
62. John Says:
Septiembre 3rd, 2010 at 16:15

Alex me dice que FileName no es un miembro de AxWMPLib.AxWindowsMwdiaPlaye te agradezco me pudieras ayudar. Gracias
63. Alex Says:
Septiembre 9th, 2010 at 13:09

John: te hace falta la referencia al componente.


64. carlos mendez Says:
Enero 7th, 2011 at 15:36

hola quisiera q me ayuden quiro imprimir los texbox en un formato q yo quisiera disear como ago
65. carlos mendez Says:
Enero 7th, 2011 at 15:37

por ga favor quiero q me ayuden


66. Alex Says:
Enero 13th, 2011 at 0:16

Crystal reports67. Condenser Dryer %0B Says:


Enero 28th, 2011 at 3:04

;~ I am very thankful to this topic because it really gives up to date information -,


Leave a Reply
Name (required)

Mail (will not be published) (required)

Website

Submit Comment

258

Search
Go

"Minuto a Minuto"
o o o o o o o o o o

Henry Cavill, el nuevo Superman Aorve y Aguirre se proclaman ganadores PRI denuncia irregularidades durante comicios Celebran misa por jvenes de Villas de Salvrcar Bardem, el villano contra James Bond? Reciben Super Bowl al estilo texano Ortega: Triunfo de Aguirre es irreversible Ejrcito detiene a cinco en Acapulco Cierran casillas en Guerrero EU evacuar a sus ciudadanos de Egipto Celebridades Curiosidades Estadsticas Lugares interesantes PCs y NoteBooks Reflexiones Visual Basic.Net

Categorias
o o o o o o o

Calendario
Enero 2011 L M X J V S D

Enero 2011 L M X J V S D Sep 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Comentarios recientes
o o o o o o o o o o o o o o o

logan en Llenar ListView desde base de datos jamesham en Llenar ListView desde base de datos Condenser Dryer %0B en Reproducir audio con Visual Basic .Net Edwin en Llenar ListView desde base de datos Us en Reportes desde Mysql en Vb.net Alex en Reproducir audio con Visual Basic .Net carlos mendez en Reproducir audio con Visual Basic .Net carlos mendez en Reproducir audio con Visual Basic .Net Alex en Conectarse a Mysql desde Visual Basic 2005 Marcos Fabian en Conectarse a Mysql desde Visual Basic 2005 Jorge en Llenar ListView desde base de datos Negocios De Futuro en McDonalds Ruso Jorge en Llenar ListView desde base de datos alex en Llenar ListView desde base de datos Jorge en Llenar ListView desde base de datos

Entries (RSS) and Comments (RSS) Powered by WordPress Themes | Design by Reality Software Payout percentages & Credit Counseling & etymology MejorAlex

Home Contacto

Envio de correo desde Vb.Net


El envio de correo desde Visual Basic .Net se puede llevar a cabo de una manera muy sencilla. En este ejemplo utilizamos el espacio de nombres System.Net.Mail, un objeto del tipo MailMessage y otro del tipo SmtpClient. Algunas propiedades del objeto SmtpClient:

Host: Obtiene o establece el nombre o la direccin IP del host que se utiliza para las transacciones SMTP Port: Obtiene o establece el puerto utilizado para las transacciones SMTP. EnableSsl: Especifique si el objeto SmtpClient utiliza SSL (Secure Sockets Layer) para cifrar la conexin. TimeOut: Obtiene o establece un valor que especifica el intervalo de tiempo a partir del cual se considera que una llamada a Send sincrnica excede el tiempo de espera. Credentials: Obtiene o establece las credenciales utilizadas para autenticar al remitente. (Es decir, usuario y password)

Algunos mtodos usados:


Send: Enva un mensaje de correo electrnico a un servidor SMTP para su entrega. Estos mtodos se bloquean mientras se transmite el mensaje. SendAsyncCancel: Cancela una operacin asincrnica para enviar un mensaje de correo electrnico.

Primero creamos un procedimiento llamado EnviarMail que como su nombre lo indica ser el encargado de realizar todas las operaciones de envio. En este ejemplo utilizamos el servidor de Gmail para realizar el envio, pero podemos utilizar alguno propio.
Imports System.Net.Mail 'Procedimiento Private Sub EnviarMail(ByVal StrDe As String, ByVal StrPara As String, _ ByVal StrAsunto As String, ByVal StrMensaje As String) Try 'objeto tipo mensaje con parametros De: Para: Dim Msg As New MailMessage(New MailAddress(StrDe), New MailAddress(StrPara)) 'asunto Msg.Subject = StrAsunto 'mensaje Msg.Body = StrMensaje

'DATOS SMTP 'Objeto SMTP Dim SMPT As New SmtpClient 'Credenciales SMPT.Credentials = New System.Net.NetworkCredential _ ("usuario@gmail.com", "CONTRASEA") 'Host, Puerto, autenticacion SMPT.Host = "smtp.gmail.com" SMPT.Port = 587 SMPT.EnableSsl = True SMPT.Timeout = 10 'Enviar SMPT.Send(Msg) Me.Cursor = Cursors.Default Catch ex As Exception Me.Cursor = Cursors.Default MsgBox(ex.Message) End Try End Sub

y la manera de utilizar el procedimiento:


EnviarMail("remitente@servidor.com", "destino@servidor.com", _ "Asunto", "Mensaje")

En este ejemplo vemos que es necesario escribir la direccin del remitente, pero si usamos el servidor de Gmail, aunque escribamos una direccin de remitente falsa, gmail siempre la sustituir por la verdadera, sin embargo es necesario que este campo no se quede en blanco. Si realizan este ejemplo, notaran que mientras el correo es enviado, el formulario se bloquea. Si enviaramos archivos adjuntos, se podra tardar mucho ms y da la apariencia de que est bloqueado el programa. Para evitar esto necesitamos utilizar Threads y para esto utilizamos el espacio de nombres System.Threading, pero este ejemplo lo pongo en el siguiente post ya que tambien veremos lo del envio de adjuntos y ponfr a su disposicin un ejemplo completo para descarga incluyendo una barra de progreso que indicar el momento en que el mail esta siendo enviado.
Tags: clase MailMessage, clase SMTP, envio de correo desde visual basic .net, envio de correo gmail desde vb.net This entry was posted on Mircoles, Febrero 25th, 2009 at 17:16 and is filed under Visual Basic.Net. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 Responses to Envio de correo desde Vb.Net 1. Diego Says:


Marzo 20th, 2009 at 10:01

Hola, Primeramente enhorabuena por su programa. Lo estoy usando pero slo me deja enviar 1 mail, a la que envo 2 seguidos me dice The operation has timed out para que vuelva a funcionar tengo que cerrar y volver a abrir. Cmo se soluciona? Gracias y un saludo!.
2. Alex Says:
Marzo 22nd, 2009 at 18:45

Diego: Solo hay que cambiar en la propiedad timeout el tiempo que tiene ahi. Lo ideal es aumentarlo. SMPT.Timeout = 10 aqui ponle 30 o 40 o mas si es necesario.
Leave a Reply
Name (required)

Mail (will not be published) (required)

Website

Submit Comment

230

Search
Go

"Minuto a Minuto"
o o o o o o o o o o

Henry Cavill, el nuevo Superman Aorve y Aguirre se proclaman ganadores PRI denuncia irregularidades durante comicios Celebran misa por jvenes de Villas de Salvrcar Bardem, el villano contra James Bond? Reciben Super Bowl al estilo texano Ortega: Triunfo de Aguirre es irreversible Ejrcito detiene a cinco en Acapulco Cierran casillas en Guerrero EU evacuar a sus ciudadanos de Egipto Celebridades Curiosidades Estadsticas Lugares interesantes PCs y NoteBooks Reflexiones Visual Basic.Net

Categorias
o o o o o o o

Calendario
Enero 2011 L M X J V S D Sep 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Enero 2011 L M X J V S D 31

Comentarios recientes
o o o o o o o o o o o o o o o

logan en Llenar ListView desde base de datos jamesham en Llenar ListView desde base de datos Condenser Dryer %0B en Reproducir audio con Visual Basic .Net Edwin en Llenar ListView desde base de datos Us en Reportes desde Mysql en Vb.net Alex en Reproducir audio con Visual Basic .Net carlos mendez en Reproducir audio con Visual Basic .Net carlos mendez en Reproducir audio con Visual Basic .Net Alex en Conectarse a Mysql desde Visual Basic 2005 Marcos Fabian en Conectarse a Mysql desde Visual Basic 2005 Jorge en Llenar ListView desde base de datos Negocios De Futuro en McDonalds Ruso Jorge en Llenar ListView desde base de datos alex en Llenar ListView desde base de datos Jorge en Llenar ListView desde base de datos

Entries (RSS) and Comments (RSS) Powered by WordPress Themes | Design by Reality Software Payout percentages & Credit Counseling & etymology