Foros del Web » Programación para mayores de 30 ;) » .NET »

Mostrar partes tramas de Bytes en cada TextBox

Estas en el tema de Mostrar partes tramas de Bytes en cada TextBox en el foro de .NET en Foros del Web. ¿Cómo están compañeros del foro? Se trata de que uso un terminal llamado Termite gratuito que lee el puerto serie, envío una letra B mayúscula ...
  #1 (permalink)  
Antiguo 28/10/2023, 13:18
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Mostrar partes tramas de Bytes en cada TextBox

¿Cómo están compañeros del foro?

Se trata de que uso un terminal llamado Termite gratuito que lee el puerto serie, envío una letra B mayúscula y seguido envía también el \r.



La configuración es esta:


Como dije arriba, con Termite he enviado el comando B. Su respuesta es esta:

#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„À

A partir de la página 4 indica el comando a enviar que es el B y luego explica todo lo que recibe después.

Ver documento PDF.

En el programa Termite al enviar el comando B, recibe toda una trama de Bytes en el cual quiero ponerlo por separado en *Windows Form 4.7.2 .net o superior con Visual Studio Community 2022 gratuito.

En la versión que tengo, no se usa la C, T ni la Q. De todas formas al recibir las tramas de Bytes lo vas a ver.

Leer la S de forma independiente lo veo complicado, lo dejaré más adelante hasta cuando consiga lo más sencillos.

Quiero saber la forma más directa que al recibir la trama de Bytes, al menos me centro en vez de esto con la S:
#I226.6O226.6L006B100V25.7F50.2H50.2R0120S€„€ˆ„À

Me centro sin la S con esto indicado abajo:
#I226.6O226.6L006B100V25.7F50.2H50.2R0120

Me imagino que todo esto se almacenará en una variable tipo string, luego habrá que separarlo por cada textBox que se muestre.

Ejemplo con Windows Form.


¿Algún ejemplo de cómo separar la trama de Bytes y mostrarlo de forma independiente en el Windows Form en código C#?

Muchas gracias por leer hasta aquí.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #2 (permalink)  
Antiguo 29/10/2023, 01:39
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Respuesta: Mostrar partes tramas de Bytes en cada TextBox

En modo consola funciona muy bien usando separadores e incluso expresiones regulares.

Separadores o delimitadores:
Código:
            string entrada = "#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„À\r\n\r\n";

            char[] separadores = { '#', 'I', 'O', 'L', 'B', 'V', 'F', 'H', 'R', 'S' };

            var salida = entrada.Split(separadores, StringSplitOptions.RemoveEmptyEntries);

            Console.WriteLine(@"Entrada: 
" + entrada + 
"Salida:");

            foreach (var c in salida)
            {
                Console.WriteLine(c);
            }
Expresión regular:
Código:
            Regex rx = new Regex(@"#I(.*)O(.*)L(.*)B(.*)V(.*)F(.*)H(.*)R(.*)S(.*)",
                RegexOptions.Compiled | RegexOptions.IgnoreCase);

            string texto = "#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„À";

            MatchCollection partidos = rx.Matches(texto);

            foreach (Match match in partidos)
            {
                foreach (Group grupo_ in match.Groups)
                {
                    Console.WriteLine(grupo_.Value);
                }
            }
El problema está que uso Windows Form y cada separación tiene que estar en su textBox. Esto ya es más complicado.

Cada nombre indicado aquí abajo de su textBox para cada letra y meter sus valores ahí.


Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:03.