elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 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 32 ... 255
161  Programación / .NET (C#, VB.NET, ASP) / Re: conexion puerto com en: 26 Agosto 2021, 18:41 pm
Hola:

Ver respuestas.

Saludos.
162  Programación / .NET (C#, VB.NET, ASP) / Re: Se pierde los datos guardados en un rchivo txt en: 23 Agosto 2021, 17:31 pm
Muchas gracias y los consejos mi muy distinguido amigo.
163  Programación / .NET (C#, VB.NET, ASP) / Re: Se pierde los datos guardados en un rchivo txt en: 22 Agosto 2021, 21:30 pm
Buenas:

Ya no falla. Lo corregí arriba y dejé una descripción.



Lo que hace el programa.
1. Solo se usa las flechas del teclado y la tecla Enter.
2. Te pide que introduzcas un nombre, que puedes manejar con la flecha del teclado.
3. Cuando termines de introducir un nombre, pulsas Enter, el cursor > irá en ATRÁS como puedes ver abajo.


4. Pulsas las teclas derecha o izquierda para elegir con el cursor > en GUARDAR y pulse Enter, guardará el nombre de un archivo de texto plano con la extensión .txt. Se llama Archivo.txt.
5. Si haz pulsado la tecla Enter en > Guardar, te muestra el mensaje de abajo.


6. Se pulsa Enter otra vez y se cierra el programa.
7. Al ejecutar el programa de nuevo, lee el Archivo.txt su contenido y lo muestra en pantalla.

Hasta aquí llega.

Ya que la estructura del programa indicas que lo tengo estilo chapuza, pues intentar hacerlo la mejor manera posible.

Una vez que domine esta parte. Debo hacer un mini menú de elegir 8 relés en el cual elijo uno a uno y escribo más guardo el nombre de cada uno de ellos.

Saludos.
164  Programación / .NET (C#, VB.NET, ASP) / Se pierde los datos guardados en un rchivo txt en: 22 Agosto 2021, 10:28 am
Hola gente del foro:

¿Cómo están?

Tengo un programa que al ejecutarlo, con el teclado Enter y las flechas puedo escribir. Pulso Enter y le doy en Guardar con Enter otra vez.

Cierro el programa, lo vuelvo abrir.

Si ejecuto y cierro el programa, misteriosamente el archivo .txt está todo borrado, sobre todo si lo hago rápido.

¿Por qué ocurre esto?

¿Hay alguna forma de solucionarlo?

Código completo C#:
Código
  1. using System;
  2. using System.IO;
  3.  
  4. namespace LCD_nombre_archivo_consola_12
  5. {
  6.    class Program
  7.    {
  8.        // Variables.
  9.        static string guardarNombre = ""; // Guardar nombre escrito.
  10.        static int coordenadaX = 0; // Coordenada X del setCursorPisition.
  11.        static ConsoleKey tecla; // Guarda cualquier tecla pulsada.
  12.        static int index = 0; // Índice.
  13.  
  14.        // Caracteres de este array.
  15.        static readonly char[] roALFANUMERICO = new char[]
  16.        {
  17.         'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'Ñ', 'O', 'P',
  18.         'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
  19.         'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y',
  20.         'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9','.', ',', '-', '_', ':', ';',
  21.         '¿', '?', '(', ')', '[', ']', '{', '}', '<', '>', '=', '$', '&', '@', '\'', '"', ' '
  22.        };
  23.  
  24.        // Dirección del carácter del array. El 83 presenta al espacio ' ' del array roALFANUMERICO indicado justo arriba.
  25.        // Hay un total de 85 caracteres. Se cuenta desde el 0 al 84.
  26.        static readonly int[] roINDICE_ARRAY = new int[]
  27.        {
  28.         84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84
  29.        };
  30.  
  31.        // Palabras del array para imprimir en pantalla.
  32.        static readonly string[] roTEXTO = new string[] { "ATRÁS", "GUARDAR" };
  33.  
  34.        static void Main(string[] args)
  35.        {
  36.            // Título de la pantalla.
  37.            Console.Title = "Cambiar nombre";
  38.  
  39.            Inicio();
  40.        }
  41.  
  42.        static void MainMenu()
  43.        {
  44.            Console.Clear(); // Limpiar pantalla.
  45.  
  46.            Console.SetCursorPosition(0, 0);
  47.            Console.Write("Nombre del relé 1:  ");
  48.            Console.SetCursorPosition(0, 1);
  49.  
  50.            // Recorre el índice del array, del 0 hasta donde llegue.
  51.            for (int i = 0; i < roINDICE_ARRAY.Length; i++)
  52.            {
  53.                // Imprime los caracteres del array.
  54.                Console.Write(roALFANUMERICO[roINDICE_ARRAY[i]]);
  55.            }
  56.  
  57.            Console.SetCursorPosition(3, 3);
  58.            Console.Write(roTEXTO[0]); // ATRÁS.
  59.            Console.SetCursorPosition(12, 3);
  60.            Console.Write(roTEXTO[1]); // GUARDAR.
  61.        }
  62.  
  63.        #region Inicio.
  64.        static void Inicio()
  65.        {
  66.            Console.SetWindowSize(20, 5); // Residemensiona pantalla. X = 20, Y = 5.
  67.            Console.BackgroundColor = ConsoleColor.Gray; // Fondo gris.
  68.            Console.ForegroundColor = ConsoleColor.Black; // Letras negras.
  69.  
  70.            // ¿El archivo Existe?
  71.            if (File.Exists("Archivo.txt"))
  72.            {
  73.                // Sí. Lee el archivo de texto.
  74.                string nombre = File.ReadAllText("Archivo.txt");
  75.                int a, b; // Almacena ídice array.
  76.                for (a = 0; a < nombre.Length; a++)
  77.                {
  78.                    for (b = 0; roALFANUMERICO[b] != nombre[a]; b++)
  79.                    {
  80.                        ;
  81.                    }
  82.                    roINDICE_ARRAY[a] = b; // b indica índice y lo añade al roINDICE_ARRAY.
  83.                }
  84.            }
  85.            // No. El Archivo.txt no existe.
  86.            else
  87.            {
  88.                // Crea un archivo nuevo, escribe el contenido en el archivo y, a continuación, lo cierra.
  89.                // Si el archivo de destino ya existe, se sobrescribe.
  90.                File.WriteAllText("Archivo.txt", guardarNombre);
  91.            }
  92.  
  93.            MainMenu(); // Dibuja el menú.
  94.  
  95.            while (true)
  96.            {
  97.                Console.CursorVisible = true; // Cursor invisible.
  98.                index = 0;
  99.  
  100.                // Si se cumple estas condiciones, Enter, flecha izquierda, flecha derecha
  101.                if ((tecla == ConsoleKey.Enter) || (tecla == ConsoleKey.RightArrow) || (tecla == ConsoleKey.LeftArrow))
  102.                {
  103.                    MainMenu(); // Dibuja el menú.
  104.                }
  105.  
  106.                // Posiciona cursor.
  107.                Console.SetCursorPosition(coordenadaX, 1);
  108.  
  109.                // Almacena en la variable tecla, la tecla pulsada.
  110.                tecla = Console.ReadKey(true).Key;
  111.  
  112.                // Si coincide una tecla pulsada.
  113.                switch (tecla)
  114.                {
  115.                    case ConsoleKey.RightArrow: // Flecha derecha detectada.
  116.                        // ¿CoordenadaX menor que 15?
  117.                        if (coordenadaX < 15)
  118.                        {
  119.                            coordenadaX++; // Sí. Añada + 1 en la coordenadaX.
  120.                        }
  121.                        // No. Sale de aquí.
  122.                        break;
  123.  
  124.                    case ConsoleKey.LeftArrow: // Flecha izquierda detectada.
  125.                        // ¿coordenadaX es mayor que 0?
  126.                        if (coordenadaX > 0)
  127.                        {
  128.                            coordenadaX--; // Sí. Decremente o quita -1.
  129.                        }
  130.                        // No. Sale de aquí.
  131.                        break;
  132.  
  133.                    case ConsoleKey.UpArrow: // Flecha arriba.
  134.                        roINDICE_ARRAY[coordenadaX]++; // En el índice del array añade + en coordenadaX.
  135.                        // ¿El índice del array es mayor o igual que el array Alfanumérico?
  136.                        if (roINDICE_ARRAY[coordenadaX] >= roALFANUMERICO.Length)
  137.                        {
  138.                            roINDICE_ARRAY[coordenadaX] = 0; // Sí. Deja en 0 la coordenada del índice del array.
  139.                        }
  140.                        Console.Write(roALFANUMERICO[roINDICE_ARRAY[coordenadaX]]);
  141.                        break;
  142.  
  143.                    case ConsoleKey.DownArrow: // Flecha abajo detectado.
  144.                        roINDICE_ARRAY[coordenadaX]--; // Decrementa a -1 el índice del array.
  145.                        // ¿La coordenadaX del indice del array es menor que 0?
  146.                        if (roINDICE_ARRAY[coordenadaX] < 0)
  147.                        {
  148.                            // Sí. Imprimir el valor alfanumérico.
  149.                            roINDICE_ARRAY[coordenadaX] = roALFANUMERICO.Length - 1;
  150.                        }
  151.                        Console.Write(roALFANUMERICO[roINDICE_ARRAY[coordenadaX]]);
  152.                        break;
  153.  
  154.                    case ConsoleKey.Enter: // Detecta la tecla Enter.
  155.                        Console.SetCursorPosition(1, 3); // Posición del cursor.
  156.                        Console.CursorVisible = false; // Se oculta el cursor.
  157.                        Console.Write(">"); // Imprime en pantalla >.
  158.  
  159.                        // ¿La tecla almacenada es distinto a la tecla Enter?
  160.                        while ((tecla = Console.ReadKey(true).Key) != ConsoleKey.Enter)
  161.                        {
  162.                            // Sí.
  163.                            switch (tecla)
  164.                            {
  165.                                case ConsoleKey.RightArrow:
  166.                                    index = 1;
  167.                                    Console.SetCursorPosition(1, 3);
  168.                                    Console.Write(" ");
  169.                                    Console.SetCursorPosition(10, 3);
  170.                                    Console.Write(">");
  171.                                    break;
  172.                                case ConsoleKey.LeftArrow:
  173.                                    Console.SetCursorPosition(10, 3);
  174.                                    Console.Write(" ");
  175.                                    Console.SetCursorPosition(1, 3);
  176.                                    Console.Write(">");
  177.                                    index = 0;
  178.                                    break;
  179.  
  180.                                case ConsoleKey.UpArrow:
  181.                                    Inicio();
  182.                                    break;
  183.  
  184.                                case ConsoleKey.DownArrow:
  185.                                    Inicio();
  186.                                    Console.SetCursorPosition(coordenadaX, 1);
  187.                                    break;
  188.                            }
  189.                        }
  190.  
  191.                        if (index == 0)
  192.                        {
  193.                            Atras();
  194.                        }
  195.                        if (index == 1)
  196.                        {
  197.                            Guardar();
  198.                        }
  199.                        break;
  200.                }
  201.            }
  202.        }
  203.        #endregion
  204.  
  205.        static void Atras()
  206.        {
  207.            Console.Clear();
  208.            Console.SetCursorPosition(0, 1);
  209.            Console.Write("HAS PULSADO ATRÁS   ");
  210.            Console.ReadKey(); // Pulse cualquier tecla para salir.
  211.        }
  212.  
  213.        static void Guardar()
  214.        {
  215.            guardarNombre = "";
  216.            Console.Clear(); // Limpia la pantalla.
  217.  
  218.            // Lee todo el contennido del array y lo guarda en guardarNombre.
  219.            for (int a = 0; a < roINDICE_ARRAY.Length; a++)
  220.            {
  221.                guardarNombre += roALFANUMERICO[roINDICE_ARRAY[a]].ToString();
  222.            }
  223.            Console.SetCursorPosition(0, 2);
  224.            Console.Write(guardarNombre); // Imprime el contenido.
  225.  
  226.            // Crear Archivo.txt y el contenido de guardarNombre.
  227.            File.WriteAllText("Archivo.txt", guardarNombre);
  228.  
  229.            Console.SetCursorPosition(0, 1);
  230.            Console.Write("HAS GUARDADO       ");
  231.  
  232.            // Pulsa otra vez tecla.
  233.            Console.ReadKey();
  234.        }
  235.    }
  236. }

Saludos camaradas.

Edito:
Ya funciona. Tenía que poner el else despuués del if, para que no se ejecute siempre, que lo tenía en el aire. Aún así voy a leer atentamente tus consejos.
165  Programación / .NET (C#, VB.NET, ASP) / Re: No concigo resolver el código de error en: 24 Abril 2021, 23:57 pm
Creo que tendrías el mismo resultado si escribes cinco veces █ y a continuación 5 espacios.
De hecho si puedes posicionar el cursor para dibujar solo esos 5 espacios finales, estarías haciendo lo que te decía más arriba... una funcion: Desactivar(fila, columna, xCantidad)


Mejor tu método para la barra.

El problema que es en toda la pantalla.
166  Programación / .NET (C#, VB.NET, ASP) / Re: No concigo resolver el código de error en: 23 Abril 2021, 11:10 am
El redibujado de una barra lo que se suele hacer al menos en las LCD para microcontroladores es que si funciona hasta aquí que son 10 veces █. "Alt + 219" en ASCII.

██████████

Si luego quiero poner 5 █, no se borra, tienes que borrarlo todo con 10 espacios y redibujar luego hasta cinco veces █.

En cada parte la pantalla de la consola, si solo se actualiza números, letras o dibujos como estos █, solo se tiene que modificar en esas áreas ya indicando las coordenadas de la pantalla a redeibujar o modificar valores.

Parece ser que se refrezca la pantalla completa.

Saludos.
167  Programación / .NET (C#, VB.NET, ASP) / Re: No concigo resolver el código de error en: 21 Abril 2021, 16:06 pm
Buenas:

El dispositivo es Arduino UNO r3 y este es su código.
Código
  1. // Include el código de la librería.
  2. #include <LiquidCrystal.h>
  3.  
  4. unsigned int valorPot1 = 0;
  5.  
  6. // Inicializa la librería con sus pines indicados.
  7. // RS, RW, Enable, D4, D5, D6, D7.
  8. //LiquidCrystal lcd(8, NULL, 9, 4, 5, 6, 7);
  9. LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
  10.  
  11. // Pin 10 para saber que es luz de fondo.
  12. //const byte LuzFondo = 10;
  13.  
  14. void setup()
  15. {
  16.  
  17.  Serial.begin(9600); // 115200
  18.  // La pantalla es de 16 caracteres y 2 filas.
  19.  lcd.begin(16, 2);
  20.  
  21.  // Indicar luz de fondo como salida.
  22.  // pinMode(LuzFondo, OUTPUT);
  23.  
  24.  pinMode(A1, INPUT);
  25. }
  26.  
  27. void loop()
  28. {
  29.  valorPot1 = analogRead(A1);
  30.  lcd.setCursor(0, 0);
  31.  lcd.print(F("Pot. A1: "));
  32.  lcd.setCursor(9, 0);
  33.  lcd.print(F("    "));
  34.  lcd.setCursor(9, 0);
  35.  lcd.print(valorPot1);
  36.  Serial.print(valorPot1);
  37.  delay(100); // 1000 mili segundos o 1 segundo.
  38. }

Me da que el código C# en vez de actualizar solo números y por supuesto, la barra de progreso. Refrezca todo la pantalla en completo, por eso hace cosas raras.

Saludos.
168  Programación / .NET (C#, VB.NET, ASP) / Re: Configurar ventana en: 21 Abril 2021, 09:51 am
Muchas gracias.
169  Programación / .NET (C#, VB.NET, ASP) / Re: No concigo resolver el código de error en: 21 Abril 2021, 09:50 am
Lo cambié por
Código
  1. long Variar_este_valor = Convert.ToInt64(recibidos);

Resulta que si ejecuto el programa lo hace. Si le doy a cerrar y luego ejecutar vuelve aparecer el mismo error.

Tengo que quitar el cable, colocarlo al P y luego ejecutar el programa y se ejecuta. Así no sale el error a pesar que puse también en modo long.

Una vez funcionando. Lo que no entiendo como que parpadea mucho la pantalla, es decir, si me muestra un valor que le llega por cada 100 ms desde el puerto serie, por ejemplo, el valor 454, tiene que verse este valor a:


Luego se pasa a este valor de abajo.


Se va alternando así cada rato. Tiene que estar fijo la pantalla, parece que hace refrezco de imagen cada cierto tiempo. Solo tiene que cambiar de imagen fluido si desde el puerto serie cambia de valor tanto los números como la barra de progreso.

Gracias.
170  Programación / .NET (C#, VB.NET, ASP) / No concigo resolver el código de error en: 20 Abril 2021, 18:35 pm
Hola:

Al ejecutar el programa me sale este error.
System.OverflowException: 'Valor demasiado grande o demasiado pequeño para Int32.'

Con cretamente aquí.
Código:
int Variar_este_valor = Convert.ToInt32(Recibidos);

Código del programa.
Código
  1. using System;
  2. using System.IO.Ports; // No olvidar.
  3. using System.IO;
  4.  
  5. namespace Porcentaje_Barra_Puerto_Serie_Consola_03
  6. {
  7.    class Program
  8.    {
  9.        public static string recibidos = "";
  10.        public static double Resultado_Porcentaje = 0;
  11.        public static double Resultado_Voltios = 0;
  12.        public static double Mitad_barra = 0;
  13.        public static int Contador = 1;
  14.  
  15.  
  16.        static void Main(string[] args)
  17.        {
  18.            #region Configuración ventana.
  19.            // Título de la ventana.
  20.            Console.Title = "Puerto serie C# - 2019";
  21.  
  22.            // Tamaño de la ventana, x, y.
  23.            Console.SetWindowSize(100, 35);
  24.  
  25.            // Color de fondo.
  26.            Console.BackgroundColor = ConsoleColor.DarkBlue;
  27.  
  28.            // Color de las letras.
  29.            Console.ForegroundColor = ConsoleColor.Yellow;
  30.  
  31.            // Limpiar pantalla y dejarlo todo en color de fondo.
  32.            Console.Clear();
  33.  
  34.            // Visible el cursor.
  35.            Console.CursorVisible = true;
  36.            #endregion
  37.            string COM = "";
  38.  
  39.            // Crear un nuevo objeto SerialPort con la configuración predeterminada.
  40.            SerialPort serialPort1 = new SerialPort();
  41.  
  42.            // Configuración.
  43.            Console.Write(@"
  44. Introduzca un número para seleccionar puerto COM.
  45. Por ejemplo el 4, sería COM4.
  46.  
  47. Puerto: ");
  48.            COM = Console.ReadLine(); // Escribir el número del puerto.
  49.            Console.Clear();
  50.  
  51.            serialPort1.PortName = "COM" + COM; // Número del puerto serie.
  52.  
  53.            // Crear un nuevo objeto SerialPort con la configuración predeterminada.
  54.  
  55.            // Configuración del puerto serie.
  56.            serialPort1.BaudRate = 9600;            // Baudios o velocidad. 115200
  57.            serialPort1.Parity = Parity.None;       // Sin paridad.
  58.            serialPort1.DataBits = 8;               // 8 Bits de datos.
  59.            serialPort1.StopBits = StopBits.Two;    // Bits de parada.
  60.            serialPort1.Handshake = Handshake.None; // Control de flujo.
  61.            serialPort1.ReadBufferSize = 4096;      // Tamaño del Búffer de lectura en Bytes.
  62.            serialPort1.WriteBufferSize = 2048;     // Tamaño del Búffer de escritura en Bytes.
  63.            serialPort1.ReadTimeout = 500;          // Establecer lectura de espera.
  64.            serialPort1.WriteTimeout = 500;         // Establecer escritura de espera.
  65.            serialPort1.DtrEnable = false;
  66.            serialPort1.RtsEnable = false;
  67.  
  68.  
  69.            try
  70.            {
  71.                serialPort1.Open(); // Abrir el puerto serie.
  72.            }
  73.  
  74.            catch (IOException)
  75.            {
  76.                Console.ForegroundColor = ConsoleColor.Red; // Texto en rojo.
  77.                Console.CursorVisible = false;
  78.                Console.SetCursorPosition(16, 6);
  79.                Console.WriteLine(@"El puerto " + serialPort1.PortName + @" no existe
  80.            o no lo encuentra.");
  81.            }
  82.  
  83.            serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  84.  
  85.            Console.Read();
  86.            serialPort1.Close(); // Cerrar puerto.
  87.        }
  88.  
  89.        private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  90.  
  91.        {
  92.  
  93.            try
  94.            {
  95.                SerialPort sp = (SerialPort)sender;
  96.                recibidos = sp.ReadExisting();
  97.                //Console.Clear();
  98.  
  99.                recibidos = recibidos.Replace("\n\r", "");
  100.  
  101.                int Variar_este_valor = Convert.ToInt32(recibidos);
  102.  
  103.                Resultado_Porcentaje = Variar_este_valor * (100.00 / 1023.00);
  104.                Resultado_Voltios = Variar_este_valor * (5.00 / 1023.00);
  105.  
  106.  
  107.                Console.SetCursorPosition(0, 1);
  108.                Console.Write("Datos recibidos: ");
  109.                Console.SetCursorPosition(17, 1);
  110.                Console.Write("    ");
  111.                Console.SetCursorPosition(17, 1);
  112.                Console.Write(recibidos);
  113.  
  114.                // Dibujamos la barra del portentaje.
  115.                Console.SetCursorPosition(0, 3);
  116.                Console.Write("0 %                     50 %                   100 %");
  117.                Console.SetCursorPosition(0, 4);
  118.                Console.Write("&#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9516;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;");
  119.                Console.Write("                                                  ");
  120.                Console.ForegroundColor = ConsoleColor.Yellow;
  121.  
  122.                // Se dibide por dos la barra del porcentaje para que quepa decuadamente en la pantalla.
  123.                Mitad_barra = Resultado_Porcentaje / 2;
  124.  
  125.                if (Mitad_barra > 50)
  126.                {
  127.                    Mitad_barra = 50;
  128.                }
  129.  
  130.                // Console.SetCursorPosition(0, 5);
  131.                ClearCurrentConsoleLine();
  132.                // Barra de progreso.
  133.                for (int i = 1; i <= Mitad_barra; i++)
  134.                {
  135.                    Console.Write("&#9608;"); // Muestra ASCII 219 Dec y DB en Hex.
  136.                                        // Console.Write((char)219);
  137.                                        // Console.Write(Encoding.ASCII.GetBytes((char)219));
  138.                }
  139.  
  140.                // Si sobre pasa 100, muestra # al final de la barra del porcentaje de color rojo.
  141.                if (Resultado_Porcentaje >= 100)
  142.                {
  143.                    Console.SetCursorPosition(50, 5);
  144.                    Console.ForegroundColor = ConsoleColor.Red;
  145.                    Console.Write("#");
  146.                }
  147.  
  148.                Console.ForegroundColor = ConsoleColor.Gray; // Vuelve al color gris.
  149.  
  150.                // Línea 7.
  151.                Console.SetCursorPosition(0, 7);
  152.                Console.Write("Porcentaje: ");
  153.                Console.SetCursorPosition(12, 7);
  154.                Console.Write("            ");
  155.                Console.SetCursorPosition(12, 7);
  156.                Console.Write(Resultado_Porcentaje.ToString("N0") + " %.");
  157.  
  158.                // Línea 8.
  159.                Console.SetCursorPosition(0, 8);
  160.                Console.Write("Voltios: ");
  161.                Console.SetCursorPosition(12, 8);
  162.                Console.Write("            ");
  163.                Console.SetCursorPosition(12, 8);
  164.                Console.Write(Resultado_Voltios.ToString("N2") + " V.");
  165.  
  166.            }
  167.  
  168.            catch (FormatException)
  169.            {
  170.                // Console.WriteLine("La cadena de entrada no tiene el formato correcto.");
  171.                Console.SetCursorPosition(0, 10);
  172.                Console.Write("                 ");
  173.                Console.SetCursorPosition(0, 10);
  174.                Console.Write("Contador: " + Contador++);
  175.                // return;
  176.            }
  177.  
  178.        }
  179.  
  180.        public static void ClearCurrentConsoleLine()
  181.        {
  182.            int currentLineCursor = Console.CursorTop;
  183.            Console.SetCursorPosition(0, Console.CursorTop);
  184.            Console.Write(new string(' ', Console.WindowWidth));
  185.            Console.SetCursorPosition(0, currentLineCursor);
  186.        }
  187.    }
  188. }

Rara vez el programa se ejecuta pero tiene otro comportamiento parpadeante en la pantalla pero muestra los datos un poco incómodo. Voy por partes.

Saludos.
Páginas: 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 32 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines