none
Usar un buen delimitador RRS feed

  • Pregunta

  • Hola:

    Mirando este esquema que son comandos que se envían y recibe del puerto serie.
    9b88862a018eb448b688e3a1186eb9b1o

    Ver imagen.

    Como dice arriba, si pulso X72 más la tecla Enter <cr> en el terminal del puerto serie como indica abajo. Me muestra estos valores.

    016a3d0ed20d948ce61fd85b3f3b2cb7o
    Ver imagen.

    Me mostró esto.

    #2000,1400,230,45.0,55.0,8.6

    The apparent power is 2000 VA.
    The active power is 1400 Watts.
    The factory default voltage of output is 230 Volts.
    The rating frecuency range is between 45.0 and 55.0 Hz.
    The rating current is 8.6 Amperes.

    Ya puesto en español. En el formulario pongo todo este texto con los labels.

    La potencia aparente es 2000 VA.
    La potencia activa es de 1400 Watts.
    El voltaje de salida predeterminado de fábrica es de 230 voltios.
    El rango de frecuencia nominal está entre 45.0 y 55.0 Hz.
    La corriente nominal es de 8,6 amperios.

    Supongamos que recibo el dato indicado arriba y lo vuelvo a mostrar abajo.

    #2000,1400,230,45.0,55.0,8.6

    Este dato lo guardo en una variable.

    La cuestión.

    ¿Cómo lo paso a cada labels?

    Son 5 label indicado arriba, solo cambia el valor en negrita, que son solo números.

    ¿Alguna idea?

    Saludos.

    http://electronica-pic.blogspot.com

    miércoles, 24 de marzo de 2021 22:17

Respuestas

  • Parece ser que por ahora funciona.

    using System;
    
    namespace Delimitador_consola_01
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Título de la ventana.
                Console.Title = "Probando delimitador";
    
                // Tamaño de la ventana, x, y.
                Console.SetWindowSize(80, 15);
    
                // Color de fondo.
                Console.BackgroundColor = ConsoleColor.Gray;
    
                // Color de las letras.
                Console.ForegroundColor = ConsoleColor.Black;
    
                // Limpiar pantalla y dejarlo todo en color de fondo.
                Console.Clear();
    
                // Visible el cursor.
                Console.CursorVisible = true;
    
                char[] delimitadorCaracter = { '#', ','};
                string frase = "#2000,1400,230,45.0,55.0,8.6";
                string[] palabras = frase.Split(delimitadorCaracter);
    
                foreach (string palabra in palabras)
                {
                    Console.WriteLine($"<{palabra}>");
                }
    
                Console.WriteLine();
                Console.WriteLine("La potencia aparente es {0} VA. (Voltio Amperio.)", palabras[1]);
                Console.WriteLine("La potencia activa es de {0} W. (Watios).", palabras[2]);
                Console.WriteLine("El voltaje de salida predeterminado de fábrica es de {0} V. (Voltios).", palabras[3]);
                Console.WriteLine("El rango de frecuencia nominal está entre {0} y {1} Hz.", palabras[4] , palabras[5]);
                Console.WriteLine("La corriente nominal es de {0} A. (Amperios).", palabras[6]);
    
                // Pulse cualquier tecla para salir.
                Console.ReadKey();
            }
        }
    }

    LA gente de programación, en muchos foros ya casi no participan.


    http://electronica-pic.blogspot.com

    • Marcado como respuesta EricRRModerator viernes, 26 de marzo de 2021 18:37
    viernes, 26 de marzo de 2021 16:35

Todas las respuestas

  • Buenas:

    Lo he intentado así:

    using System;
    
    namespace Delimitador_consola_01
    {
        class Program
        {
            static void Main(string[] args)
            {
                
                string phrase = "#2000,1400,230,45.0,55.0,8.6";
                string[] words = phrase.Split('#', ',');
    
                foreach (var word in words)
                {
                    Console.WriteLine($"<{word}>");
                }
    
    
    
                // Pulse cualquier tecla para salir.
                Console.ReadKey();
            }
        }
    }

    ¿Cómo hago que me lo muestre así?

    La potencia aparente es 2000 VA.
    La potencia activa es de 1400 Watts.
    El voltaje de salida predeterminado de fábrica es de 230 voltios.
    El rango de frecuencia nominal está entre 45.0 y 55.0 Hz.
    La corriente nominal es de 8,6 amperios.


    http://electronica-pic.blogspot.com


    • Editado Metaconta miércoles, 24 de marzo de 2021 22:43
    • Marcado como respuesta EricRRModerator jueves, 25 de marzo de 2021 17:03
    • Desmarcado como respuesta EricRRModerator jueves, 25 de marzo de 2021 17:03
    miércoles, 24 de marzo de 2021 22:42
  • Hola,

    Gracias por compartir la solución a la consulta realizada.

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    jueves, 25 de marzo de 2021 17:03
    Moderador
  • Parece ser que por ahora funciona.

    using System;
    
    namespace Delimitador_consola_01
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Título de la ventana.
                Console.Title = "Probando delimitador";
    
                // Tamaño de la ventana, x, y.
                Console.SetWindowSize(80, 15);
    
                // Color de fondo.
                Console.BackgroundColor = ConsoleColor.Gray;
    
                // Color de las letras.
                Console.ForegroundColor = ConsoleColor.Black;
    
                // Limpiar pantalla y dejarlo todo en color de fondo.
                Console.Clear();
    
                // Visible el cursor.
                Console.CursorVisible = true;
    
                char[] delimitadorCaracter = { '#', ','};
                string frase = "#2000,1400,230,45.0,55.0,8.6";
                string[] palabras = frase.Split(delimitadorCaracter);
    
                foreach (string palabra in palabras)
                {
                    Console.WriteLine($"<{palabra}>");
                }
    
                Console.WriteLine();
                Console.WriteLine("La potencia aparente es {0} VA. (Voltio Amperio.)", palabras[1]);
                Console.WriteLine("La potencia activa es de {0} W. (Watios).", palabras[2]);
                Console.WriteLine("El voltaje de salida predeterminado de fábrica es de {0} V. (Voltios).", palabras[3]);
                Console.WriteLine("El rango de frecuencia nominal está entre {0} y {1} Hz.", palabras[4] , palabras[5]);
                Console.WriteLine("La corriente nominal es de {0} A. (Amperios).", palabras[6]);
    
                // Pulse cualquier tecla para salir.
                Console.ReadKey();
            }
        }
    }

    LA gente de programación, en muchos foros ya casi no participan.


    http://electronica-pic.blogspot.com

    • Marcado como respuesta EricRRModerator viernes, 26 de marzo de 2021 18:37
    viernes, 26 de marzo de 2021 16:35