elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Salto de línea de palabras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Salto de línea de palabras  (Leído 2,960 veces)
Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Salto de línea de palabras
« en: 30 Diciembre 2021, 23:35 pm »

Buenas.

En modo consola C#.

Al escribir en el teclado al llegar al carácter 20, sigo escribiendo y me sale el renglón abajo. Así sucesivamente.

¿Es posible hacerlo sin pulsar Enter?

Que lo haga solo.

Felices fiestas 2021.


En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: Salto de línea de palabras
« Respuesta #1 en: 31 Diciembre 2021, 07:46 am »

Quiero saber si es posible hacerlo con muchos menos códigos.

Código
  1. using System;
  2.  
  3. namespace Return_a_patir_del_caracter_20_Consola_01
  4. {
  5.    internal class Program
  6.    {
  7.        static void Main(string[] args)
  8.        {
  9.            #region Configuración ventana.
  10.            // Título de la ventana.
  11.            Console.Title = "Return a partir del caracter 20";
  12.  
  13.            // Tamaño de la ventana, x, y.
  14.            Console.SetWindowSize(70, 25);
  15.  
  16.            // Color de fondo.
  17.            Console.BackgroundColor = ConsoleColor.Gray;
  18.  
  19.            // Color de las letras.
  20.            Console.ForegroundColor = ConsoleColor.Black;
  21.  
  22.            // Limpiar pantalla y dejarlo todo gris.
  23.            Console.Clear();
  24.  
  25.            // Visible el cursor.
  26.            Console.CursorVisible = true;
  27.            #endregion
  28.  
  29.            Console.WriteLine("Hello World!");
  30.            string line = ReadLine20CharByLine();
  31.        }
  32.  
  33.        static string ReadLine20CharByLine()
  34.        {
  35.            string result = "";
  36.            ConsoleKeyInfo key;
  37.            int count = 0;
  38.            while ((key = Console.ReadKey()).Key != ConsoleKey.Enter)
  39.            {
  40.                if (key.Modifiers == (ConsoleModifiers.Control | ConsoleModifiers.Shift | ConsoleModifiers.Alt))
  41.                {
  42.                    continue; // ignora caracteres si viene con algún modificador
  43.                }
  44.                if (key.Key == ConsoleKey.Backspace) // si se pulsa BackSpace
  45.                {
  46.                    if (result.Length > 0)
  47.                    {
  48.                        if (count == 0)  // si estás al principio de un renglón que no es el 1ro
  49.                        {                // borra el último caracter del renglón anterior
  50.                            Console.SetCursorPosition(20, Console.CursorTop - 1);
  51.                            Console.Write("\b \b");
  52.                            count = 19;
  53.                        }
  54.                        else       // si no, borra el caracter y retrocede en la misma linea
  55.                        {
  56.                            Console.Write(" \b");
  57.                            count--;
  58.                        }
  59.                        result = result.Substring(0, result.Length - 1);
  60.                    }
  61.                }
  62.                else  // si no se pulsó BackSpace ni ninguna tecla con Modifier
  63.                {     // se suma el caracter a result
  64.                    result += key.KeyChar.ToString();
  65.                    count++;
  66.                    if (count == 20)
  67.                    {
  68.                        count = 0;
  69.                        Console.SetCursorPosition(0, Console.CursorTop + 1);
  70.                    }
  71.                }
  72.            }
  73.            return result;
  74.        }
  75.    }
  76. }
  77.  

Feliz fin e año 2021.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Salto de linea en Batch
Scripting
Jatt 2 13,125 Último mensaje 5 Enero 2007, 18:55 pm
por Jatt
Evitar salto de linea
Programación C/C++
Posyo 1 3,230 Último mensaje 17 Enero 2012, 22:21 pm
por El_Java
salto de Linea en un JtextPane
Programación General
System23 0 4,207 Último mensaje 26 Marzo 2012, 19:23 pm
por System23
Salto de línea
Desarrollo Web
bgnumis 2 3,903 Último mensaje 25 Junio 2018, 19:49 pm
por JUCA
Ficheros con Salto de linea[C++]
Programación C/C++
ianmorar03 5 6,212 Último mensaje 9 Agosto 2017, 23:14 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines