Ver Mensaje Individual
  #4  
Antiguo 24-07-2024
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Reputación: 29
delphi.com.ar Va camino a la fama
En los ejemplos que expones tienes todas las funciones necesarias para hacer lo que deseas:

Código Delphi [-]
// Establece el ancho y alto de la ventana.
Console.SetWindowSize(20, 5);

// Limpiar pantalla.
Console.Clear();

// Posición del cursor del título del MENÚ PRINCIPAL.
Console.SetCursorPosition(0, 0);

// Escribir texto en la consola.
Console.Write("       INICIO       ");

// Leer tecla ingresada por el usuario.
tecla = Console.ReadKey(true).Key;

Utilizando esas funciones puedes hacer lo que deseas, teniendo un array o lista con los elementos del menú, una variable/constante con la cantidad máxima a mostrar y una variable que indique el elemento seleccionado y otra el índice del elemento que se muestra como primero en la lista. Al mover el cursor hacia abajo incrementas el índice del elemento seleccionado, solo si existen más elementos, y si el elemento seleccionado es mayor al máximo elementos a mostrar menos el índice del elemento superior mostrado, entonces incrementar este último valor. Una lógica similar funcionará para cuando quieras subir en el menú. Y luego de cualquier cambio, lo más simple es redibujar todo el menú.


No vas a encontrar la solución a medida de tus necesidades con tantas condiciones, por lo que es indispensable en comprendas las herramientas utilizadas y la lógica, aquí tienes algun ejemplo similar: https://www.youtube.com/watch?v=qAWhGEPMlS8

Saludos
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita