Enviar más de 255 carácteres

Iniciado por Meta, 10 Diciembre 2020, 01:01 AM

0 Miembros y 1 Visitante están viendo este tema.

Danielㅤ

#10
Hola, lo mejor que podes hacer es lo siguiente:

Desde tu código compruebas si la cadena tiene más de 255 (mensaje.Length), en el caso que tenga más de esa cantidad, vas a dividir el mensaje en varios mensajes y con un bucle vas a ir enviando los textos/frases divididos por cada uno con 255 caracteres o menos.

Pero tenés que usar por ejemplo:

mensaje.Split(' ');

Es decir dividir la cadena por espacios para que los textos no salgan cortados.

Por ejemplo si el texto a enviar contiene mil caracteres, lo dividis en 4 y a esos mensajes los envías uno después de otro, de esa manera podrás enviar todo lo que quieras y sin que se te corte el texto ni te afecte el buffer de la consola.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Meta

Esa forma de hacer las cosas suena trapiche e innecesario. Es verdad que si no hay otra cosa es una artimaña perfecta, porque existe la posibilidad de hacerlo.

El rollo es saber como almacenar el texto en la consola en un array que se pasa de los 255 caracteres.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Danielㅤ

Es que todos los buffers tienen un límite, otros más que otros, lo tuyo por ejemplo sería como un chat IRC en donde se envían mensajes cortos.

Tenés que almacenarlo justamente en un array, y cada posición del array es una parte de la cadena entera, por ejemplo si el texto contiene mil caracteres:

mensaje[0]
mensaje[1]
mensaje[2]
mensaje[3]

estaría dividido por 4 partes, cuando el array "mensaje" contiene toda la cadena entera.

Por cierto innecesario no es, al contrario, esa es la forma o al menos una forma, así funcionan los chats IRC con un límite de texto a enviar y recibir, por eso es un chat de mensajes cortos.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Meta

Voy a intentar hacer un ejmeplo de almacenar la cantidad de datos en Byte[]. Deja ver si me sale y mostrarlo en pantalla.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Meta

Buenas gente por Naviades:

He intentado pero no me gusta mucho.
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Escribir_mas_de_255_caracteres_consola_01
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] array = new byte[500];
            ConsoleKey key;
            int i = 0;

            while ((key = Console.ReadKey(true).Key) != ConsoleKey.Enter)
            {
                Console.Write(key.ToString());
                array[i++] = Convert.ToByte(key);
            }
            Console.WriteLine();
            Console.WriteLine(Encoding.Default.GetString(array));
            Console.ReadLine();

        }
    }
}


Seguro que se puede hacer mejor.

Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/