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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 255
351  Programación / .NET (C#, VB.NET, ASP) / Re: ¿Por qué solo puedo escribir 255 caracteres como máximo? en: 12 Junio 2019, 23:51 pm
Console.ReadLine() solo pilla 256 caracteres.
   
Código
  1. byte[] bytes = new byte[2000]; //Nuevo tamanho maximo.
  2. Stream inputStream = Console.OpenStandardInput(bytes.Length);
  3. Console.SetIn(new StreamReader(inputStream));
  4. Console.WriteLine("\t\tMensaje: ");
  5. mensaje = Console.ReadLine();

Funciona de maravilla, muchas gracias mi muy distinguido amigo. ;)
352  Programación / .NET (C#, VB.NET, ASP) / ¿Por qué solo puedo escribir 255 caracteres como máximo? en: 12 Junio 2019, 07:00 am
Buenas:

Con este programa que es enviar email, en el mensaje solo puedo escribir hasta 255 letras o caracteres, lo mismo para el asunto.

¿Cuál es el motivo de la causa?

Su código es este.

Código
  1. using System;
  2. using System.Net.Mail;
  3. using System.Text;
  4. using System.Net;
  5.  
  6. namespace Enviar_e_mail_Consola_04_cs
  7. {
  8.    class Program
  9.    {
  10.        static void Main(string[] args)
  11.        {
  12.            string usuario, contraseña, destinatario, asunto, mensaje;
  13.  
  14.            // Título de la ventana.
  15.            Console.Title = "Enviar e-mail con Consola C#";
  16.  
  17.            // Tamaño ventana consola.
  18.            Console.WindowWidth = 80; // X. Ancho.
  19.            Console.WindowHeight = 40; // Y. Alto.
  20.  
  21.            // Tamaño del cursor. Del 1 al 100.
  22.            Console.CursorSize = 50;
  23.  
  24.            // Título del programa.
  25.            Console.WriteLine("\t\t----------------------------------------");
  26.            Console.WriteLine("\t\t\tEnviar Correo Electrónico");
  27.            Console.WriteLine("\t\t----------------------------------------");
  28.  
  29.            try
  30.            {
  31.                Console.WriteLine("\n");
  32.                Console.Write("\t\tIngresar tu correo electrónico: ");
  33.                usuario = Console.ReadLine();
  34.                Console.Write("\t\tIntroducir contraseña: ");
  35.                contraseña = LeerPassword();
  36.                Console.Write("\t\tDestinatario: ");
  37.                destinatario = Console.ReadLine();
  38.                Console.Write("\t\tAsunto: ");
  39.                asunto = Console.ReadLine();
  40.                Console.Write("\t\tMensaje: ");
  41.                mensaje = Console.ReadLine();
  42.  
  43.                MailMessage correo = new MailMessage(usuario, destinatario, asunto, mensaje);
  44.  
  45.                SmtpClient servidor = new SmtpClient("smtp.gmail.com")
  46.                {
  47.                    Port = 587
  48.                };
  49.                NetworkCredential credenciales = new NetworkCredential(usuario, contraseña);
  50.                servidor.Credentials = credenciales;
  51.                servidor.EnableSsl = true;
  52.  
  53.                Console.WriteLine("\t\tEnviando correo...");
  54.                servidor.Send(correo);
  55.                Console.WriteLine("\t\tCorreo enviado satisfactoriamente.");
  56.                correo.Dispose();
  57.                Console.ReadKey();
  58.            }
  59.            catch (Exception ex)
  60.            {
  61.                Console.WriteLine("\t\t" + ex.Message);
  62.                Console.WriteLine("\t\tNo se ha enviado el correo.");
  63.                Console.ReadKey();
  64.            }
  65.  
  66.        }
  67.  
  68.        // A la hora de introducir la contraseña, se sustituye por asterístos (*) en pantalla.
  69.        public static string LeerPassword()
  70.        {
  71.            ConsoleKeyInfo cki;
  72.            StringBuilder sb = new StringBuilder();
  73.            int contador = 0;
  74.  
  75.            do
  76.            {
  77.                cki = Console.ReadKey(true);
  78.                if (cki.Key != ConsoleKey.Enter)
  79.                {
  80.  
  81.                    sb.Append(cki.KeyChar);
  82.                    if (contador < 4)
  83.                    {
  84.                        Console.Write("*");
  85.                    }
  86.                    contador++;
  87.                }
  88.  
  89.                else
  90.                {
  91.                    break;
  92.                }
  93.  
  94.            } while (true);
  95.            Console.WriteLine();
  96.            return sb.ToString();
  97.        }
  98.    }
  99. }

Salu2. camaradas.
353  Programación / .NET (C#, VB.NET, ASP) / Re: ¿Cómo puedo leer el mensaje de un email y mostrarlo en la consola? en: 12 Junio 2019, 06:58 am
Hola:

Ya e funciona leer el POP3 del correo electrónico como puedes ver abajo, lee asunto y el mensaje de texto sin formato, de otra manera no lo lee.



El programa de abajo que funciona al completo, quiero modificar algunas cosa que no se como se hace, por ejemplo, si me llega mensajes nuevos, me lee todos los mensajes nuevos, solo quiero que me lea el último mensaje nuevo, solo un mensaje.

A parte de esto, C# no lee el último mensaje nuevo porque tiene que ser que vuelva a ejecutar el ejecutable.

¿Hay alguna manera de que el ejecutable lea en cada cierto tiempo la entrada del email?

Por ejemplo, en cada 5 minutos se pone a leer la bandeja de entrada si hay algún mensaje y lo muestra en pantalla, mientas el mensaje viejo que nunca se borra del servidor, solo en pantalla de la consola C# haga esto, Console.Clear(); // Limpiar pantalla y vuelva a mostrar mensaje nuevo.

Código fuente C#:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using OpenPop.Pop3;
  4.  
  5. using System.Net.Mime;
  6.  
  7. namespace Recibir_email_Consola_01
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            // Título de la ventana.
  14.            Console.Title = "Recibir e-mail con Consola C#";
  15.  
  16.            // Tamaño ventana consola.
  17.            Console.WindowWidth = 80; // X. Ancho.
  18.            Console.WindowHeight = 40; // Y. Alto.
  19.  
  20.            // Cursor invisible.
  21.            Console.CursorVisible = false;
  22.  
  23.            // Título del programa.
  24.            Console.WriteLine("\t\t----------------------------------------");
  25.            Console.WriteLine("\t\t\tRecibir Correo Electrónico");
  26.            Console.WriteLine("\t\t----------------------------------------");
  27.            Console.WriteLine();
  28.  
  29.            try
  30.            {
  31.                ConnectPop3 oC = new ConnectPop3();
  32.  
  33.                List<OpenPop.Mime.Message> lstMessages = oC.GetMessages();
  34.  
  35.  
  36.                if (lstMessages != null)
  37.                {
  38.  
  39.                    foreach (var oMessage in lstMessages)
  40.                    {
  41.                        Console.ForegroundColor = ConsoleColor.White;
  42.                        Console.WriteLine("ASUNTO: ");
  43.                        Console.ForegroundColor = ConsoleColor.Gray;
  44.                        Console.WriteLine(oMessage.Headers.Subject + "\n"); // Asunto.
  45.  
  46.                        //Console.WriteLine(oMessage.Headers.From); // Email del que te envió el mensaje.
  47.                        //Console.WriteLine(oMessage.Headers.ContentTransferEncoding); //out: SevenBit.
  48.                        //Console.WriteLine(oMessage.Headers.ContentType);
  49.                        //Console.WriteLine(oMessage.Headers.Date); // Fecha larga.
  50.                        //Console.WriteLine(oMessage.Headers.DateSent); // Fecha corta.
  51.                        //Console.WriteLine(oMessage.Headers.Importance); // Out: Normal.
  52.                        //Console.WriteLine(oMessage.Headers.MimeVersion); // Versión.
  53.                        //Console.WriteLine();
  54.  
  55.                        Console.ForegroundColor = ConsoleColor.White;
  56.                        Console.WriteLine("MENSAJE: "); // Aquí se pone código del mensaje que no se cual es.
  57.                        Console.ForegroundColor = ConsoleColor.Gray;
  58.                        Console.WriteLine(oMessage.MessagePart.GetBodyAsText()); // Mensaje.
  59.                    }
  60.                }
  61.                Console.ForegroundColor = ConsoleColor.Yellow; // Letras amarillas.
  62.                Console.WriteLine();
  63.                Console.WriteLine("FIN DEL PROGRAMA.");
  64.                Console.ReadKey(); // Pulse cualquier tecla para salir.
  65.            }
  66.  
  67.            catch (Exception ex)
  68.            {
  69.                Console.ForegroundColor = ConsoleColor.Red;
  70.                Console.WriteLine();
  71.                Console.WriteLine(ex);
  72.                Console.ReadKey();
  73.            }
  74.        }
  75.    }
  76.  
  77.    public class ConnectPop3
  78.    {
  79.        public string email = "celltium@gmail.com";
  80.        public string contraseña = "g0923490xgh0945g450Xj4025g"; // Ficcicio.
  81.        public int puerto = 995;
  82.        public bool usarSLL = true;
  83.        public string Hostame = "pop.gmail.com";
  84.  
  85.        public List<OpenPop.Mime.Message> GetMessages()
  86.        {
  87.            using (Pop3Client oClient = new Pop3Client())
  88.            {
  89.                oClient.Connect(Hostame, puerto, usarSLL);
  90.                oClient.Authenticate(email, contraseña);
  91.  
  92.                int messageCount = oClient.GetMessageCount();
  93.                List<OpenPop.Mime.Message> lstMessages = new List<OpenPop.Mime.Message>(messageCount);
  94.  
  95.                for (int i = messageCount; i > 0; i--)
  96.                {
  97.                    lstMessages.Add(oClient.GetMessage(i));
  98.                }
  99.  
  100.                return lstMessages;
  101.            }
  102.        }
  103.    }
  104. }

Les recuerdo que solo admite mensaje texto sin formato para que lo lea.

Datos de interés.

https://github.com/foens/hpop

http://hdeleon.net/realizar-una-conexion-el-correo-para-ver-los-mails-con-c-net-gmail-pop3-openpop-net/

Un cordial saludos.
354  Programación / .NET (C#, VB.NET, ASP) / ¿Cómo puedo leer el mensaje de un email y mostrarlo en la consola? en: 11 Junio 2019, 01:23 am
Hola:

Me funciona el código, veo datos menos el que me interesa, precisamente no me sale el contenido del mensaje, es el que quiero que me muestre en pantalla.
El programa solo lee los últimos email nuevos.


(A veces tienes que actualizar varias veces tu navegador para que se muestre la captura).

Código C#:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using OpenPop.Pop3;
  4.  
  5. namespace Recibir_email_Consola_01
  6. {
  7.    class Program
  8.    {
  9.        static void Main(string[] args)
  10.        {
  11.            // T&#237;tulo de la ventana.
  12.            Console.Title = "Recibir e-mail con Consola C#";
  13.  
  14.            // Tama&#241;o ventana consola.
  15.            Console.WindowWidth = 100; // X. Ancho.
  16.            Console.WindowHeight = 40; // Y. Alto.
  17.  
  18.            Console.WriteLine("\t\t----------------------------------------");
  19.            Console.WriteLine("\t\t\tRecibir Correo Electr&#243;nico");
  20.            Console.WriteLine("\t\t----------------------------------------");
  21.  
  22.            try
  23.            {
  24.                ConnectPop3 oC = new ConnectPop3();
  25.  
  26.                List<OpenPop.Mime.Message> lstMessages = oC.GetMessages();
  27.  
  28.  
  29.                if (lstMessages != null)
  30.                {
  31.  
  32.                    foreach (var oMessage in lstMessages)
  33.                    {
  34.                        Console.WriteLine(oMessage.Headers.Subject); // Asunto.
  35.                        Console.WriteLine(oMessage.Headers.From); // Email del que te envi&#243; el mensaje.
  36.                        Console.WriteLine(oMessage.Headers.ContentTransferEncoding); //out: SevenBit.
  37.                        Console.WriteLine(oMessage.Headers.ContentType);
  38.                        Console.WriteLine(oMessage.Headers.Date); // Fecha larga.
  39.                        Console.WriteLine(oMessage.Headers.DateSent); // Fecha corta.
  40.                        Console.WriteLine(oMessage.Headers.Importance); // Out: Normal.
  41.                        Console.WriteLine(oMessage.Headers.MimeVersion); // Versi&#243;n.
  42.                        Console.WriteLine(oMessage.Headers.MessageId);
  43.                    }
  44.                }
  45.                Console.ForegroundColor = ConsoleColor.Yellow; // Letras amarillas.
  46.                Console.WriteLine("FIN DEL PROGRAMA.");
  47.                Console.ReadKey(); // Pulse cualquier tecla para salir.
  48.            }
  49.  
  50.            catch (Exception e)
  51.            {
  52.                Console.WriteLine(e.ToString());
  53.            }
  54.        }
  55.    }
  56.  
  57.    public class ConnectPop3
  58.    {
  59.        public string email = "celltium@gmail.com";
  60.        public string contrase&#241;a = "g0923490xgh0945g450Xj4025g";
  61.        public int puerto = 995;
  62.        public bool usarSLL = true;
  63.        public string Hostame = "pop.gmail.com";
  64.  
  65.        public List<OpenPop.Mime.Message> GetMessages()
  66.        {
  67.            using (Pop3Client oClient = new Pop3Client())
  68.            {
  69.                oClient.Connect(Hostame, puerto, usarSLL);
  70.                oClient.Authenticate(email, contrase&#241;a);
  71.  
  72.                int messageCount = oClient.GetMessageCount();
  73.                List<OpenPop.Mime.Message> lstMesages = new List<OpenPop.Mime.Message>(messageCount);
  74.  
  75.                for (int i = messageCount; i > 0; i--)
  76.                {
  77.                    lstMesages.Add(oClient.GetMessage(i));
  78.                }
  79.  
  80.                return lstMesages;
  81.            }
  82.        }
  83.    }
  84. }
  85.  

Pensé que leer el mensaje es ete código pero veo que no.
Código
  1. Console.WriteLine(oMessage.Headers.MessageId);

http://rfinochi.github.io/pop3dotnet/

¿Cómo puedo ver el mensaje del email?

Saludos.
355  Programación / Programación C/C++ / Re: ¿Cómo transportar un ejecutable escrito en c++? en: 10 Junio 2019, 21:10 pm
Prueba el mismo programa pero con C/C++ CLI o Visual C .net, lo mismo pero en .net y solo necesitas el .exe.
356  Programación / Programación C/C++ / Quiero saber si es posible transformas estas clases en dll y importarla en: 10 Junio 2019, 21:04 pm
Hola:

Quiero saber si estas clases se puede transformar por llamarlo de alguna manera en una librería dll y que se pueda llamar y usarla en cualquier interfaz como C#, C++ .net y V b .net.

Por ejemplo, estas clases controla el puerto serie que puedes descargar aquí.

https://github.com/Gmatarrubia/LibreriasTutoriales

He aprovechado en su tiempo hacer un tutorial sobre esas clases creando una interfaz en C++ bajo Win32 solo consola y funciona, junto con Arduino. Aquí abajo dejo el enlace de como instalarlas y usarlas.

https://www.slideshare.net/Metaconta2/arduino-c-y-puerto-serie

Probando, hice otro tutorial solo crear una dll que muestra texto y una suma en el cual lo importas a C#, lo lee y funciona tal como indica en el enlace de abajo.

https://www.slideshare.net/Metaconta/crear-una-dll-en-c-y-llamarla-con-la-interfaz-c

Dada ya esta información y antes de empezar, quiero saber si lo que quiero hacer es posible.

Para dejarlo más claro, al crear la dll en C++ win32 como indica en el tutorial de arriba, al llamarlo o importarlo con C#, tiene que ser capaz de hacerlo cambiando valores como port, baudios, paridad, bits de stop y demás, algo similar indicado aquí.



Luego enviar comandos al puerto serie y recibirlos ya explicado arriba.

En resumen
:


1. De las clases del puerto serie convertirlas en una dll.

2. Una vez creada la dll, hacer una interfaz que se pueda configurar los parámetros del puerto serie.

3. Usar el puerto serie, enviado y recibiendo tramas de bytes como indica en este tutorial ya dicho.

¿Alguna idea?

Saludos.
357  Programación / .NET (C#, VB.NET, ASP) / Re: Hacer lo mismo de esta "cosa" de la película ochentera en: 6 Mayo 2019, 00:27 am
Vale. ;)

Código no hecho por mi.

Código
  1. private void Form1_Load(object sender, EventArgs e)
  2.        {
  3.            Thread tr = new Thread(new ThreadStart(drawlines));
  4.            tr.Start();
  5.        }
  6.  
  7.        public delegate void Function();
  8.        Point A = new Point(5, 5);
  9.        Point B = new Point(5, 5);
  10.  
  11.        private void drawlines()
  12.        {
  13.            Thread.Sleep(1000);
  14.            drawMarco();
  15.            Thread.Sleep(25);
  16.            SetText("2", "PROJECTION:");
  17.            SetText("3", "IF INTRUDER ORGANISM REACHES");
  18.            SetText("4", "CIVILIZED AREAS . . .");
  19.            Thread.Sleep(100);
  20.            SetText("7", "ENTIRE WORLD POPULATION INFECTED");
  21.            SetText("8", "27,000 HOURS FROM FIRST CONTACT.");
  22.            Thread.Sleep(2000);
  23.            clrscr();
  24.            drawMarco();
  25.            SetText("1", "PROYECCIÓN:");
  26.            SetText("2", "SI ORGANISMO INTRUSO ALCANZA");
  27.            SetText("3", "ZONAS CIVILIZADAS . . . ");
  28.            Thread.Sleep(100);
  29.            SetText("7", "TODA LA POBLACIÓN MUNDIAL INFECTÓ");
  30.            SetText("8", "27,000 HORAS DESDE EL PRIMER");
  31.            SetText("9", "CONTACTO.");
  32.            Thread.Sleep(2000);
  33.            Application.Exit();
  34.  
  35.        }
  36.  
  37.        private void clrscr()
  38.        {
  39.            A = B;
  40.            Graphics ps = this.CreateGraphics();
  41.            ps.FillRectangle(new SolidBrush(Color.DarkBlue), 0,0, this.Width, this.Height);
  42.            foreach (Control control in Controls)
  43.            {
  44.                this.Invoke(new Function(delegate ()
  45.                {                
  46.                    control.Text = "";
  47.                }));                
  48.            }
  49.  
  50.        }
  51.  
  52.        private void SetText(string name, string txt)
  53.        {
  54.            string nombre = $"label{name}";
  55.            foreach (char letra in txt)
  56.            {
  57.                this.Invoke(new Function(delegate ()
  58.                {            
  59.  
  60.                    Controls[nombre].Text += letra;
  61.                }));
  62.                Console.Beep(600, 25);
  63.                Thread.Sleep(25);
  64.  
  65.            }
  66.        }
  67.  
  68.  
  69.  
  70.        private void drawMarco()
  71.        {
  72.            for (int i = 5; i < this.Width - 20; i++)
  73.                SetMarco(i, B.Y);            
  74.            for (int i = 5; i < this.Height - 40; i++)
  75.                SetMarco(B.X, i);            
  76.            for (int i = this.Width - 20; i > 5; i--)
  77.                 SetMarco(i, B.Y);            
  78.            for (int i = this.Height - 40; i > 5; i--)
  79.                 SetMarco(B.X, i);
  80.        }
  81.  
  82.        private void SetMarco(int x,int y)
  83.        {
  84.            this.Invoke(new Function(delegate ()
  85.              {
  86.                  A = B;
  87.                  B = new Point(x, y);
  88.                  Graphics ps = this.CreateGraphics();
  89.                  ps.DrawLine(new Pen(Color.Blue,3), A, B);
  90.              }));
  91.            Thread.Sleep(1);
  92.        }
358  Programación / .NET (C#, VB.NET, ASP) / Re: Hacer lo mismo de esta "cosa" de la película ochentera en: 5 Mayo 2019, 16:56 pm
Fantático ejemplos visuales.  ;-) ;-) ;-) ;-) ;-) ;-)

Si te fija en el vídeo, primero la formación del rectángulo se hace poco a poco, no de golpe, algo parecido hice en modo consola.

En Windows Form el cuadro se hace directo, no poco a poco con GDI+, por eso mejor usar los ASCII para la formación del retángulo como en modo consola. Por ahora solo he heche textos en Windows Form.

Añado un timer, luego hago el resto. Con Window Form.
Código
  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace The_Thing_La_Cosa
  5. {
  6.    public partial class Form1 : Form
  7.    {
  8.        public Form1()
  9.        {
  10.            InitializeComponent();
  11.        }
  12.  
  13.        string texto = @"
  14. PROJECTION:
  15. IF INTRUDER ORGANISM REACHES
  16. CIVILIZED AREAS . . .
  17.  
  18.  
  19. ENTIRE WORLD POPULATION INFECTED
  20. 27,000 HOURS FROM FIRST CONTACT.
  21. ";
  22.        int contador = 0;
  23.  
  24.        private void timer1_Tick(object sender, EventArgs e)
  25.        {
  26.  
  27.           label1.Text += texto[contador++];
  28.  
  29.            if (contador >= texto.Length)
  30.            {
  31.                timer1.Enabled = false;
  32.                Console.Beep(600, 25); // Console.Beep(frecuencia, duracion);
  33.            }
  34.        }
  35.  
  36.        private void Form1_Load(object sender, EventArgs e)
  37.        {
  38.            timer1.Enabled = true;
  39.        }
  40.    }
  41. }

