Crear dinámicamente evento _DataReceived

17/01/2009 - 18:35 por León | Informe spam
hola listeros,

les cuento lo que quiero hacer:
Estoy desarrollando una aplicación en la que leo por el puerto serial (por
el momento, depronto mas adelante
puede ser el USB), un dato que llega. Hasta ahí todo normal.

El problema que tengo es que el pc puede tener varios puertos seriales y
pueden conectar el cable por cualquiera
de ellos, así que lo que quiero es que cuando conecten el cable,
automáticamente se configure el puerto sin
que el usuario necesite hacer nada y la aplicación comience a recibir datos.

Ya sé como obtener todos los nombre de los puertos seriales del pc, pero lo
que no sé es cómo hago para vincularle el
evento _DataReceived a los puertos, dinámicamente, he sabido que se puede
hacer, que con un delegado ó algo
así, pero no he podido dar con alguna información al respecto.

Si me pueden ayudar, así sea una luz, les agradezco infinitamente,

de Antemano, muchas gracias listeros.

fausto

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
18/01/2009 - 12:20 | Informe spam
Hola,

Primero, crea un método en el que pongas lo que quieres hacer cuando se
produzca el evento:

private void datosRecibidos(object sender,
SerialDataReceivedEventArgs datos)
{
// aquí programas lo que quieres hacer
// a través de "datos" tienes acceso a los parámetros del evento
}

Cuando en tu programa quieras conectar asociar ese método al evento
DataReceived de un componente de puerto serie, haces:

serialPort1.DataReceived += datosRecibidos:

Y cuando lo quieras "desconectar":

serialPort1.DataReceived -= datosRecibidos:

Slds - Octavio


"León" wrote in message
news:O%
hola listeros,

les cuento lo que quiero hacer:
Estoy desarrollando una aplicación en la que leo por el puerto serial (por
el momento, depronto mas adelante
puede ser el USB), un dato que llega. Hasta ahí todo normal.

El problema que tengo es que el pc puede tener varios puertos seriales y
pueden conectar el cable por cualquiera
de ellos, así que lo que quiero es que cuando conecten el cable,
automáticamente se configure el puerto sin
que el usuario necesite hacer nada y la aplicación comience a recibir
datos.

Ya sé como obtener todos los nombre de los puertos seriales del pc, pero
lo que no sé es cómo hago para vincularle el
evento _DataReceived a los puertos, dinámicamente, he sabido que se puede
hacer, que con un delegado ó algo
así, pero no he podido dar con alguna información al respecto.

Si me pueden ayudar, así sea una luz, les agradezco infinitamente,

de Antemano, muchas gracias listeros.

fausto



Respuesta Responder a este mensaje
#2 Leon
18/01/2009 - 15:25 | Informe spam
gracias Octavio,

pero como hago para colocar dinámicamente cada puerto al evento así:

serialPort1.DataReceived += datosRecibidos:
serialPort2.DataReceived += datosRecibidos:

eso es lo que no sé como hacer, asignar los nombres de los puertos que
obtengo de System.IO.Ports.SerialPort.GetPortNames(), a cada evento.

Muchas gracias por lo que me puedas ayudar.

fausto





"Octavio Hernandez" wrote in message
news:
Hola,

Primero, crea un método en el que pongas lo que quieres hacer cuando se
produzca el evento:

private void datosRecibidos(object sender,
SerialDataReceivedEventArgs datos)
{
// aquí programas lo que quieres hacer
// a través de "datos" tienes acceso a los parámetros del evento
}

Cuando en tu programa quieras conectar asociar ese método al evento
DataReceived de un componente de puerto serie, haces:

serialPort1.DataReceived += datosRecibidos:

Y cuando lo quieras "desconectar":

serialPort1.DataReceived -= datosRecibidos:

Slds - Octavio


"León" wrote in message
news:O%
hola listeros,

les cuento lo que quiero hacer:
Estoy desarrollando una aplicación en la que leo por el puerto serial
(por el momento, depronto mas adelante
puede ser el USB), un dato que llega. Hasta ahí todo normal.

El problema que tengo es que el pc puede tener varios puertos seriales y
pueden conectar el cable por cualquiera
de ellos, así que lo que quiero es que cuando conecten el cable,
automáticamente se configure el puerto sin
que el usuario necesite hacer nada y la aplicación comience a recibir
datos.

Ya sé como obtener todos los nombre de los puertos seriales del pc, pero
lo que no sé es cómo hago para vincularle el
evento _DataReceived a los puertos, dinámicamente, he sabido que se puede
hacer, que con un delegado ó algo
así, pero no he podido dar con alguna información al respecto.

Si me pueden ayudar, así sea una luz, les agradezco infinitamente,

de Antemano, muchas gracias listeros.

fausto






Respuesta Responder a este mensaje
#3 Octavio Hernandez
18/01/2009 - 21:04 | Informe spam
Hola,

Echa un vistazo a este tutorial, puede que te ayude:

http://msmvps.com/blogs/coad/archiv...39466.aspx

Slds - Octavio


"Leon" wrote in message
news:
gracias Octavio,

pero como hago para colocar dinámicamente cada puerto al evento así:

serialPort1.DataReceived += datosRecibidos:
serialPort2.DataReceived += datosRecibidos:

eso es lo que no sé como hacer, asignar los nombres de los puertos que
obtengo de System.IO.Ports.SerialPort.GetPortNames(), a cada evento.

Muchas gracias por lo que me puedas ayudar.

fausto





"Octavio Hernandez" wrote in message
news:
Hola,

Primero, crea un método en el que pongas lo que quieres hacer cuando se
produzca el evento:

private void datosRecibidos(object sender,
SerialDataReceivedEventArgs datos)
{
// aquí programas lo que quieres hacer
// a través de "datos" tienes acceso a los parámetros del evento
}

Cuando en tu programa quieras conectar asociar ese método al evento
DataReceived de un componente de puerto serie, haces:

serialPort1.DataReceived += datosRecibidos:

Y cuando lo quieras "desconectar":

serialPort1.DataReceived -= datosRecibidos:

Slds - Octavio


"León" wrote in message
news:O%
hola listeros,

les cuento lo que quiero hacer:
Estoy desarrollando una aplicación en la que leo por el puerto serial
(por el momento, depronto mas adelante
puede ser el USB), un dato que llega. Hasta ahí todo normal.

El problema que tengo es que el pc puede tener varios puertos seriales y
pueden conectar el cable por cualquiera
de ellos, así que lo que quiero es que cuando conecten el cable,
automáticamente se configure el puerto sin
que el usuario necesite hacer nada y la aplicación comience a recibir
datos.

Ya sé como obtener todos los nombre de los puertos seriales del pc, pero
lo que no sé es cómo hago para vincularle el
evento _DataReceived a los puertos, dinámicamente, he sabido que se
puede hacer, que con un delegado ó algo
así, pero no he podido dar con alguna información al respecto.

Si me pueden ayudar, así sea una luz, les agradezco infinitamente,

de Antemano, muchas gracias listeros.

fausto










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida