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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
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 31 ... 255
151  Programación / .NET (C#, VB.NET, ASP) / Re: ¿Cómo enviar más de 255 letras? en: 28 Diciembre 2021, 23:41 pm
Muy buen planteamiento. Muchísimas gracias, ya me sirvió.

Dejo el código completo por si alguien lo necesita.

Funciona todo al 100 %, con tildes incluidos.
Código
  1. using System;
  2. using System.IO;
  3. using System.Net;
  4. using System.Net.Mail;
  5. using System.Text;
  6.  
  7. namespace Enviar_email_Consola_07
  8. {
  9.    internal class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.  
  14.  
  15.            // Variables.
  16.            string usuario, contraseña, destinatario, asunto, mensaje;
  17.            const int MAXIMA_LONGITUD = 2048;
  18.  
  19.            #region Configuración ventana.
  20.            // Título de la ventana.
  21.            Console.Title = "Gestor correo electrónico";
  22.  
  23.            // Tamaño de la ventana, x, y.
  24.            Console.SetWindowSize(80, 25);
  25.  
  26.            // Color de fondo.
  27.            Console.BackgroundColor = ConsoleColor.Black;
  28.  
  29.            // Color de las letras.
  30.            Console.ForegroundColor = ConsoleColor.Gray;
  31.  
  32.            // Limpiar pantalla y dejarlo todo en color de fondo.
  33.            Console.Clear();
  34.  
  35.            // Visible el cursor.
  36.            Console.CursorVisible = true;
  37.            #endregion
  38.  
  39.            // Título del programa.
  40.            Console.WriteLine("\t\t----------------------------------------");
  41.            Console.WriteLine("\t\t\tEnviar Correo Electrónico");
  42.            Console.WriteLine("\t\t----------------------------------------");
  43.  
  44.            try
  45.            {
  46.  
  47.                Console.WriteLine("\n");
  48.                Console.ForegroundColor = ConsoleColor.Cyan;
  49.                Console.Write("\t\tTu correo electrónico: ");
  50.                Console.ForegroundColor = ConsoleColor.Gray;
  51.                usuario = Console.ReadLine();
  52.                Console.WriteLine();
  53.                Console.ForegroundColor = ConsoleColor.Cyan;
  54.                Console.Write("\t\tIntroducir contraseña: ");
  55.                Console.ForegroundColor = ConsoleColor.Gray;
  56.                contraseña = LeerPassword();
  57.                Console.WriteLine();
  58.                Console.ForegroundColor = ConsoleColor.Cyan;
  59.                Console.Write("\t\tDestinatario: ");
  60.                Console.ForegroundColor = ConsoleColor.Gray;
  61.                destinatario = Console.ReadLine();
  62.                Console.WriteLine();
  63.                Console.ForegroundColor = ConsoleColor.Cyan;
  64.                Console.Write("\t\tAsunto: ");
  65.                Console.ForegroundColor = ConsoleColor.Gray;
  66.                asunto = Console.ReadLine();
  67.                Console.WriteLine();
  68.                Console.ForegroundColor = ConsoleColor.Cyan;
  69.                Console.Write("\t\tMensaje: ");
  70.                Console.ForegroundColor = ConsoleColor.Gray;
  71.                //mensaje = Console.ReadLine();
  72.  
  73.                #region Enviar más de 255 caracteres.
  74.                // Enviar mensaje de más de 255 caracteres. ################################
  75.                Stream inputStream = Console.OpenStandardInput();
  76.                byte[] buffer = new byte[MAXIMA_LONGITUD];
  77.                int numerosBytesLeidos = inputStream.Read(buffer, 0, MAXIMA_LONGITUD);
  78.                char[] chars = Console.InputEncoding.GetChars(buffer, 0, numerosBytesLeidos);
  79.                mensaje = new string(chars);
  80.                // #########################################################################
  81.                #endregion
  82.                Console.WriteLine();
  83.                Console.ForegroundColor = ConsoleColor.DarkCyan;
  84.                Console.Write("\t\tCantidad de texto introducido: ");
  85.                Console.ForegroundColor = ConsoleColor.Gray;
  86.                Console.WriteLine(mensaje.Length);                
  87.  
  88.                MailMessage correo = new MailMessage(usuario, destinatario, asunto, mensaje);
  89.  
  90.                SmtpClient servidor = new SmtpClient("smtp.gmail.com")
  91.                {
  92.                    Port = 587
  93.                };
  94.                NetworkCredential credenciales = new NetworkCredential(usuario, contraseña);
  95.                servidor.Credentials = credenciales;
  96.                servidor.EnableSsl = true;
  97.  
  98.                Console.WriteLine();
  99.                Console.ForegroundColor = ConsoleColor.Yellow;
  100.                Console.WriteLine("\t\tEnviando correo...");
  101.                servidor.Send(correo);
  102.                Console.WriteLine();
  103.                Console.ForegroundColor = ConsoleColor.Green;
  104.                Console.WriteLine("\t\tCorreo enviado satisfactoriamente.");
  105.                correo.Dispose();
  106.                Console.CursorVisible = false;
  107.                Console.ReadKey();
  108.            }
  109.            catch (Exception ex)
  110.            {
  111.                Console.ForegroundColor = ConsoleColor.Red;
  112.                Console.WriteLine("ERROR: \n");
  113.                Console.WriteLine("\t\t" + ex.Message);
  114.                Console.WriteLine();
  115.                Console.ForegroundColor = ConsoleColor.Yellow;
  116.                Console.WriteLine("\t\tNo se ha enviado el correo.");
  117.                Console.ReadKey();
  118.            }
  119.  
  120.        }
  121.  
  122.        // A la hora de introducir la contraseña, se sustituye por asterístos (*) en pantalla.
  123.        public static string LeerPassword()
  124.        {
  125.            ConsoleKeyInfo cki;
  126.            StringBuilder sb = new StringBuilder();
  127.            int contador = 0;
  128.  
  129.            do
  130.            {
  131.                cki = Console.ReadKey(true);
  132.                if (cki.Key != ConsoleKey.Enter)
  133.                {
  134.  
  135.                    sb.Append(cki.KeyChar);
  136.                    if (contador < 1)
  137.                    {
  138.                        Console.Write("*");
  139.                    }
  140.                    contador++;
  141.                }
  142.  
  143.                else
  144.                {
  145.                    break;
  146.                }
  147.  
  148.            } while (true);
  149.            Console.WriteLine();
  150.            return sb.ToString();
  151.        }
  152.    }
  153. }

Que tengan buen fin de lo que queda de año.  ;-) ;-) ;-) ;-)
152  Programación / .NET (C#, VB.NET, ASP) / Re: Escribir bien las tildes, ñ y demás en: 26 Diciembre 2021, 21:39 pm
Muchas gracias, me ha funcionado.

Que pases muy bien lo que queda de este año 2.021.  ;-) ;-) ;-) ;-) ;-) ;-)
153  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda como integrar *.py en C# en: 26 Diciembre 2021, 16:35 pm
Buenas:  ::)

Muy curioso el FFT.

Lo más parecido a lo que indicas, si tienes el archivo.py, puedes cargarlo en el proyecto de C#. Algo explica en este vídeo.



La otra manera de hacerlo, es leer bien el código Python y adaptarlo a C# directamente. Como se hace mucho en C++ al C# o al revés.

¿Cómo ejecuto un script de Python desde C #?
https://www.it-swarm-es.com/es/c%23/como-ejecuto-un-script-de-python-desde-c/1067937383/

Saludos.
154  Programación / .NET (C#, VB.NET, ASP) / Escribir bien las tildes, ñ y demás en: 26 Diciembre 2021, 16:28 pm
Hola:

Quiero hacer este ejemplo y no muestra bien los caracteres en consola.

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 Codificación_UTF_8_01
  8. {
  9.    internal class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            #region Configuración ventana.
  14.            // Título de la ventana.
  15.            Console.Title = "Encoder UTF-8";
  16.  
  17.            // Tamaño de la ventana, x, y.
  18.            Console.SetWindowSize(80, 25);
  19.  
  20.            // Color de fondo.
  21.            Console.BackgroundColor = ConsoleColor.Gray;
  22.  
  23.            // Color de las letras.
  24.            Console.ForegroundColor = ConsoleColor.Black;
  25.  
  26.            // Limpiar pantalla y dejarlo todo gris.
  27.            Console.Clear();
  28.  
  29.            // Visible el cursor.
  30.            Console.CursorVisible = true;
  31.            #endregion
  32.  
  33.            // Cree una codificación UTF-8.
  34.            UTF8Encoding utf8 = new UTF8Encoding();
  35.  
  36.            // Una cadena Unicode con dos caracteres fuera de un rango de código de 8 bits.
  37.            String unicodeString =
  38.                "Esta cadena Unicode tiene 2 caracteres fuera del " +
  39.                "rango ASCII:\n" +
  40.                "Pi (\u03a0), y Sigma (\u03a3).";
  41.            Console.WriteLine("Cadena original:");
  42.            Console.WriteLine(unicodeString);
  43.  
  44.            // Codifica la cadena.
  45.            Byte[] encodedBytes = utf8.GetBytes(unicodeString);
  46.            Console.WriteLine();
  47.            Console.WriteLine("Bytes codificados:");
  48.            for (int ctr = 0; ctr < encodedBytes.Length; ctr++)
  49.            {
  50.                Console.Write("{0:X2} ", encodedBytes[ctr]);
  51.                if ((ctr + 1) % 25 == 0)
  52.                    Console.WriteLine();
  53.            }
  54.            Console.WriteLine();
  55.  
  56.            // Decodifica bytes de nuevo a cadena.
  57.            String decodedString = utf8.GetString(encodedBytes);
  58.            Console.WriteLine();
  59.            Console.WriteLine("Bytes decodificados:");
  60.            Console.WriteLine(decodedString);
  61.  
  62.            // Pulse cualquier tecla para salir.
  63.            Console.ReadKey();
  64.        }
  65.    }
  66. }

Dejo aquí la captura.


Ni copiando el propio código de MicroSoft funciona.

Saludos.
155  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda como integrar *.py en C# en: 26 Diciembre 2021, 14:56 pm
Hola:

Así sin más nunca lo he hecho. Lo que he hecho y hice un documento, es crear una dll de C++ nativo y que lo lea C#. O lo que es lo mismo de lo que quieres hacer.

Crear una dll hecho con Python y lo lea C#.

Revisa el documento si es así lo que deseas. En este ejemmplo es mostrar un texto y una suma cuya funciones está en C++ con una dll y C# lo llama para mostrar los datos. También se puede crear controles visuales.

Es así lo más parecido que te puedo ayudar.

Saludos.
156  Programación / .NET (C#, VB.NET, ASP) / Re: Comunicación SerialPort concurrente en: 26 Diciembre 2021, 04:31 am
Felices fiestas.  ;-)

¿Tienes claro que comandos envias y qué esperas recibir de él?

Puedes hacer una mini lista sobre comandos aquí para poder hacer ejemplos.

Si usas el Windows Form, añades un botón en el formulario, hablando en C# para este ejemplo, para enviar comandos es así.
Código
  1.        private void button_Activar_Click(object sender, EventArgs e)
  2.        {
  3.            byte[] mBuffer = Encoding.ASCII.GetBytes("EncenderLed"); // Comando a enviar.
  4.            serialPort1.Write(mBuffer, 0, mBuffer.Length);
  5.        }

Al recibir datos es así.
Código
  1.        // Al recibir datos.
  2.        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
  3.        {
  4.            // Acumula los caracteres recibidos a nuestro 'buffer' (string).
  5.            recibidos += serialPort1.ReadExisting();
  6.  
  7.            // Invocar o llamar al proceso de tramas.
  8.            Invoke(new EventHandler(Actualizar));
  9.        }

No olvidar que cada comando recibido, debes vaciar la variable para que no se concatenen, que luego no funciona.

Código
  1.            // Limpiar.
  2.            recibidos = "";

Ya nos contarás más información sobre ello. Que dispositivos es y si te sabes realmente los comandos y respuestas a enviar o lo haces tuyo propio o viene en documentación del dispositivo.

Saludos.  :D
157  Programación / .NET (C#, VB.NET, ASP) / Re: C# Ejecutar archivo .bat en: 26 Diciembre 2021, 04:02 am
Buenas y felices fiestas 2021.

En este código de abajo, añades el programa CMD.exe y luego el comando como apagar el PC o ordenador en 60 segundos.
Código
  1. ProcessStartInfo info = new ProcessStartInfo("cmd", "c/ shutdown -s -t 60");

En el Windows Form con Visual Studio Community 2022 gratuito. Añades dos botones. Este es su código completo para que te hagas una idea, se incluye más código para que no muestre la ventana del cmd a la hora de ejecutarlo.

Código
  1. using System;
  2. using System.Diagnostics;
  3. using System.Windows.Forms;
  4.  
  5. namespace Apagar_PC_con_botones_y_cancelar_01
  6. {
  7.    public partial class Form1 : Form
  8.    {
  9.        public Form1()
  10.        {
  11.            InitializeComponent();
  12.        }
  13.  
  14.        private void button_Apagar_Click(object sender, EventArgs e)
  15.        {
  16.            ProcessStartInfo info = new ProcessStartInfo("cmd", "c/ shutdown -s -t 60");
  17.            info.UseShellExecute = false;
  18.            info.CreateNoWindow = true;
  19.            info.WindowStyle = ProcessWindowStyle.Hidden;
  20.            Process.Start(info);
  21.        }
  22.  
  23.        private void button_Cancelar_Click(object sender, EventArgs e)
  24.        {
  25.            ProcessStartInfo info = new ProcessStartInfo("cmd", "c/ shutdown -a");
  26.            info.UseShellExecute = false;
  27.            info.CreateNoWindow = true;
  28.            info.WindowStyle = ProcessWindowStyle.Hidden;
  29.            Process.Start(info);
  30.        }
  31.    }
  32. }

¿Es lo qué buscas?

Saludos.
158  Programación / .NET (C#, VB.NET, ASP) / Re: soy nuevo en esto, se puede programar bien en visual studio code o que otra puedo usar en: 26 Diciembre 2021, 03:57 am
El mejor IDE que he visto es Visual Studio y Eclipse.
159  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda como integrar *.py en C# en: 26 Diciembre 2021, 03:53 am
Hola:

¿Exactamente qué te refieres?

¿Adaptar código de Python a C#?

¿Añadir código de Python de un archivo externo o un trozo de código directamente etiquetado incrustado en C# por medio?

¿Una dll hecho con Python (que yo sepa no se puede) y lo lee C#?

Saludos.
160  Programación / .NET (C#, VB.NET, ASP) / ¿Cómo enviar más de 255 letras? en: 26 Diciembre 2021, 02:39 am
Buenas:

Quiero enviar un email en modo consola que supere los 255 caracteres tal como se hace en cualquier navegador.

¿Es posible hacerlo?

Aquí dejo un ejemplo con  Ggail.
Código:
// Activar / desactivar Acceso de aplicaciones poco seguras en Google.
// https://myaccount.google.com/lesssecureapps

using System;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Text;

namespace Enviar_email_Consola_07
{
    internal class Program
    {
        static void Main(string[] args)
        {
            #region Configuración ventana.
            // Título de la ventana.
            Console.Title = "Gestor correo electrónico";

            // Tamaño de la ventana, x, y.
            Console.SetWindowSize(80, 25);

            // Color de fondo.
            Console.BackgroundColor = ConsoleColor.Black;

            // Color de las letras.
            Console.ForegroundColor = ConsoleColor.Gray;

            // Limpiar pantalla y dejarlo todo en color de fondo.
            Console.Clear();

            // Visible el cursor.
            Console.CursorVisible = true;
            #endregion

            // Variables.
            string usuario, contraseña, destinatario, asunto, mensaje;

            // Título del programa.
            Console.WriteLine("\t\t----------------------------------------");
            Console.WriteLine("\t\t\tEnviar Correo Electrónico");
            Console.WriteLine("\t\t----------------------------------------");

            try
            {
                Console.WriteLine("\n");
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("\t\tTu correo electrónico: ");
                Console.ForegroundColor = ConsoleColor.Gray;
                usuario = Console.ReadLine();
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("\t\tIntroducir contraseña: ");
                Console.ForegroundColor = ConsoleColor.Gray;
                contraseña = LeerPassword();
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("\t\tDestinatario: ");
                Console.ForegroundColor = ConsoleColor.Gray;
                destinatario = Console.ReadLine();
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("\t\tAsunto: ");
                Console.ForegroundColor = ConsoleColor.Gray;
                asunto = Console.ReadLine();
                Console.WriteLine();

                //----------------------------------------------
                byte[] bytes = new byte[2000]; // Nuevo tamanho máximo.
                Stream inputStream = Console.OpenStandardInput(bytes.Length);
                Console.SetIn(new StreamReader(inputStream));
                //----------------------------------------------

                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("\t\tMensaje: ");
                Console.ForegroundColor = ConsoleColor.Gray;
                mensaje = Console.ReadLine();
                Console.WriteLine();

                MailMessage correo = new MailMessage(usuario, destinatario, asunto, mensaje);

                SmtpClient servidor = new SmtpClient("smtp.gmail.com")
                {
                    Port = 587
                };
                NetworkCredential credenciales = new NetworkCredential(usuario, contraseña);
                servidor.Credentials = credenciales;
                servidor.EnableSsl = true;

                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("\t\tEnviando correo...");
                servidor.Send(correo);
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\t\tCorreo enviado satisfactoriamente.");
                correo.Dispose();
                Console.CursorVisible = false;
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("ERROR: \n");
                Console.WriteLine("\t\t" + ex.Message);
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("\t\tNo se ha enviado el correo.");
                Console.ReadKey();
            }

        }

        // A la hora de introducir la contraseña, se sustituye por asterístos (*) en pantalla.
        public static string LeerPassword()
        {
            ConsoleKeyInfo cki;
            StringBuilder sb = new StringBuilder();
            int contador = 0;

            do
            {
                cki = Console.ReadKey(true);
                if (cki.Key != ConsoleKey.Enter)
                {

                    sb.Append(cki.KeyChar);
                    if (contador < 4)
                    {
                        Console.Write("*");
                    }
                    contador++;
                }

                else
                {
                    break;
                }

            } while (true);
            Console.WriteLine();
            return sb.ToString();
        }
    }
}

Felices fiestas camaradas.
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 31 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines