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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 66
121  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.
122  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.
123  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.
124  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.
125  Programación / .NET (C#, VB.NET, ASP) / Simulando barra de progreso en: 27 Febrero 2019, 22:29 pm
Hola:

Independientemente de la cantidad de █ haya para crear una barra de progreso, no llega al 100 %.


Este es su código que he hecho hasta ahora.
Código:
using System;
using System.Threading;

namespace Porcentaje_barra_consola_01_cs
{
    class Program
    {
        public static int resultado = 0;

        static void Main(string[] args)
        {
            // Título de la ventana.
            Console.Title = "Simulaor barra";

            // Tamaño ventana consola.
            Console.WindowWidth = 60; // X ancho.
            Console.WindowHeight = 20; // Y altura.

            // Cursor invisible.
            Console.CursorVisible = false;

            // Variables.
            int barra = 49;
            int porcentaje = 0;

            Console.SetCursorPosition(17, 1);
            Console.Write("    ");
            Console.SetCursorPosition(17, 1);
            Console.Write("");

            // Dibujamos la barra del portentaje.
            Console.SetCursorPosition(0, 3);
            Console.Write("0 %                         50 %                       100 %");
            Console.SetCursorPosition(0, 4);
            Console.Write("┌────────────────────────────┬───────────────────────────┐");
            Console.SetCursorPosition(0, 5);
            Console.ForegroundColor = ConsoleColor.Yellow;

            // Barra de progreso.
            for (int i = 0; i <= barra; i++)
            {
                Console.Write("█"); // Muestra ASCII 219 Dec y DB en Hex.
                                    // Console.Write((char)219);
                                    // Console.Write(Encoding.ASCII.GetBytes((char)219));
                porcentaje++; // Incrementa valor.

                printCargando(porcentaje);

                Thread.Sleep(100); // 100 ms o 0.1 segundos.
            }

            Console.ReadKey();
        }

        static void printCargando(int porcentaje)
        {
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.SetCursorPosition(0, 1);
            // Por dos para que simule el 100%.
            Console.Write("Cargado: " + (porcentaje).ToString() + " %");
            //Console.Write("Cargado: {0} %", (porcentaje * 2).ToString());
            //Console.Write($"Cargado: { (porcentaje * 2).ToString() } %");

            // Reestablecemos para que vuelva a imprimir bajo la línea de carga.
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.SetCursorPosition(porcentaje, 5);
        }

    }
}

Gracias. ;)
126  Programación / .NET (C#, VB.NET, ASP) / Escuchar música desde que ejecute la consola y dentro de un array tipo Byte. en: 25 Febrero 2019, 23:21 pm
Hola:

Código que creo que se puede hacer es algo así.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Musica_consola_01_cs
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            #region Música.
  14.            /* Posición Inicial: 00000000, Posición Final: 00001891, Longitud: 00001892 */
  15.  
  16. // Pongo pocos bytes para no agrandar el tema en el foro.
  17.  
  18.            byte[] rawData = {
  19.    0x4D, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x08
  20. };
  21.  
  22. #endregion
  23.  
  24.            var c1 = new System.Windows.Media.MediaPlayer();
  25.            c1.Open(new System.Uri(rawData));
  26.            c1.Play();
  27.        }
  28.    }
  29. }


Me da este error.

Gravedad    Código    Descripción    Proyecto    Archivo    Línea    Estado suprimido
Error    CS0234    El tipo o el nombre del espacio de nombres 'Media' no existe en el espacio de nombres 'System.Windows' (¿falta alguna referencia de ensamblado?)    Musica_consola_01_cs    C:\Users\Usuario\Documents\Visual Studio 2017\Projects\Musica_consola_01_cs\Musica_consola_01_cs\Program.cs    545    Activo

No encuentro en referencia el Media.

¿Alguna idea?

Saludos.
127  Programación / .NET (C#, VB.NET, ASP) / Introducir y seleccionar lengua en modo consola en: 25 Febrero 2019, 05:51 am
Hola:

Teniendo un menú hecho por defecto en español en este caso. (Cuando todo esté acabado tiene que estar en Inglés por defecto).

Quiero crear menús que sea capaz de elegir el idioma, en al cual hoy en día no hay problema porque está este traductor para escapar.

Mi idea para tener un orden de cada idioma a introducir, por ejemplo, español, inglés, alemán, francés, italiano y portugués.

En este ejemplo hay 6 lenguas. No se si la mejor opción es crear una carpeta de idiomas y ahí meto cada lengua en el cual es llamado.



Código de ejemplo para.
Código
  1. using System;
  2.  
  3. namespace Idiomas_consola_01_cs
  4. {
  5.    class Program
  6.    {
  7.        static void Main(string[] args)
  8.        {
  9.            // Título de la ventana.
  10.            Console.Title = "Menú - C# 2017";
  11.  
  12.            // Tamaño ventana consola.
  13.            // X anchura.
  14.            Console.WindowWidth = 80;
  15.  
  16.            // Y altura.
  17.            Console.WindowHeight = 40;
  18.  
  19.            // Oculto el cursor.
  20.            Console.CursorVisible = false;
  21.  
  22.            // Almacena la tecla pulsada en la variable.
  23.            ConsoleKey teclaInicial;
  24.  
  25.            // Fondo verde.
  26.            Console.BackgroundColor = ConsoleColor.Green;
  27.  
  28.            // Letras negras.
  29.            Console.ForegroundColor = ConsoleColor.Black;
  30.  
  31.            do
  32.            {
  33.                // Limpiar pantalla.
  34.                Console.Clear();
  35.  
  36.                // Formato numérico dd/MM/yyyy.
  37.                Console.WriteLine(DateTime.Now.ToString("ddd dd MMM"));
  38.  
  39.                // Almacena en la variable una tecla pulsada.
  40.                teclaInicial = Console.ReadKey(true).Key;
  41.  
  42.                // ¿Haz pulsado la tecla Enter?
  43.                if (teclaInicial == ConsoleKey.Enter)
  44.                {
  45.                    // Sí. Se ejecuta esta función.
  46.                    menuPrincipal();
  47.                }
  48.            } while (teclaInicial != ConsoleKey.Escape);
  49.        }
  50.  
  51.        #region Menú Principal.
  52.        public static void menuPrincipal()
  53.        {
  54.  
  55.            // Contador de teclas y navegador.
  56.            int opcion = 0;
  57.            bool salir = false;
  58.            // Capturar tecla para luego validar.
  59.            ConsoleKey tecla;
  60.  
  61.            do
  62.            {
  63.                // Limpiar pantalla.
  64.                Console.Clear();
  65.  
  66.                switch (opcion)
  67.                {
  68.                    case 0:
  69.                        Console.SetCursorPosition(0, 0);
  70.                        Console.Write("Language");
  71.                        break;
  72.                    case 1:
  73.                        Console.SetCursorPosition(0, 0);
  74.                        Console.WriteLine("Opción 1.");
  75.                        break;
  76.                    case 2:
  77.                        Console.SetCursorPosition(0, 0);
  78.                        Console.WriteLine("Opción 2.");
  79.                        break;
  80.                    case 3:
  81.                        Console.SetCursorPosition(0, 0);
  82.                        Console.WriteLine("Opción 3.");
  83.                        break;
  84.                    case 4:
  85.                        Console.SetCursorPosition(0, 0);
  86.                        Console.WriteLine("Opción 4.");
  87.                        break;
  88.                    case 5:
  89.                        Console.SetCursorPosition(0, 0);
  90.                        Console.WriteLine("Opción 5.");
  91.                        break;
  92.                    case 6:
  93.                        Console.SetCursorPosition(0, 0);
  94.                        Console.WriteLine("Opción 6.");
  95.                        break;
  96.                    case 7:
  97.                        Console.SetCursorPosition(0, 0);
  98.                        Console.WriteLine("Salir menú");
  99.                        break;
  100.                    default:
  101.                        break;
  102.                }
  103.  
  104.                // Fin de pintar el menú.
  105.                //******************************************************************
  106.  
  107.                // Leer tecla ingresada por el usuario.
  108.                tecla = Console.ReadKey(true).Key;
  109.  
  110.                // Validar el tipo de tecla.
  111.                if (tecla == ConsoleKey.Enter)
  112.                {
  113.                    switch (opcion)
  114.                    {
  115.                        case 1:
  116.                            // Instrucciones.
  117.                            break;
  118.                        case 2:
  119.                            // Instrucciones.
  120.                            break;
  121.                        case 3:
  122.                            // Instrucciones.
  123.                            break;
  124.                        case 4:
  125.                            // Instrucciones.
  126.                            break;
  127.                        case 6:
  128.                            // Instrucciones.
  129.                            break;
  130.                        case 7:
  131.                            salir = true;
  132.                            break;
  133.                        default:
  134.                            break;
  135.                    }
  136.                }
  137.  
  138.                if (tecla == ConsoleKey.DownArrow)
  139.                {
  140.                    opcion += 1; // Equivalente ++.
  141.                }
  142.  
  143.                if (tecla == ConsoleKey.UpArrow)
  144.                {
  145.                    opcion -= 1; // --.
  146.                }
  147.  
  148.                // Si está en la última opción, salta a la primera.
  149.                if (opcion > 7)
  150.                {
  151.                    opcion = 0;
  152.                }
  153.  
  154.                // Si está en la primera posición, salta a la última.
  155.                if (opcion < 0)
  156.                {
  157.                    opcion = 7;
  158.                }
  159.  
  160.                // Uso la tecla escape como salida.
  161.            } while (salir == false);
  162.        }
  163.        #endregion
  164.    }
  165. }

En el menú Languaje, si pulsas Enter, tiene que verse en Inglés, todos los idiomas que vayamos incorporando. El usuario elige el idioma y se queda seleccionado.

¿Alguna idea?

Saludos.
128  Programación / .NET (C#, VB.NET, ASP) / Timer en vez de Sleep. en: 9 Febrero 2019, 11:10 am
Hola:

Quiero hacer un parpadeo de un texto en modo consola. Por ahora solo me sale con Sleep, pero no me gusta este. Aún así dejo un ejemplo de lo que quiero pero está hecho en Sleep.



Código
  1. using System;
  2. using System.Threading; // No olvidar.
  3.  
  4. namespace Parpadeo_texto_consola_01_cs
  5. {
  6.    class Program
  7.    {
  8.        static void Main(string[] args)
  9.        {
  10.            // Título de la ventana.
  11.            Console.Title = "Blink";
  12.  
  13.            // Tamaño ventana consola.
  14.            // X anchura.
  15.            Console.WindowWidth = 16;
  16.  
  17.            // Y altura.
  18.            Console.WindowHeight = 2;
  19.  
  20.            // Oculto el cursor.
  21.            Console.CursorVisible = false;
  22.  
  23.            // Como estamos en un ejemplo, da igual en este caso
  24.            // poner un bucle infinito. Quiero que se muestre el
  25.            // resultado.
  26.            while (true)
  27.            {
  28.                // Posición de la pantalla.
  29.                Console.SetCursorPosition(0, 0);
  30.  
  31.                // Mostrar texto en pantalla.
  32.                Console.Write("Hola mundo");
  33.  
  34.                // Retardo de 0.5 segundos. 1000 ml (mili segundos)
  35.                // es igual a 1 segundo.
  36.                Thread.Sleep(500);
  37.  
  38.                // Posición de la pantalla.
  39.                Console.SetCursorPosition(0, 0);
  40.  
  41.                // Mostrar espaciones en blanco para borrar texto anterior.
  42.                Console.Write("          ");
  43.  
  44.                // Retardo 0.3 seg.
  45.                Thread.Sleep(300);
  46.            }
  47.        }
  48.    }
  49. }

Quiero hacer lo mismo, pero con el Timer en modo consola, lo que me cuesta hacerlo. Ya qu el timer pude interrumpir el programa cuando está dentro del temporizador pero con el Sleep, hasta que no acabe el tiempo, el programa se queda como en esclavo, sobre todo en tiempos muy largos.

¿Hay alguna forma de hacerlo en modo consola?

Si se puede hacer el parpadeo en una función y lo llamo cuando quiera, mejor que mejor.

Saludos.
129  Programación / .NET (C#, VB.NET, ASP) / Menús en modo consola en: 3 Febrero 2019, 08:54 am
Hola:

Estoy usando la consola de C#, me dio ahora por el retro.



Hice este menú de opciones, pero no hace nada. Por ahora solo selecciona las opciones.

Lo que no se es como entrar en otra opción dentro de ella en DOS al pulsar Enter.

Estoy en el submenú que sale un menaje que diga. Estoy dentro de la opción DOS. Con capacidad de pulsar Escape y vuelva al menú principal.

Lo que he hecho hasta ahora es solo esto.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Menu_consola_02_cs
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            // Título de la ventana.
  14.            Console.Title = "Menú de opciones";
  15.  
  16.            // Tamaño ventana consola.
  17.            Console.WindowWidth = 20; // X anchura.
  18.            Console.WindowHeight = 8; // Y altura.
  19.  
  20.            // Cursor invisible.
  21.            Console.CursorVisible = false;
  22.  
  23.            //Contador de teclas y navegador
  24.            int contador = 0;
  25.            //tomar la tecla para validar luego
  26.            ConsoleKey tecla;
  27.            //escondo el cursor
  28.            Console.CursorVisible = false;
  29.            do
  30.            {
  31.                //******************************************************************
  32.                //Pinto el menú
  33.                Console.Clear();
  34.                Console.Write("&#9556;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9559;\n");
  35.                if (contador == 0)
  36.                {
  37.                    Console.BackgroundColor = ConsoleColor.White;
  38.                    Console.ForegroundColor = ConsoleColor.Black;
  39.                    Console.Write("&#9553;   UNO            &#9553;\n");
  40.                    Console.BackgroundColor = ConsoleColor.Black;
  41.                    Console.ForegroundColor = ConsoleColor.White;
  42.                }
  43.                else
  44.                {
  45.                    Console.BackgroundColor = ConsoleColor.Black;
  46.                    Console.ForegroundColor = ConsoleColor.White;
  47.                    Console.Write("&#9553;   UNO            &#9553;\n");
  48.                }
  49.                if (contador == 1)
  50.                {
  51.                    Console.BackgroundColor = ConsoleColor.White;
  52.                    Console.ForegroundColor = ConsoleColor.Black;
  53.                    Console.Write("&#9553;   DOS            &#9553;\n");
  54.                    Console.BackgroundColor = ConsoleColor.Black;
  55.                    Console.ForegroundColor = ConsoleColor.White;
  56.                }
  57.                else
  58.                {
  59.                    Console.BackgroundColor = ConsoleColor.Black;
  60.                    Console.ForegroundColor = ConsoleColor.White;
  61.                    Console.Write("&#9553;   DOS            &#9553;\n");
  62.                }
  63.                if (contador == 2)
  64.                {
  65.                    Console.BackgroundColor = ConsoleColor.White;
  66.                    Console.ForegroundColor = ConsoleColor.Black;
  67.                    Console.Write("&#9553;   TRES           &#9553;\n");
  68.                    Console.BackgroundColor = ConsoleColor.Black;
  69.                    Console.ForegroundColor = ConsoleColor.White;
  70.                }
  71.                else
  72.                {
  73.                    Console.BackgroundColor = ConsoleColor.Black;
  74.                    Console.ForegroundColor = ConsoleColor.White;
  75.                    Console.Write("&#9553;   TRES           &#9553;\n");
  76.                }
  77.                if (contador == 3)
  78.                {
  79.                    Console.BackgroundColor = ConsoleColor.White;
  80.                    Console.ForegroundColor = ConsoleColor.Black;
  81.                    Console.Write("&#9553;   CUATRO         &#9553;\n");
  82.                    Console.BackgroundColor = ConsoleColor.Black;
  83.                    Console.ForegroundColor = ConsoleColor.White;
  84.                }
  85.                else
  86.                {
  87.                    Console.BackgroundColor = ConsoleColor.Black;
  88.                    Console.ForegroundColor = ConsoleColor.White;
  89.                    Console.Write("&#9553;   CUATRO         &#9553;\n");
  90.                }
  91.                if (contador == 4)
  92.                {
  93.                    Console.BackgroundColor = ConsoleColor.White;
  94.                    Console.ForegroundColor = ConsoleColor.Black;
  95.                    Console.Write("&#9553;   ESC = SALIR    &#9553;\n");
  96.                    Console.BackgroundColor = ConsoleColor.Black;
  97.                    Console.ForegroundColor = ConsoleColor.White;
  98.                }
  99.                else
  100.                {
  101.                    Console.BackgroundColor = ConsoleColor.Black;
  102.                    Console.ForegroundColor = ConsoleColor.White;
  103.                    Console.Write("&#9553;   ESC = SALIR    &#9553;\n");
  104.                }
  105.                Console.Write("&#9562;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9565;\n");
  106.                //Fin de pintar el menú
  107.                //******************************************************************
  108.  
  109.                //leer tecla ingresada por el usuario
  110.                tecla = Console.ReadKey(true).Key;
  111.  
  112.                //validar el tipo de tecla
  113.                if (tecla == ConsoleKey.DownArrow)
  114.                {
  115.                    contador += 1;
  116.                }
  117.                if (tecla == ConsoleKey.UpArrow)
  118.                {
  119.                    contador -= 1;
  120.                }
  121.                //valido que el conteo de teclas no supere el rango establecido por los Ifs de más arriba
  122.                if (contador > 4)
  123.                {
  124.                    contador = 4;
  125.                }
  126.                if (contador < 0)
  127.                {
  128.                    contador = 0;
  129.                }
  130.                //uso la tecla escape como salida
  131.            } while (tecla != ConsoleKey.Escape);
  132.        }
  133.    }
  134. }
  135.  

No logro cuajarlo como si se ha hecho por aquí en este otro ejemplo de abajo.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Menu_y_opciones_consola_02_cs
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            // Título de la ventana.
  14.            Console.Title = "Menú y opciones C# 2017";
  15.  
  16.            // Tamaño ventana consola.
  17.            Console.WindowWidth = 30; // X. Ancho.
  18.            Console.WindowHeight = 17; // Y. Alto.
  19.  
  20.            // Cursor invisible.
  21.            Console.CursorVisible = false;
  22.  
  23.            // Cuadro doble borde ventana.
  24.            Menu_y_opciones_consola_02_cs.Cuadro.cuadrado();
  25.  
  26.            // Posición del mansaje en la ventana.
  27.            Console.SetCursorPosition(2, 2);
  28.            Console.WriteLine("Elija una opción:");
  29.            Console.WriteLine("");
  30.            Console.SetCursorPosition(2, 4);
  31.            Console.WriteLine("1 - Opción A.");
  32.            Console.SetCursorPosition(2, 5);
  33.            Console.WriteLine("2 - Opción B.");
  34.            Console.SetCursorPosition(2, 6);
  35.            Console.WriteLine("3 - Opción C.");
  36.            Console.SetCursorPosition(2, 7);
  37.            Console.WriteLine("Escape - Salir.");
  38.            Console.SetCursorPosition(2, 8);
  39.            Console.Write("===============");
  40.  
  41.            ConsoleKey key;
  42.  
  43.            do
  44.            {
  45.                // Cursor invisible
  46.                Console.CursorVisible = false;
  47.  
  48.                // Lee cualquier tecla.
  49.                key = Console.ReadKey(true).Key;
  50.  
  51.                // Variable de mensaje vacío.
  52.                string mensaje = string.Empty;
  53.  
  54.                // Leer tecla selecconada por el usuario.
  55.                switch (key)
  56.                {
  57.                    case ConsoleKey.D1: // Tecla principal 1.
  58.                    case ConsoleKey.NumPad1: // Tecla extendida 1.
  59.                        Console.SetCursorPosition(2, 10);
  60.                        mensaje = "OPCIÓN A."; // Mostrar mensaje en pantalla.
  61.                        break;
  62.  
  63.                    case ConsoleKey.D2:
  64.                    case ConsoleKey.NumPad2:
  65.                        mensaje = "OPCIÓN B.";
  66.                        break;
  67.                    case ConsoleKey.D3:
  68.                    case ConsoleKey.NumPad3:
  69.                        mensaje = "OPCIÓN C.";
  70.                        break;
  71.                }
  72.  
  73.                // Posición de los mensajes.
  74.                Console.SetCursorPosition(2, 10);
  75.                Console.Write("             "); // 13 espacios.
  76.                Console.SetCursorPosition(2, 10);
  77.                Console.Write(mensaje);
  78.  
  79.            }
  80.  
  81.            // Salir de la plicación al pulsar la tecla Escape o número 4.
  82.            while (key != ConsoleKey.Escape);
  83.  
  84.  
  85.        }
  86.    }
  87. }
  88.  

Saludos.
130  Programación / .NET (C#, VB.NET, ASP) / Cambiar opción de una Web desde C# en: 21 Enero 2019, 06:44 am
Hola gente del foro:

Que pasen buen comienzo del 2.019. ;)

Quiero hacer con Windows Form cambiar de opción de una Web de gmail. En este caso pongo el enlace.

https://myaccount.google.com/lesssecureapps

Desde la Web puedo poner o No.

¿Existe esta posibilidad controlar esa opción desde C#?

Por supuesto que tendrás que poner en C# los datos la cuenta gmail, eso seguro.

Saludos.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 66
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines