![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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);
}
}
}
Un cordial saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
|
#2
|
||||
|
||||
|
Puede ser que no dé tiempo de verlo, has cambiado el intervalo de tiempo:
Thread.Sleep(20); // 100 ms o 0.1 segundos. Prueba a dejarlo en 100, por probar.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
No tiene nada que ver, aunque le ponga.
Código:
Thread.Sleep(500);
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
|
#4
|
|||
|
|||
|
Buenas:
Ya lo he conseguido. Dejo el código por si alguien lo necesita o le pica la curiosidad. Código C#: Código:
using System;
using System.Threading;
namespace Barra_progreso_consola_03_cs
{
class Program
{
// Variable.
static double resultadoPorcentaje;
static void Main(string[] args)
{
Console.Title = "Simulador barra de progreso";
Console.WindowWidth = 60; // X ancho.
Console.WindowHeight = 10; // Y altura.
Console.CursorVisible = false;
// Variable.
int barra = 58;
int porcentaje = 0;
// 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.Write("░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"); // Ascii 176.
Console.SetCursorPosition(0, 5);
Console.ForegroundColor = ConsoleColor.Yellow;
for (int i = 0; i < barra; i++)
{
resultadoPorcentaje = (i + 1.0D) / (barra / 100.0);
Console.Write("█"); // Muestra ASCII 219 Dec y DB en Hex.
// Console.Write((char)219);
// Console.Write(Encoding.ASCII.GetBytes((char)219));
porcentaje++; // Incrementa valor.
PintarCargando(porcentaje);
Thread.Sleep(300); // 100 ms o 0.1 segundos.
}
// Pulse cualquier tecla para salir.
Console.ReadKey();
}
static void PintarCargando(int porcentaje)
{
Console.ForegroundColor = ConsoleColor.Gray;
Console.SetCursorPosition(0, 1);
Console.Write("Cargado: " + (resultadoPorcentaje).ToString("N0") + " %");// por dos para que simule el 100%
// Reestablecemos para que vuelva a pintar bajo la línea de carga.
Console.ForegroundColor = ConsoleColor.Yellow;
Console.SetCursorPosition(porcentaje, 5);
}
}
}
![]()
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Barra de progreso | nabucodonosor | Delphi para la web | 3 | 01-11-2012 10:57:04 |
| Barra de Progreso | XcamX | MySQL | 1 | 21-12-2010 11:24:52 |
| Barra de progreso? | marlulipe | Impresión | 5 | 26-02-2008 16:51:55 |
| Barra de progreso con TNMFTP | pborges36 | Internet | 1 | 30-06-2006 00:50:03 |
| Mostrar progreso de descarga de IndyFTP con barra de progreso | devicer | Internet | 2 | 05-12-2005 14:59:32 |
|