Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Meta

#582
Hola:

Así no funciona.
Código (csharp) [Seleccionar]
           // Muestra el scroll vertical.
           richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

           // Asignar el valor de la trama al richTextBox.
           var doc = new FlowDocument();
           doc.Blocks.Add(new Paragraph(new Run(Recibidos + Environment.NewLine)));
           richTextBox.Document = doc;

           // // Mantiene el scroll en la entrada de cada mensaje.
           richTextBox.ScrollToEnd();


Ahora sí.
Código (csharp) [Seleccionar]
           // Muestra el scroll vertical.
           richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

           // Asignar el valor de la trama al richTextBox.
           var doc = new FlowDocument();
           doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
           Recibidos += Environment.NewLine; // Una cadena que contiene "\r\n".
           richTextBox.Document = doc;

           // // Mantiene el scroll en la entrada de cada mensaje.
           richTextBox.ScrollToEnd();


Con menos código.
Código (csharp) [Seleccionar]
            // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos += Environment.NewLine)));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


A pesar de que funciona. ¿Habrá otra forma mejor que esta?
Lo pregunto porque lo que hice puede ser chapuza.

https://msdn.microsoft.com/es-es/library/system.environment.newline%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

Gracias por todo.
#583
Hola:

Ese ejemplo me voldi´de decir que también lo he hecho, compila pero no funciona, se comporta como si no estuviera el "\n".

Tiene que haber otra forma.

Tampoco funciona así, lo pongo por si acaso alguien cree que funcine y no.
Código (csharp) [Seleccionar]
            // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
            doc.Blocks.Add(new Paragraph(new Run("\n")));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


Saludos.
#584
Hola:

Me refiero que muestre esto así.

9600 8-N-2

Saludos.
#585
Hola:

Cuando me entra los datos, me entras uno seguido del otro como muestra aquí.


Debe verse uno encima del otro como indica abajo.


Este es su código.
Código (csharp) [Seleccionar]
            // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


He intentado hacer esto.
Código (csharp) [Seleccionar]
richTextBox.Document = doc + "\n";
Gravedad   Código   Descripción   Proyecto   Archivo   Línea
Error   CS0029   No se puede convertir implícitamente el tipo 'string' en 'System.Windows.Documents.FlowDocument'   Entrada_Arduino_WPF_2_CS   C:\Users\Usuario\Documents\Visual Studio 2015\Projects\Entrada_Arduino_WPF_2_CS\Entrada_Arduino_WPF_2_CS\MainWindow.xaml.cs   76

He intentado todo el rato con más cosas. Lo único que funciona, si en el dispositovo pongo el "\n". No me interesa, quiero hacerlo desde la interfaz WPF C#.

¿Alguna idea?

Falices fiestas 2015. ;)
#586
La batería en vació, son conectar nada te puede dar esos 4.2V, si le pones cargas o lo conecta en la tablet, se queda en 3.7 como tensión nominal.

Puedes ser otra cosa, no la batería.
#587
Hola:

En este código muestra los nombres de la configuración. Teniendo el código completo hecho, quiero que muestre un resumen en el componente statusStrip como muestra abajo.



Se tiene que mostrar como indica abajo.


Pongo el código funcional de la configuración del puerto serie, solo falta que muestra la información en el statusStrip que no se hacerlo, siempre con fallos y llevo tres días.
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.IO.Ports; // No olvidar.

namespace Config_Puerto_Serie
{
    public partial class Form1 : Form
    {
        // Variables.
        bool Conectado;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Añado los puertos disponible en el PC con SerialPort.GetPortNames() al combo
            comboBox_Puerto.DataSource = SerialPort.GetPortNames();

            // Añade los bits de datos.
            comboBox_Bits_de_datos.Items.Add("5");
            comboBox_Bits_de_datos.Items.Add("6");
            comboBox_Bits_de_datos.Items.Add("7");
            comboBox_Bits_de_datos.Items.Add("8");
            comboBox_Bits_de_datos.SelectedIndex = 3;

            // Añade los bits de parada.
            foreach (string Bit_Parada in Enum.GetNames(typeof(StopBits)))
            {
                comboBox_Bits_de_parada.Text = "Two";
                comboBox_Bits_de_parada.Items.Add(Bit_Parada);
            }

            // Añade la Paridad al comboBox.
            foreach (string Paridad in Enum.GetNames(typeof(Parity)))
            {
                comboBox_Paridad.Text = "None";
                comboBox_Paridad.Items.Add(Paridad);
            }

            // Añade el control de flujo.
            foreach (string Flujo in Enum.GetNames(typeof(Handshake)))
            {
                comboBox_Control_de_flujo.Text = "None";
                comboBox_Control_de_flujo.Items.Add(Flujo);
            }

           
            textBox_Read_time_out.Text = "-1";
            textBox_Write_time_out.Text = "-1";

            comboBox_DiscardNull.Items.Add("False");
            comboBox_DiscardNull.Items.Add("True");
            comboBox_DiscardNull.SelectedIndex = 0;

            comboBox_DtrEnable.Items.Add("False");
            comboBox_DtrEnable.Items.Add("True");
            comboBox_DtrEnable.SelectedIndex = 0;

            comboBox_RtsEnable.Items.Add("False");
            comboBox_RtsEnable.Items.Add("True");
            comboBox_RtsEnable.SelectedIndex = 0;

            textBox_ParityReplace.Text = "63";

            textBox_ReceivedBytesTrheshold.Text = "1";

