![]() |
![]() |
![]() |
![]() |
![]() |
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. |
![]() |
|
|
![]() |
||||
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 |
![]() |
|