Domingo 22 de Diciembre de 2024, 22:57
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Código más simple si es posible
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Código más simple si es posible (Leído 1278 veces)
Meta
Miembro MUY activo
Mensajes: 140
Código más simple si es posible
«
en:
Sábado 5 de Diciembre de 2009, 23:10 »
0
Hola:
Teniendo este código:
Código: C#
private
void
button_b_Click
(
object
sender, EventArgs e
)
{
byte
[
]
mBuffer
=
new
byte
[
11
]
;
mBuffer
[
0
]
=
0x48
;
//ASCII letra "H".
mBuffer
[
0
]
=
0x6F
;
//ASCII letra "o".
mBuffer
[
0
]
=
0x6C
;
//ASCII letra "l".
mBuffer
[
0
]
=
0x61
;
//ASCII letra "a".
mBuffer
[
0
]
=
0x20
;
//ASCII letra " ".
mBuffer
[
0
]
=
0x6D
;
//ASCII letra "m".
mBuffer
[
0
]
=
0x75
;
//ASCII letra "u".
mBuffer
[
0
]
=
0x6E
;
//ASCII letra "n".
mBuffer
[
0
]
=
0x64
;
//ASCII letra "d".
mBuffer
[
0
]
=
0x6F
;
//ASCII letra "o".
mBuffer
[
0
]
=
0x2E
;
//ASCII letra ".".
serialPort1
.
Write
(
mBuffer,
0
, mBuffer
.
Length
)
;
}
En este caso son 11 byte para enviar por puerto serie. Si fueran 50 sería una lista muy grande hacia abajo. ¿Hay alguna forma diferente hacerlo más simplificado con el mismo resultado?
Saludo.
Tweet
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Código más simple si es posible
«
Respuesta #1 en:
Domingo 6 de Diciembre de 2009, 00:57 »
0
No se si sea mas simple, pero podrias utilizar una variable de tipo string para guardar el texto. y luego utilizar el metodo Convert.ToByte() para hacer la conversion mediante un ciclo de la siguiente forma.
Código: C#
string
mensaje
=
"Hola mundo."
;
for
(
int
indice
=
0
;
indice
<
mensaje
.
Length
;
indice
++
)
{
mBuffer
[
indice
]
=
Convert
.
ToByte
(
mensaje
[
indice
]
)
;
}
A ver si te funciona.
Saludos
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
Meta
Miembro MUY activo
Mensajes: 140
Re: Código más simple si es posible
«
Respuesta #2 en:
Domingo 6 de Diciembre de 2009, 01:04 »
0
Gracias. Por casualidad funciona así:
Código: C#
using
System.Drawing
;
using
System.Linq
;
using
System.Text
;
using
System.Windows.Forms
;
namespace
PSERIE
{
public
partial
class
Form1
:
Form
{
public
Form1
(
)
{
InitializeComponent
(
)
;
}
private
void
button1_Click
(
object
sender, EventArgs e
)
{
serialPort1
.
Open
(
)
;
byte
[
]
mBuffer
=
Encoding
.
ASCII
.
GetBytes
(
"Hola mundo."
)
;
serialPort1
.
Write
(
mBuffer,
0
, mBuffer
.
Length
)
;
serialPort1
.
Close
(
)
;
}
}
}
tannke
Miembro MUY activo
Mensajes: 152
Nacionalidad:
Re: Código más simple si es posible
«
Respuesta #3 en:
Domingo 6 de Diciembre de 2009, 12:34 »
0
Si, debería funcionar bien asi, saludos
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Código más simple si es posible