            textBox_ReadBufferSize.Text = "4096";
            textBox_WriteBufferSize.Text = "2048";

            // Añade puertos disponibles físicos  y virtuales.
            serialPort1.BaudRate = (int)Int16.Parse(comboBox_Bit_por_segundo.Text.ToString());
            serialPort1.PortName = comboBox_Puerto.Text.ToString();
            serialPort1.DataBits = (int)Int16.Parse(comboBox_Bits_de_datos.Text.ToString());
            serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), comboBox_Paridad.Text.ToString());
            serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), comboBox_Bits_de_parada.Text.ToString());
            serialPort1.Handshake = (Handshake)Enum.Parse(typeof(Handshake), comboBox_Control_de_flujo.Text.ToString());

            // Más configuraciones.
            serialPort1.ReadTimeout = (int)Int16.Parse(textBox_Read_time_out.Text.ToString());
            serialPort1.WriteTimeout = (int)Int16.Parse(textBox_Write_time_out.Text.ToString());
            serialPort1.DiscardNull = Convert.ToBoolean(comboBox_DiscardNull.Text.ToString());
            serialPort1.DtrEnable = Convert.ToBoolean(comboBox_DtrEnable.Text.ToString());
            serialPort1.ParityReplace = Convert.ToByte(textBox_ParityReplace.Text.ToString());
            serialPort1.RtsEnable = Convert.ToBoolean(comboBox_RtsEnable.Text.ToString());
            serialPort1.ReadBufferSize = (int)Int16.Parse(textBox_ReadBufferSize.Text.ToString());
            serialPort1.WriteBufferSize = (int)Int16.Parse(textBox_WriteBufferSize.Text.ToString());
        }

        private void button_Conectar_Puerto_Click(object sender, EventArgs e)
        {
            if(!serialPort1.IsOpen)
              {

                 serialPort1.Open();
                 Conectado = true; // Cariable de clase boleana para controlar si el puero lo abro yo o no.
                 button_Conectar_Puerto.Text = "DESCONECTAR";
                 button_Conectar_Puerto.BackColor = Color.Green;
              }

            else
              {
                if (Conectado)
                  {
                    serialPort1.Close();
                    Conectado = false;
                    button_Conectar_Puerto.Text = "CONECTAR";
                    button_Conectar_Puerto.BackColor = Color.Red;
                  }
                else
                  {
                    // Esta ocupado por otro programa muestra mensaje y no hacer nada
                      label_Mensajes_de_error.Text = "Puerto ocupado o no lo encuentra.";
                  }
               }
        }

        // Detecta USB o puerto serie virtual cuando lo conecta y desconecta del cable.
        protected override void WndProc(ref Message USB)
        {
            if (USB.Msg == 0x219)
            {
                comboBox_Puerto.DataSource = SerialPort.GetPortNames();
            }

            base.WndProc(ref USB); // Detecta si hay cambios en el usb y si los hay los refleja.
        }
    }
}


Felices navidades.
#588
Muchas gracias.
#589
Hola

Hice un ejemplo muy pequeño, que detecta los puertos COM físico y virtuales en el ComboBox, en el cual solo muestra COM1 y COM4 a seas.



Como se puede ver en el Administrador de dispositivos.



¿Cómo puedo hacer que se muestre el nomrbre del dispositivo detectado por el comboBox que muestre el nombre?

El código de lo que he hecho es este.
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.IO.Ports; // No olvidar.

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

        private void Form1_Load(object sender, EventArgs e)
        {
            // Añado los puertos disponible en el PC con SerialPort.GetPortNames() al combo
            try
            {
                comboBox_Puerto.DataSource = SerialPort.GetPortNames();
            }

            catch
            {
                MessageBox.Show("No encuentra ningún puerto físico ni virtual.", "Aviso:",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            // Añado los puertos disponible en el PC con SerialPort.GetPortNames() al combo
            comboBox_Puerto.DataSource = SerialPort.GetPortNames();

            // // Añade puertos disponibles físicos  y virtuales.
            serialPort1.PortName = comboBox_Puerto.Text.ToString();
        }

        // Detecta USB o puerto serie virtual cuando lo conecta y desconecta del cable.
        protected override void WndProc(ref Message USB)
        {
            if (USB.Msg == 0x219)
            {
                comboBox_Puerto.DataSource = SerialPort.GetPortNames();
            }

            base.WndProc(ref USB); // Detecta si hay cambios en el usb y si los hay los refleja.
        }

        private void button_Conectar_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.PortName = comboBox_Puerto.Text.ToString(); // Puerto seleccionado previamente.
                serialPort1.Open(); // Abrir puerto.
                comboBox_Puerto.Enabled = false;
                button_Conectar.Enabled = false;
                button_Desconectar.Enabled = true;
            }

            catch
            {
                MessageBox.Show("El puerto no existe.", "Aviso:",
                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void button_Desconectar_Click(object sender, EventArgs e)
        {
            serialPort1.Close(); // Cerrar puerto.
            comboBox_Puerto.Enabled = true;
            button_Conectar.Enabled = true;
            button_Desconectar.Enabled = false;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (serialPort1.IsOpen) // ¿El puerto está abierto?
            {
                serialPort1.Close(); // Cerrar puerto.
            }
        }
    }
}


Felices fiestas 2.015. ;)
#590
Hola:

Muchas gracias, ahora funciona de maravilla.

Código (csharp) [Seleccionar]
                      // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


Felices fiestas campeón. ;)