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


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 229
11  Programación / .NET (C#, VB.NET, ASP) / Re: Calculo niveles en: 1 Agosto 2020, 19:17
Muchas gracias. Lo pruebo y confirmo.
12  Programación / .NET (C#, VB.NET, ASP) / Re: Movimiento armónico simple en: 1 Agosto 2020, 13:20
Hola:

Hecho.
Código
  1. using System;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4.  
  5. namespace Movimiento_armonico_simple_01_cs
  6. {
  7.    public partial class Form1 : Form
  8.    {
  9.        private int pt1a = 0;
  10.  
  11.        private void timer1_Tick(object sender, EventArgs e)
  12.        {
  13.            pt1a += 2;
  14.            if (pt1a >= 360)
  15.                pt1a -= 360;
  16.  
  17.            pictureBox1.Invalidate();
  18.        }
  19.  
  20.        private void Form1_Load(object sender, EventArgs e)
  21.        {
  22.            timer1.Start();
  23.        }
  24.  
  25.        private void pictureBox1_Paint(object sender, PaintEventArgs e)
  26.        {
  27.            Graphics g = e.Graphics;
  28.            int ptx, pty;
  29.            g.Clear(Color.White);
  30.            g.DrawEllipse(Pens.Black, new Rectangle(40, 40, 300, 300));
  31.            g.DrawLine(Pens.Black, 20, 40, 20, 340);
  32.            g.DrawLine(Pens.Black, 40, 360, 340, 360);
  33.  
  34.            ptx = (int)(Math.Cos((double)pt1a * Math.PI / 180.0) * 150.0);
  35.            pty = (int)(Math.Sin((double)pt1a * Math.PI / 180.0) * 150.0);
  36.  
  37.            // Punto del círculo.
  38.            g.FillEllipse(Brushes.Black, new Rectangle(190 + ptx - 5, 190 - pty - 5, 11, 11));
  39.  
  40.            // Punto de la recta Y.
  41.            g.FillEllipse(Brushes.Black, new Rectangle(15, 190 - pty - 5, 11, 11));
  42.  
  43.  
  44.            // Punto de la recta X.
  45.            g.FillEllipse(Brushes.Black, new Rectangle(190 + ptx - 5, 355, 11, 11));
  46.  
  47.  
  48.            label_X.Text = "X:" + ptx.ToString();
  49.            label_Y.Text = "Y:" + pty.ToString();
  50.        }
  51.  
  52.        public Form1()
  53.        {
  54.            InitializeComponent();
  55.        }
  56.    }
  57. }

Saludos.
13  Programación / .NET (C#, VB.NET, ASP) / Movimiento armónico simple [SOLUCIONADO] en: 1 Agosto 2020, 01:25
Hola:

Hace siglos que quice hacerlo pero no me salió. añado en el Windows Form un pictureBox, ahí dentro creo dos rayas, una vertical y otra horizontal con el círculo en medio, tal como indica la imagen de abajo.



Los puntos que muestran se tiene que mover tal como lo hace en el vídeo de abajo.

Ver vídeo.


Código hasta ahora.
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Movimiento_armonico_simple_01_cs
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        private int pt1a = 0, pt2y = 300, pt2s = -1, pt3x = 80, pt3s = 1;
  16.  
  17.        private void Form1_Load(object sender, EventArgs e)
  18.        {
  19.            timer1.Start();
  20.        }
  21.  
  22.        private void pictureBox1_Paint(object sender, PaintEventArgs e)
  23.        {
  24.            Graphics g = e.Graphics;
  25.            int ptx, pty;
  26.            g.Clear(Color.White);
  27.            g.DrawEllipse(Pens.Black, new Rectangle(40, 40, 300, 300));
  28.            g.DrawLine(Pens.Black, 20, 40, 20, 340);
  29.            g.DrawLine(Pens.Black, 40, 360, 340, 360);
  30.  
  31.            ptx = (int)(Math.Cos((double)pt1a * Math.PI / 180.0) * 150.0);
  32.            pty = (int)(Math.Sin((double)pt1a * Math.PI / 180.0) * 150.0);
  33.            g.FillEllipse(Brushes.Black, new Rectangle(190 + ptx - 5, 190 - pty - 5, 11, 11));
  34.  
  35.            g.FillEllipse(Brushes.Black, new Rectangle(15, pt2y - 5, 11, 11));
  36.  
  37.            g.FillEllipse(Brushes.Black, new Rectangle(pt3x - 5, 355, 11, 11));
  38.        }
  39.  
  40.        private void timer1_Tick(object sender, EventArgs e)
  41.        {
  42.            pt1a += 2;
  43.            if (pt1a >= 360)
  44.                pt1a -= 360;
  45.  
  46.            pt2y += 4 * pt2s;
  47.            if (pt2y <= 40 || pt2y >= 340)
  48.                pt2s = -pt2s;
  49.  
  50.            pt3x += 4 * pt3s;
  51.            if (pt3x <= 40 || pt3x >= 340)
  52.                pt3s = -pt3s;
  53.  
  54.            pictureBox1.Invalidate();
  55.        }
  56.  
  57.        public Form1()
  58.        {
  59.            InitializeComponent();
  60.        }
  61.    }
  62. }

¿Alguna idea?

Saludos.
14  Programación / .NET (C#, VB.NET, ASP) / Calculo niveles en: 31 Julio 2020, 23:50
Hola:

Tengo esta barra que pone de 0 % al 100 %.

0%     19 %                                                                  95 %        100%
|--------|-----------------------------------------------------------|--------------|

Mejor imagen de abjo.



Dentro de Windows Form incluyo la barra progressBar y el trackBar para regular una variable.

Internamente del programa, hay dos variables, una que pone 19 y otra variabe que pone 95. Esas con constantes.

Internamente una variable es capaz de moverse del 19 al 95. En otra variable indica que es un 0 al 100 %.

Por ejemplo, si con el trackBar lo pongo al valor 95, en un label tiene que indicar que estoy al 100.

Internamente funciona del 19 al 95 y cara del usuario lo ve como si fuera del 0 al 100 %.

Código que he hecho hasta ahora y no me funciona.
Código:
using System;
using System.Windows.Forms;

namespace Regular_nivel_batería_01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            progressBar1.Value = (trackBar1.Value - 19) * 100 / (95 - 19);
            //progressBar1.Value = trackBar1.Value;
            label_Porcentaje.Text = trackBar1.Value.ToString() + " %";
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Valores del trackBar.
            trackBar1.Maximum = 100;
            trackBar1.Minimum = 0;
            trackBar1.SmallChange = 5;
            trackBar1.Value = 19;

            // Valores barra de progreso.
            progressBar1.Maximum = 95;
            progressBar1.Minimum = 19;
            progressBar1.Step = 5;
            progressBar1.Value = trackBar1.Value;
        }
    }
}

¿Es posible hacerlo?

Saludos.
15  Programación / Programación C/C++ / Re: Se muestra o no el cursor depende de... en: 31 Julio 2020, 02:19
Buenas:

Pues sí, es tal como lo dices, nunca lo he imaginado, ya que con otros lenguajes como C#, incluso el C++ CLR .net no me pasa, si cambio las letras, cambio el cursor automaticamente también.

Código
  1. system("color 1F");

Así está mejor.

Muchísimas gracias.  ;-)
16  Programación / .NET (C#, VB.NET, ASP) / Re: Preguntar antes de salir en: 30 Julio 2020, 05:33
Bueno:

Para no estar con tanto jaleo.

Mejor una cosa más fácil.

Sin preguntar nada al salir del programa, solo que antes de salir, indique el programa enviar un mensaje al puerto serie y luego cierra el puerto.

Código
  1.                                Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  2.                                Puerto_serie.Close(); // Cierra el puerto serie.

Eso lo prefiero más y no tanto rollo.
17  Informática / Electrónica / Re: Morse en: 30 Julio 2020, 03:05
No es así, por mucho que formemos parte de la naturaleza.

Los científicos saben que tenemos un cerebro con cierta inteligencia, lo que no se sabe es como se forma la consciencia desde la nada a seres conscientes.

18  Informática / Electrónica / Re: Morse en: 30 Julio 2020, 00:06
Lo del digital. es solo inventado por el hombre, no está en la naturaleza.
19  Informática / Electrónica / Re: Morse en: 29 Julio 2020, 20:35
Hola:

Al final el código Morse es analogicamente analógico. Lo que no sabía, que todavía se usa hoy en día, a pesar que ya tiene unos 175 años de su historia.

Hasta hay códigos en C# con morse. La gente se abure.





Saludos.
20  Programación / .NET (C#, VB.NET, ASP) / Preguntar antes de salir en: 29 Julio 2020, 17:12
Buenas:

Tengo un programa hecho a medias. Está hecho con la consola C#.

Al pulsar la X de la ventana, quiero que haga estas cosas.
Pregunta si realmente quiero salir, si salgo, pone esto.

Código
  1.                            Si pulso X con el ratón
  2.                            {
  3.                                Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  4.                                Puerto_serie.Close(); // Cierra el puerto serie.
  5.                                Environment.Exit(0); // Cerrar aplicación.
  6.                            }

Arriaba está mal planteado.

Primero pregunta si quiero salir, con un Sí y un No, si pulso No, el programa sigue su curso, si pongo Si, cierra el programa y me envía estos datos al puerto serie antes de que cierre del todo.

Código
  1.                                Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  2.                                Puerto_serie.Close(); // Cierra el puerto serie.
  3.                                Environment.Exit(0); // Cerrar aplicación.

Código ejemplo casi completo.
Código
  1. using System;
  2. using System.IO.Ports;
  3.  
  4. namespace Introducir_datos_puerto_serie_consola_01
  5. {
  6.    class Program
  7.    {
  8.        static void Main(string[] args)
  9.        {
  10.            // Título de la ventana.
  11.            Console.Title = "Enviar datos al puerto serie";
  12.  
  13.            // Tamaño de la ventana, x, y.
  14.            Console.SetWindowSize(70, 25);
  15.  
  16.            // Color de fondo.
  17.            Console.BackgroundColor = ConsoleColor.Blue;
  18.  
  19.            // Color de las letras.
  20.            Console.ForegroundColor = ConsoleColor.Yellow;
  21.  
  22.            // Limpiar pantalla y dejarlo todo gris.
  23.            Console.Clear();
  24.  
  25.            // Visible el cursor.
  26.            Console.CursorVisible = true;
  27.  
  28.            // Cree un nuevo objeto SerialPort con la configuración predeterminada.
  29.            SerialPort Puerto_serie = new SerialPort("COM3");
  30.  
  31.            Puerto_serie.BaudRate = 115200;
  32.            Puerto_serie.Parity = Parity.None;
  33.            Puerto_serie.StopBits = StopBits.One;
  34.            Puerto_serie.DataBits = 8;
  35.            Puerto_serie.Handshake = Handshake.None;
  36.            Puerto_serie.RtsEnable = true;
  37.  
  38.            // Establecer los tiempos de espera de lectura / escritura.
  39.            Puerto_serie.ReadTimeout = 500; // Milisegundos.
  40.            Puerto_serie.WriteTimeout = 500;
  41.  
  42.            // Detecta cualquier dato recibido.
  43.            Puerto_serie.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  44.  
  45.            Puerto_serie.Open(); // Abrir puerto.
  46.  
  47.            //Console.CursorSize = 1;
  48.  
  49.            do
  50.            {
  51.                Console.Write("Introduzca un texto: ");
  52.                string texto;
  53.                texto = Console.ReadLine();
  54.                Console.WriteLine("El texto introducido es: " + texto);
  55.  
  56.                //texto = Encoding.ASCII.GetBytes("Luz_ON"); // Codificación ASCII y guarda en la variable array tipo byte.
  57.                Puerto_serie.Write(texto); // Envía los datos del string todo su contenido.
  58.                Console.WriteLine("Comando {0} enviado.", texto); // Muestra en pantalla comandos enviado.
  59.                Console.WriteLine();
  60.  
  61.                // ################ Pregunta aquí si quieres salir.   ################
  62.                            //Si pulso X con el ratón
  63.                            //{
  64.                            //    Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  65.                            //    Puerto_serie.Close(); // Cierra el puerto serie.
  66.                            //    Environment.Exit(0); // Cerrar aplicación.
  67.                            //}
  68.                // #####################################################################
  69.  
  70.            } while (true);
  71.  
  72.  
  73.        }
  74.  
  75.        // Detecta cualquier dato entrante.
  76.        private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  77.        {
  78.            SerialPort sp = (SerialPort)sender;
  79.            string entradaDatos = sp.ReadExisting(); // Almacena los datos recibidos en la variable tipo string.
  80.            Console.WriteLine("Datos recibido desde Arduino: " + entradaDatos); // Muestra en pantalla los datos recibidos.
  81.        }
  82.    }
  83. }
  84.  

Gracias camaradas.

Saludos.
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 229
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines