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


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! 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 29 30 ... 68
141  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.
142  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, "┌");
  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.
143  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. ;)
144  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.
145  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.
146  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.
147  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.
148  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.
149  Programación / .NET (C#, VB.NET, ASP) / Enviar mensaje de texto a la PS4 en: 13 Enero 2019, 12:07 pm
Hola:

Estaba curioseando si hay alguna manera de enviar mensajes de texto y recibirlo con el PC y la PlayStation 4 usando C#.

Buscando que te busca en el San Google, no veo que lo hayan hecho, me da que no se puede. Si hay alguien que sabe del tema, lo puede confirmar por aquí.

Por aquí dicen que no se puede, pero vete a sabar a día de hoy.
https://www.laps4.com/foro/18_zona_psnetwork/320251-mandar_mensaje_pc.html

Ya dirán si existe esa posibilidad.

Saludos.
150  Programación / .NET (C#, VB.NET, ASP) / Enviar email con C# en: 12 Enero 2019, 09:41 am
Hola:

Me da error al enviar mensaje por emmail desde C#.



El código por ahora es este.

Código:
using System;
using System.Windows.Forms;
using System.Net;       // No olvidar.
using System.Net.Mail;  // No olvidar.

namespace Enviar_e_mail_01_cs
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button_Enviar_Click(object sender, EventArgs e)
        {
            //La cadena "servidor" es el servidor de correo que enviará tu mensaje
            string servidor = comboBox_smtp.SelectedItem.ToString(); // smtp.gmail.com

            // Crea el mensaje estableciendo quién lo manda y quién lo recibe
            MailMessage mensaje = new MailMessage(
               textBox_Emisor.Text,
               textBox_Receptor.Text,
               textBox_Asunto.Text,
               richTextBox_Mensaje.Text);

            //Envía el mensaje.
            SmtpClient cliente = new SmtpClient(servidor);
            cliente.DeliveryMethod = SmtpDeliveryMethod.Network;
            cliente.UseDefaultCredentials = false;
            cliente.Credentials = new System.Net.NetworkCredential(textBox_Emisor.Text, textBox_Contraseña.Text);
            cliente.Port = Int32.Parse(comboBox_Puerto.Text); ; // 587
            //cliente.Port = 25;
            cliente.Host = servidor; // smtp.gmail.com
            cliente.EnableSsl = true;

            //Añade credenciales si el servidor lo requiere.
            cliente.Credentials = CredentialCache.DefaultNetworkCredentials;
            cliente.Send(mensaje);
        }
    }
}

Error indicado aquí. Da igual sea con hotmail o gmail.



Me llegó un mensaje al gmail de seguridad por usar formulario C#.

Citar
Se ha bloqueado un intento de inicio de sesión
   metaconta@gmail.com

Alguien acaba de usar tu contraseña para intentar iniciar sesión en tu cuenta desde una aplicación que no es de Google. Aunque Google ha bloqueado el acceso, deberías averiguar qué ha pasado. Revisa la actividad de la cuenta y comprueba que solo tú tienes acceso a ella.

Pincho y eso sale.
Se ha bloqueado una aplicación poco segura
Hemos bloqueado la aplicación que intentabas usar porque no cumple nuestros estándares de seguridad.
Algunos dispositivos y aplicaciones utilizan una tecnología de inicio de sesión menos segura, lo que hace que tu cuenta sea más vulnerable. Te recomendamos que desactives el acceso de estas aplicaciones, aunque también puedes activarlo si quieres usarlas a pesar de los riesgos que conllevan.
Más información

Citar
Permitir el acceso a cuentas desde aplicaciones menos seguras

Si una aplicación o un dispositivo no cumple con nuestros estándares de seguridad, Google bloqueará a cualquier persona que intente iniciar sesión desde esa aplicación o dispositivo. El bloqueo contribuye a mantener la seguridad de tu cuenta, ya que es muy fácil acceder a estas aplicaciones y dispositivos sin autorización.

A continuación, se muestran algunos ejemplos de aplicaciones que no son compatibles con la última versión de los estándares de seguridad:

    La aplicación Mail para iPhone o iPad con la versión 6 o versiones anteriores
    La aplicación Mail en un teléfono con una versión de Windows Phone anterior a la 8.1
    Algunos clientes de correo electrónico para ordenadores, como Microsoft Outlook y Mozilla Thunderbird

Cambiar el acceso a la cuenta para aplicaciones menos seguras

Para mantener más protegidas tus cuentas de Google del trabajo, del centro educativo o de otro grupo, bloqueamos las aplicaciones menos seguras para que no puedan acceder a ellas. Si tienes una cuenta de este tipo, se te mostrará el error "Contraseña incorrecta" cuando intentes iniciar sesión. Si es así, tienes dos opciones:

    Opción 1: instala una aplicación más segura que utilice medidas de seguridad más sólidas. Todos los productos de Google, como Gmail, utilizan las medidas de seguridad más recientes.
    Opción 2: cambia la configuración para permitir que las aplicaciones poco seguras accedan a tu cuenta. Esta opción no es recomendable porque puede facilitar el acceso a tu cuenta a otra persona. Si, aún así, quieres utilizarla, sigue estos pasos:
        Ve a tu cuenta de Google.
        En el panel de navegación de la izquierda, haz clic en Seguridad.
        En el panel Acceso de aplicaciones poco seguras de la parte inferior de la página, haz clic en Activar acceso.
             Si no ves este ajuste, es posible que el administrador haya desactivado el acceso de las aplicaciones poco seguras a la cuenta.

Si sigues sin poder iniciar sesión en tu cuenta, obtén más información sobre el error "Contraseña incorrecta"

¿Alguna grandísima idea?

Hace años no pasaba estas cosas.

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 29 30 ... 68
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines