Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2016, 06:42
REHome
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Añadir porcentaje al progressBar

Hola:

Estoy haciendo una pequeña prueba. Recibo en el puerto serie / USB datos que recoge Visual C# de 0 a 1023 y lo muestro en un label.



Hasta ahí funciona bien.

Tengo dos label más. El segundo tiene que demostrar el porcentaje del 0 % a 100% según el dato obtenido del 0 a 1023.

En el otro label, el tercero debemostrar número con decimales del 0.00 a 5.00.

A pesar de encontrar la fórmula, no se implementarlo en C#.

El código es este:
Código C++:
Ver original
  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. using System.IO.Ports; // No olvidar.
  12.  
  13. namespace Arduino_In_Analogico_prueba_01
  14. {
  15.     public partial class Form1 : Form
  16.     {
  17.         // Utilizaremos un string como buffer de recepción.
  18.         string Recibidos;
  19.         int Porcentaje;
  20.  
  21.         public Form1()
  22.         {
  23.             InitializeComponent();
  24.  
  25.             if (!serialPort1.IsOpen)
  26.             {
  27.                 try
  28.                 {
  29.                     serialPort1.Open();
  30.                 }
  31.                 catch (System.Exception ex)
  32.                 {
  33.                     MessageBox.Show(ex.ToString());
  34.                 }
  35.             }
  36.  
  37.             serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
  38.         }
  39.  
  40.         // Al recibir datos.
  41.         private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
  42.         {
  43.  
  44.             // Acumula los caracteres recibidos a nuestro 'buffer' (string).
  45.             Recibidos = serialPort1.ReadLine();
  46.  
  47.             // Invocar o llamar al proceso de tramas.
  48.             Invoke(new EventHandler(Actualizar));
  49.         }
  50.  
  51.  
  52.         // Como variables de clase
  53.  
  54.         private string[] separador = new string[] { ",", "\r", "\n", "/n" };
  55.         private List<string> leodato1 = new List<string>();
  56.  
  57.        
  58.        
  59.         // Procesar los datos recibidos en el bufer y extraer tramas completas.
  60.         private void Actualizar(object sender, EventArgs e)
  61.         {
  62.             // En el evento
  63.             leodato1.Clear();
  64.             leodato1.AddRange(Recibidos.Split(separador,StringSplitOptions.RemoveEmptyEntries));
  65.  
  66.             label_Lectura_Potenciometro.Text = leodato1[0].ToString();
  67.             progressBar1.Value = Convert.ToInt32(leodato1[0].ToString());
  68.             progressBar1.PerformStep();
  69.         }
  70.     }
  71. }

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar