Ver Mensaje Individual
  #1  
Antiguo 28-02-2019
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Reputación: 21
REHome Va por buen camino
No funciona barra de progreso

Hola a todos y a todas:

No se el motivo de que la barra no se genera del 0 al 100 %.
Código:
using System;
using System.Threading;

namespace Barra_progreso_consola_01_cs
{
    class Program
    {
        static void Main(string[] args)
        {
            // Título de la ventana.
            Console.Title = "Simulaor barra";

            // Tamaño ventana consola.
            Console.WindowWidth = 60; // X ancho.
            Console.WindowHeight = 20; // Y altura.

            // Cursor invisible.
            Console.CursorVisible = false;

            // Variables.
            double barra = 58.00;
            double porcentaje = 0.00;

            Console.SetCursorPosition(17, 1);
            Console.Write("    ");
            Console.SetCursorPosition(17, 1);
            Console.Write("");

            // Dibujamos la barra del portentaje.
            Console.SetCursorPosition(0, 3);
            Console.Write("0 %                         50 %                       100 %");
            Console.SetCursorPosition(0, 4);
            Console.Write("┌────────────────────────────┬───────────────────────────┐");
            Console.SetCursorPosition(0, 5);
            Console.ForegroundColor = ConsoleColor.Yellow;

            // Barra de progreso.
            for (int i = 0; i <= barra; i++)
            {
                porcentaje = i / (barra / 100.00);
                Console.Write("█"); // Muestra ASCII 219 Dec y DB en Hex.
                                    //Console.Write((char)219);
                                    // Console.Write(Encoding.ASCII.GetBytes((char)219));
                porcentaje++; // Incrementa valor.

                printCargando(porcentaje);

                Thread.Sleep(20); // 100 ms o 0.1 segundos.
            }

            Console.ReadKey();
        }

        static void printCargando(double porcentaje)
        {
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.SetCursorPosition(0, 1);
            // Por dos para que simule el 100%.
            Console.Write("Cargado: " + (porcentaje).ToString("N2") + " %");
            //Console.Write("Cargado: {0} %", (porcentaje).ToString("N2"));
            //Console.Write($"Cargado: { (porcentaje).ToString() } %");

            // Reestablecemos para que vuelva a imprimir bajo la línea de carga.
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.SetCursorPosition(0, 5);
        }
    }
}
Si se puede hacer con un mejor código, pues mejor. Seguro que hice chapuza al programarlo.

Un cordial saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita