Hola
wind7, me alegro que te haya ayudado mi respuesta!
Que hermoso lenguaje
Pascal,
me trae lindos recuerdos de la facu!
Para borrar la pantalla ya viste el
Console.Clear() que usé en el código anterior.
Sí se puede borrar una línea y también limpiarla
. Veamos en qué consisten estos dos términos
. En
Pascal tenemos la instrucción
DelLine que borra una línea, pero no tenemos la instrucción
ClrLine, para limpiar una línea (en su lugar tenemos
ClrEOL). ¿Cuál sería la diferencia?
En
Pascal al hacer
DelLine se borra toda la línea donde se encuentra el cursor, subiendo una posición las que se encuentren por debajo de ésta.
Pero si en
Pascal deseamos limpiar en lugar de borrar, para que las líneas inferiores permanezcan en su lugar; primero debemos posicionar el cursor con
GotoXY y luego usar la instrucción
ClrEOL:
En
.Net podemos remedar todas estas instrucciones y ya que la vamos a implementar hagámoslas mejoradas; por ejemplo en
DelLine podríamos especificar un parámetro opcional para la línea a borrar y lo mismo para
ClrLine:
Código C#:
Ver original// Definimos una clase llamada Pascal de tipo estática para referenciarla sin necesidad de crear una instancia de la misma
// Con esta Clase pretendemos simular las instrucciones de nuestro querido Lenguaje Pascal :)
static class Pascal
{
// Declaramos una función, en este caso con carácter de procedimiento, también estática para poderla usar sin necesidad de una instancia; y con un parámetro opcional
public static void DelLine(int Line = -1)
{
if (Line == -1) // si no se especifica ningún argumento para el parámetro opcional, entonces usamos la línea actual del cursor
Line = Console.CursorTop;
Console.MoveBufferArea(0, Line + 1, Console.WindowWidth, Console.WindowHeight - Line - 1, 0, Line);
} // DelLine
// ídem al comentario de la función anterior
public static void ClrLine(int Line = -1)
{
if (Line == -1) // ídem al comentario del If de la función DelLine()
Line = Console.CursorTop;
Console.SetCursorPosition(0, Line);
Console.Write(string.Format("{0," + Console.WindowWidth.ToString() + "}", " "));
} // ClrLine
} // class Pascal
Ejemplos de uso, supongamos que tenemos la siguiente pantalla:
Código:
Linea #0
Linea #1
Linea #2
Linea #3
Linea #4
Linea #5
y deseamos borrar la número 3, haríamos:
Con lo cual nos quedaría:
Código:
Linea #0
Linea #1
Linea #2
Linea #4
Linea #5
y ahora supongamos que deseamos limpiar la línea número 2:
Nos quedaría:
Código:
Linea #0
Linea #1
Linea #4
Linea #5
Espero se haya entendido.
¡Saludos cordiales desde
Argentina!... con la mirada puesta en
Brasil !!!