Lo intenté hacer con WPF pero no tiene el componente timer, habrá que crear hasta su propio evento y vete a saber cuántos códigos más.

Gracias por compartir.
359  Programación / .NET (C#, VB.NET, ASP) / Hacer lo mismo de esta "cosa" de la película ochentera en: 4 Mayo 2019, 21:52 pm
Hola:

Quiero hacer los dibujos exactamente lo mismo como en este ordenador ochentero de esta película exactamente indicado en el minuto 6:56 de este vídeo.

Lo que he hecho hasta ahora son solo textos, en el cual no se el motivo, no me sale el rellenado de la parte derecha de la pantalla con el │ ASCII 179.



Código
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace The_Thing_La_Cosa_Consola_01_cs
  5. {
  6.    class Program
  7.    {
  8.        static void Main(string[] args)
  9.        {
  10.            Console.Title = "The Thing - La Cosa - C#";
  11.            Console.WindowWidth = 38;   // X ancho.
  12.            Console.WindowHeight = 15;  // Y altura.
  13.  
  14.            int tiempo = 1;
  15.  
  16.            // Cursor invisible.
  17.            Console.CursorVisible = false;
  18.  
  19.            // Dibujar cuadro.
  20.            DrawMarco(1, 1, 35, 14);
  21.  
  22.            // Escribir textos.
  23.            Console.SetCursorPosition(2, 4);
  24.            Escribir("PROJECTION: \n", 25);
  25.            Console.SetCursorPosition(2, 5);
  26.            Escribir("IF INTRUDER ORGANISM REACHES \n", 25);
  27.            Console.SetCursorPosition(2, 6);
  28.            Escribir("CIVILIZED AREAS . . . \n", 25);
  29.            Thread.Sleep(100);
  30.            Console.SetCursorPosition(2, 10);
  31.            Escribir("ENTIRE WORLD POPULATION INFECTED \n", 25);
  32.            Console.SetCursorPosition(2, 11);
  33.            Escribir("27,000 HOURS FROM FIRST CONTACT. \n", 25);
  34.  
  35.            // En español.
  36.            Thread.Sleep(2000);
  37.  
  38.            // Limpiar pantalla.
  39.            Console.Clear();
  40.  
  41.            // Dibujar cuadro.
  42.            DrawMarco(1, 1, 35, 14);
  43.  
  44.            // Escribir textos.
  45.            Console.SetCursorPosition(2, 3);
  46.            Escribir("PROYECCIÓN: \n", 25);
  47.            Console.SetCursorPosition(2, 4);
  48.            Escribir("SI ORGANISMO INTRUSO ALCANZA \n", 25);
  49.            Console.SetCursorPosition(2, 5);
  50.            Escribir("ZONAS CIVILIZADAS . . . \n", 25);
  51.            Thread.Sleep(100);
  52.            Console.SetCursorPosition(2, 9);
  53.            Escribir("TODA LA POBLACIÓN MUNDIAL INFECTÓ\n", 25);
  54.            Console.SetCursorPosition(2, 10);
  55.            Escribir("27,000 HORAS DESDE EL PRIMER\n", 25);
  56.            Console.SetCursorPosition(2, 11);
  57.            Escribir("CONTACTO. \n", 25);
  58.  
  59.            Console.ReadKey();
  60.        }
  61.  
  62.        public static void Escribir(string Cadena, int tiempo)
  63.        {
  64.            foreach (char letra in Cadena)
  65.            {
  66.                Console.Write(letra);
  67.                Thread.Sleep(tiempo);
  68.            }
  69.        }
  70.  
  71.        private static void DrawMarco(int v1, int v2, int v3, int v4)
  72.        {
  73.            Console.ForegroundColor = ConsoleColor.Cyan; // Texto azul claro.
  74.            Console.BackgroundColor = ConsoleColor.DarkBlue; // Fondo azul oscuro.
  75.            Console.Clear(); // Para poner fondo azul oscuro en la pantalla completa.
  76.  
  77.            Console.CursorVisible = false;
  78.            gotoXY(v1, v2, "&#9484;");
  79.  
  80.            for (int i = v1 + 1; i < v3; i++)
  81.            {
  82.                gotoXY(i, v2, "&#9472;");
  83.            }
  84.            gotoXY(v3, v2, "&#9488;");
  85.            for (int i = v2 + 1; i < v4; i++)
  86.            {
  87.                gotoXY(v3, i, "&#9474;");
  88.            }
  89.            gotoXY(v3, v4, "&#9496;");
  90.            for (int i = v3 - 1; i > v1; i--)
  91.            {
  92.                gotoXY(i, v4, "&#9472;");
  93.            }
  94.            gotoXY(v1, v4, "&#9492;");
  95.            for (int i = v4 - 1; i > v2; i--)
  96.            {
  97.                gotoXY(v1, i, "&#9474;");
  98.            }
  99.            //Console.CursorVisible = true;
  100.        }
  101.  
  102.        private static void gotoXY(int v1, int v2, string cadena)
  103.        {
  104.            Console.SetCursorPosition(v1, v2);
  105.            Console.WriteLine(cadena);
  106.            Thread.Sleep(1);
  107.        }
  108.    }
  109. }
  110.  

¿Alguna idea de como hacerlo?

Por lo que parece, a pesar de que es del 1982, hoy en día exige mucho tiempo y complicado.

Saludos.
360  Programación / .NET (C#, VB.NET, ASP) / Re: Simulando barra de progreso en: 2 Marzo 2019, 22:01 pm

Muchísimas gracias mi muy distinguido amigo. ;)

En cuanto a NEBIRE. ;)
Sigo tropesando. Me dio por comprar un libro en papel barato que me da más motivación para leerlo pero en C/C++, para practicar ejercicios está bien. En C# están libros caros y grandes. Lo de grande está bien pero 80 €urazos como estoy ahora como que no. Se que está internet, también aprovechar.

En cuanto a tu código que funciona bien, en el cual agradezco. Lo entiendo mejor, por que muestras, lo hiciste con estilo y un poco pijo . ;)

En la parte
Código
  1. FullProgreso = new string((char)177, Cantidad);

Para asegurte que se muestre bien la imágenes dependiendo quien ejecute el programa, puede mostrar diferentes caractéres.

Hay que asegurarse un tipo de codificación, algo parecido a esto.

Código
  1. Console.Write(Encoding.ASCII.GetBytes((char)219));

Así te aseguras que en cualquier país funcione a la primera.

Gracias por los consejos. ;)
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines