|
361
|
Programación / .NET (C#, VB.NET, ASP) / Re: Simulando barra de progreso
|
en: 1 Marzo 2019, 05:48 am
|
Buenas: Intenté pasarlo con este enlace, pero me daba errores por todoas partes. Al final ya me sale. 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(100); // 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); } } }
Son menos códigos. ¿Algún programa para capturar imágenes a gif como he visto por aquí? Muchas gracias a todos.
|
|
|
362
|
Programación / .NET (C#, VB.NET, ASP) / Re: Simulando barra de progreso
|
en: 28 Febrero 2019, 18:02 pm
|
Buenas gente. He hecho esto gracia a ustedes y no me dibuja la línea. 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. int barra = 58; double porcentaje = 0; 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 + 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. 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); } } }
Esto si que es una buena barra de progreso. Buen trabajo, lo haré cuando pueda.
|
|
|
363
|
Programación / .NET (C#, VB.NET, ASP) / Simulando barra de progreso
|
en: 27 Febrero 2019, 22:29 pm
|
Hola: Independientemente de la cantidad de █ haya para crear una barra de progreso, no llega al 100 %. Este es su código que he hecho hasta ahora. using System; using System.Threading;
namespace Porcentaje_barra_consola_01_cs { class Program { public static int resultado = 0;
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. int barra = 49; int porcentaje = 0;
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++) { 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(100); // 100 ms o 0.1 segundos. }
Console.ReadKey(); }
static void printCargando(int porcentaje) { Console.ForegroundColor = ConsoleColor.Gray; Console.SetCursorPosition(0, 1); // Por dos para que simule el 100%. Console.Write("Cargado: " + (porcentaje).ToString() + " %"); //Console.Write("Cargado: {0} %", (porcentaje * 2).ToString()); //Console.Write($"Cargado: { (porcentaje * 2).ToString() } %");
// Reestablecemos para que vuelva a imprimir bajo la línea de carga. Console.ForegroundColor = ConsoleColor.Yellow; Console.SetCursorPosition(porcentaje, 5); }
} } Gracias.
|
|
|
365
|
Programación / .NET (C#, VB.NET, ASP) / Escuchar música desde que ejecute la consola y dentro de un array tipo Byte.
|
en: 25 Febrero 2019, 23:21 pm
|
Hola: Código que creo que se puede hacer es algo así. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Musica_consola_01_cs { class Program { static void Main(string[] args) { #region Música. /* Posición Inicial: 00000000, Posición Final: 00001891, Longitud: 00001892 */ // Pongo pocos bytes para no agrandar el tema en el foro. byte[] rawData = { 0x4D, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x08 }; #endregion var c1 = new System.Windows.Media.MediaPlayer(); c1 .Open(new System.Uri(rawData )); c1.Play(); } } }
Me da este error. Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido Error CS0234 El tipo o el nombre del espacio de nombres 'Media' no existe en el espacio de nombres 'System.Windows' (¿falta alguna referencia de ensamblado?) Musica_consola_01_cs C:\Users\Usuario\Documents\Visual Studio 2017\Projects\Musica_consola_01_cs\Musica_consola_01_cs\Program.cs 545 Activo No encuentro en referencia el Media. ¿Alguna idea? Saludos.
|
|
|
367
|
Programación / .NET (C#, VB.NET, ASP) / Introducir y seleccionar lengua en modo consola
|
en: 25 Febrero 2019, 05:51 am
|
Hola: Teniendo un menú hecho por defecto en español en este caso. (Cuando todo esté acabado tiene que estar en Inglés por defecto). Quiero crear menús que sea capaz de elegir el idioma, en al cual hoy en día no hay problema porque está este traductor para escapar. Mi idea para tener un orden de cada idioma a introducir, por ejemplo, español, inglés, alemán, francés, italiano y portugués. En este ejemplo hay 6 lenguas. No se si la mejor opción es crear una carpeta de idiomas y ahí meto cada lengua en el cual es llamado. Código de ejemplo para. using System; namespace Idiomas_consola_01_cs { class Program { static void Main(string[] args) { // Título de la ventana. Console.Title = "Menú - C# 2017"; // Tamaño ventana consola. // X anchura. Console.WindowWidth = 80; // Y altura. Console.WindowHeight = 40; // Oculto el cursor. Console.CursorVisible = false; // Almacena la tecla pulsada en la variable. ConsoleKey teclaInicial; // Fondo verde. Console.BackgroundColor = ConsoleColor.Green; // Letras negras. Console.ForegroundColor = ConsoleColor.Black; do { // Limpiar pantalla. Console.Clear(); // Formato numérico dd/MM/yyyy. Console.WriteLine(DateTime.Now.ToString("ddd dd MMM")); // Almacena en la variable una tecla pulsada. teclaInicial = Console.ReadKey(true).Key; // ¿Haz pulsado la tecla Enter? if (teclaInicial == ConsoleKey.Enter) { // Sí. Se ejecuta esta función. menuPrincipal(); } } while (teclaInicial != ConsoleKey.Escape); } #region Menú Principal. public static void menuPrincipal() { // Contador de teclas y navegador. int opcion = 0; bool salir = false; // Capturar tecla para luego validar. ConsoleKey tecla; do { // Limpiar pantalla. Console.Clear(); switch (opcion) { case 0: Console.SetCursorPosition(0, 0); Console.Write("Language"); break; case 1: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 1."); break; case 2: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 2."); break; case 3: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 3."); break; case 4: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 4."); break; case 5: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 5."); break; case 6: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 6."); break; case 7: Console.SetCursorPosition(0, 0); Console.WriteLine("Salir menú"); break; default: break; } // Fin de pintar el menú. //****************************************************************** // Leer tecla ingresada por el usuario. tecla = Console.ReadKey(true).Key; // Validar el tipo de tecla. if (tecla == ConsoleKey.Enter) { switch (opcion) { case 1: // Instrucciones. break; case 2: // Instrucciones. break; case 3: // Instrucciones. break; case 4: // Instrucciones. break; case 6: // Instrucciones. break; case 7: salir = true; break; default: break; } } if (tecla == ConsoleKey.DownArrow) { opcion += 1; // Equivalente ++. } if (tecla == ConsoleKey.UpArrow) { opcion -= 1; // --. } // Si está en la última opción, salta a la primera. if (opcion > 7) { opcion = 0; } // Si está en la primera posición, salta a la última. if (opcion < 0) { opcion = 7; } // Uso la tecla escape como salida. } while (salir == false); } #endregion } }
En el menú Languaje, si pulsas Enter, tiene que verse en Inglés, todos los idiomas que vayamos incorporando. El usuario elige el idioma y se queda seleccionado. ¿Alguna idea? Saludos.
|
|
|
|
|
|
|