FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Volumen del pitido.
Hola:
Usando la consola C# 2017. He visto que el comando Consola.Beep(); puedes cambiar el tono del pitido. Lo que no he visto la posibilidad de cambiar su volumen. Aún así y antes que nada, quiero hacer un menú pequeño, solo se usa tres teclas, flecha arriaba, abajo y Enter. Cita:
Lo quiero implementar en este código que estamos haciendo (incluyendo gente dle foro) que dejo aquí abajo. Código consola C#: Código:
using System; namespace Menu_consola_09_cs { class Program { // Variables globales. public static int luz = 6; public const int BRILLO_MAX = 8; public static bool radio = false; static void Main(string[] args) { // Título de la ventana. Console.Title = "Menú de opciones"; // Tamaño ventana consola. // X anchura. Console.WindowWidth = 16; // Y altura. Console.WindowHeight = 2; // Oculto el cursor. Console.CursorVisible = false; ConsoleKey teclaInicial; Console.BackgroundColor = ConsoleColor.Green; // Letras negras. Console.ForegroundColor = ConsoleColor.Black; // Limpiar pantalla. do { Console.Clear(); Console.WriteLine(DateTime.Now.ToString("ddd dd MMM")); // Formato numérico dd/MM/yyyy. teclaInicial = Console.ReadKey(true).Key; if (teclaInicial == ConsoleKey.Enter) { menuPrincipal(); } } while (teclaInicial != ConsoleKey.Escape); // SANTIAGOOOOO. //while (true); } #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 { //****************************************************************** // Dibujo el menú. // Rellenar fondo verde. Console.BackgroundColor = ConsoleColor.Green; // Letras negras. Console.ForegroundColor = ConsoleColor.Black; // Limpiar pantalla. Console.Clear(); switch (opcion) { case 0: Console.SetCursorPosition(0, 0); Console.Write("Language"); break; case 1: Console.SetCursorPosition(0, 0); Console.WriteLine("Ajustar hora ->"); break; case 2: Console.SetCursorPosition(0, 0); Console.WriteLine("Ajustar fecha ->"); break; case 3: Console.SetCursorPosition(0, 0); Console.WriteLine("Brillo"); break; case 4: Console.SetCursorPosition(0, 0); Console.WriteLine("Ver radio"); break; case 5: Console.SetCursorPosition(0, 0); Console.WriteLine("Vol. avisos"); break; case 6: Console.SetCursorPosition(0, 0); Console.WriteLine("Vol. teclas"); break; case 7: Console.SetCursorPosition(0, 0); Console.WriteLine("Salir menú"); break; default: Console.WriteLine("Fuera de rango."); 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 3: brillo(); break; case 4: radiazo(); break; case 7: salir = true; break; default: break; } } if (tecla == ConsoleKey.DownArrow) { opcion += 1; } 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 #region Brillo (3). public static void brillo() { ConsoleKey teclaBrillo; Console.Clear(); do { Console.SetCursorPosition(0, 0); Console.Write("Luz: "); for (int i = 0; i < luz; i++) { Console.Write("X"); } for (int j = 0; j < (BRILLO_MAX - luz); j++) { Console.Write("-"); } teclaBrillo = Console.ReadKey(true).Key; // ¿Se pulsó el cursor arriba? if (teclaBrillo == ConsoleKey.UpArrow) { //¿no llega al limite? if (luz < BRILLO_MAX) { // Incrementa 1. luz++; } } if (teclaBrillo == ConsoleKey.DownArrow) { if (luz > 0) { // Decremmenta 1. luz--; } } } while (teclaBrillo != ConsoleKey.Enter); } #endregion #region Radio (4). public static void radiazo() { ConsoleKey teclaRadio; Console.Clear(); do { Console.SetCursorPosition(0, 0); Console.Write("Ver radio: "); Console.SetCursorPosition(11, 0); Console.Write(radio ? "On " : "Off"); teclaRadio = Console.ReadKey(true).Key; if ((teclaRadio == ConsoleKey.UpArrow) || (teclaRadio == ConsoleKey.DownArrow)) { radio = !radio; } } while (teclaRadio != ConsoleKey.Enter); } #endregion } } Código:
#region Volumen teclas. public static void VolTeclas() { ConsoleKey teclaVolumen; Console.Clear(); do { Console.SetCursorPosition(0, 0); Console.Write("Vol. tecla: "); Console.SetCursorPosition(11, 0); teclaVolumen = Console.ReadKey(true).Key; } while (teclaVolumen != ConsoleKey.Enter); } #endregion
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Volumen PC | pockelsm3 | Varios | 3 | 05-06-2008 19:05:49 |
pitido del speaker cpu en javascript | fer21unmsm | HTML, Javascript y otros | 4 | 24-05-2008 18:53:00 |
volumen en windows | aram2r | API de Windows | 32 | 19-02-2008 19:58:58 |
Volumen de mi PC | madiazg | API de Windows | 4 | 27-10-2007 12:56:17 |
Pitido al pulsar Enter | JavierB | Varios | 2 | 06-04-2005 13:34:44 |
|