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

#721
Hola a todos y a todas:

Gracias a muchos sitios he logrado enviar comandos o datos al puerto serie para que Arduino lo entienda, ya se puede apagar y encender un Led.

En estos momentos me falta lograr que desde el puerto serie con VB 6 me lleguen los datos y se muestre en el componente Text como indica esta imagen.



Su código es hecho hasta el momento es:
Private Sub Form_Load()
    With Me.ComboBoxCOM
        Set WMIObjectSet = GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_PnPEntity")
        For Each wmiobject In WMIObjectSet
            If InStr(wmiobject.Name, "COM") Then
                ComboBoxCOM.AddItem wmiobject.Name
               
                Dim nCom%   ' Buscamos el número del puerto:
                nCom = InStrRev(wmiobject.Name, "COM", , vbTextCompare)
                nCom = Val(Mid(wmiobject.Name, nCom + 3))
   
                ComboBoxCOM.ItemData(ComboBoxCOM.NewIndex) = nCom
            End If
        Next
        Set WMIObjectSet = Nothing
               
        If ComboBoxCOM.ListCount = 0 Then
            MsgBox "No se encontraron puertos COM."
            Exit Sub
        End If

        ' Para seleccionar el primer puerto encontrado:
        ComboBoxCOM.ListIndex = 0
    End With
End Sub

Private Sub ComboBoxCOM_Click()
    ' Configurar MSComm
    With Me.ComboBoxCOM
        MSComm_Puerto_Serie.CommPort = ComboBoxCOM.ItemData(ComboBoxCOM.ListIndex)
    End With
End Sub

' Si ya has seleccionado un puerto en el comboBox
' Si pulsas conectar abre el puerto y si no lo cierra.
Private Sub Command_CONECTAR_Click()
    If Not MSComm_Puerto_Serie.PortOpen Then
       MSComm_Puerto_Serie.PortOpen = True ' Abrir puerto serie.
       Command_CONECTAR.Caption = "DESCONECTAR" ' Mostrar texto en el botón.
       ComboBoxCOM.Enabled = False
       Command_Led_8_ON.Enabled = True ' Activar botón ON.
       Command_Led_8_OFF.Enabled = True ' Activar botón OFF.
    Else
       MSComm_Puerto_Serie.PortOpen = False ' Cerrar puerto serie.
       Command_CONECTAR.Caption = "CONECTAR" ' Mostrar texto en el botón.
       ComboBoxCOM.Enabled = True
       Command_Led_8_ON.Enabled = False ' Desactivar botón ON.
       Command_Led_8_OFF.Enabled = False ' Desactivar botón OFF.
    End If
End Sub

Private Sub Command_Led_8_OFF_Click()
' Envía este cadena de carácter por el puerto serie.
    MSComm_Puerto_Serie.Output = "Led_8_OFF"
End Sub

Private Sub Command_Led_8_ON_Click()
' Envía este cadena de carácter por el puerto serie.
    MSComm_Puerto_Serie.Output = "Led_8_ON"
End Sub


Aquí dejo un enlace temporal de un tutorial en pdf para novatos de como hacer su propia interfaz con VB 6.
https://www.dropbox.com/s/4s6txlfkit9d1xv/Tutorial%20VB6%20puertoCOM.pdf?dl=0

Como dije antes, necesito una ayudita sobre recibir datos desde el puerto serie para completas este tutorial.

¿Estás dispuesto a ayudar?

Un cordial saludo.

PD: Tengo otro  con VB .net, C++, C# y Java de lo mismo en PDF, el que lo quiera lo hace saber y pongo unenlace temporal aquí mismo.

PD2: Dejo claro que el tutorial está aún incompelto, sobre todo me falta la parte de la electrónica y en tutorial de VB 6 será colocado dentro del mismo pdf que los demás lenguajes.
#722
Gracias.

Lo he estado analizando, a pesar de tener buenos resultados, para mi es complicado. Seguiré con lo que iba.

Tengo más o menos los menús hecho en modo consola gracias aquí. Ahora seguiré un paso más, la parte de configurar el puerto serie. A pesar que aquí lo indica, quiero hacerlo de otra manera, no de modo automático haciéndonte preguntas cada vez que inicias la aplicación sobre configurar el puerto serie.

Viendo el código base y que está vacío. En este momento quiero centrarme en el menú número 2. Configuración. Donde al pulsar el número 2 pueda configurar el puerto como queramos, los baudios, número del puerto y demás. Por supuesto, al iniciar nuestro programa C#, está configurado de modo predeterminado como cualquier otro programa.



Centrado en este código de abajo, quiero que se muestre los parámetros del puerto serie por defecto y que lo pueda cambiar. Supuestamente pulsado Tabular me cambia de posición en l aventana, pero este caso no lo hace.



Trozo de código que no me sale donde posicionar el cursor para introducir datos.

Código (csharp) [Seleccionar]
    class Configuracion
    {
        public void Modal_Configuracion()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine(@"
┌─────────────────────────────────────────────────────────────────────────────┐
│                               CONFIGURACIÓN                                 │
└─────────────────────────────────────────────────────────────────────────────┘

");
                //Console.WriteLine("Pulse 0 para vovler al menú principal.");

                Console.CursorVisible = true; // Mostrar cursor.
                Console.SetCursorPosition(10, 5); // Pisición del cursor.
                Console.Write("Puerto COM       :");
                Console.SetCursorPosition(10, 6);
                Console.Write("Bits por segundo :");
                Console.SetCursorPosition(10, 7);
                Console.Write("Bits de datos    :");
                Console.SetCursorPosition(10, 8);
                Console.Write("Paridad          :");
                Console.SetCursorPosition(10, 9);
                Console.Write("Bits de parada   :");
                Console.SetCursorPosition(10, 10);
                Console.Write("Control de flujo :");

                Console.ReadLine();
               

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }


Código Completo de lo que he hecho hasta ahora justo abajo.

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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

namespace PuertoCOM_CS_PRUEBA
{
    class Program
    {
        static void Main(string[] args)
        {
            new Program().Modal();
        }

        void Modal()
        {
            for (; ; )
            {
                Console.Title = "Interfaz puerto serie - v 0.03"; // Mostrar título en la ventana de la consola.

                string Menu_Principal = @"
╔═════════════════════════════════════════════════════════════════════════════╗
║                               MENÚ PRINCIPAL                                ║
╠═════════════════════════════════════════════════════════════════════════════╣
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                            0. Salir.                                        ║
║                            1. Interfaz.                                     ║
║                            2. Configuración.                                ║
║                            3. Guardar configuración.                        ║
║                            4. Información desde el dispositivo.             ║
║                            5. Ayuda.                                        ║
║                            6. Acerca de ...                                 ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
║                                                                             ║
╚═════════════════════════════════════════════════════════════════════════════╝
";
                Console.CursorVisible = false; // Ocultar cursor.
                Console.Clear(); // Limpiar pantalla.
                Console.Write(Menu_Principal); // Mostrar menú principal.
                ConsoleKeyInfo switchExpression = Console.ReadKey(); // Detactar una tecla del teclado.

                switch (switchExpression.KeyChar)
                {
                    case '0':
                        return;

                    case '1':
                        new Interfaz().Modal_Interfaz();
                        break;

                    case '2':
                        new Configuracion().Modal_Configuracion();
                        break;

                    case '3':
                        new Guardar_Configuracion().Modal_Guardar_Configuracion();
                        break;

                    case '4':
                        new Informacion().Modal_Informacion();
                        break;

                    case '5':
                        new Ayuda().Modal_Ayuda();
                        break;

                    case '6':
                        new Acerca_de().Modal_Acerca_de();
                        break;

                    default:
                        Console.WriteLine("No has elegido ninguna opción. Vuelva teclear del 0 al 68.");
                        break;
                }
            }

        }
    }

    class Interfaz
    {
        public void Modal_Interfaz()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== INTERFAZ =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Configuracion
    {
        public void Modal_Configuracion()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine(@"
┌─────────────────────────────────────────────────────────────────────────────┐
│                               CONFIGURACIÓN                                 │
└─────────────────────────────────────────────────────────────────────────────┘

");
                //Console.WriteLine("Pulse 0 para vovler al menú principal.");

                Console.CursorVisible = true; // Mostrar cursor.
                Console.SetCursorPosition(10, 5); // Pisición del cursor.
                Console.Write("Puerto COM       :");
                Console.SetCursorPosition(10, 6);
                Console.Write("Bits por segundo :");
                Console.SetCursorPosition(10, 7);
                Console.Write("Bits de datos    :");
                Console.SetCursorPosition(10, 8);
                Console.Write("Paridad          :");
                Console.SetCursorPosition(10, 9);
                Console.Write("Bits de parada   :");
                Console.SetCursorPosition(10, 10);
                Console.Write("Control de flujo :");

                Console.ReadLine();
               

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Guardar_Configuracion
    {
        public void Modal_Guardar_Configuracion()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== GUARDAR CONFIGURACIÓN =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Informacion
    {
        public void Modal_Informacion()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== INFORMACION =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Ayuda
    {
        public void Modal_Ayuda()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== AYUDA =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Acerca_de
    {
        public void Modal_Acerca_de()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== ACERCA DE ... =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }
}


Saludos.
#723
Cita de: #!drvy en 28 Marzo 2015, 15:51 PM
Esas empresas por general se dedican a gestionar cobros para otras empresas. En tu caso X empresa se dedica a gestionar cobros de deudas para Movistar. Normalmente es legal hacerlo de esa manera.

En la mayoría de los casos no llegan a denunciar pues pierden mas dinero haciéndolo que el que podrían recuperar pero eso no es algo fijo.

Normalmente las deudas de servicio de suministros (como puede ser telefonia) prescriben a los 3 años pero ese plazo se puede alargar si en ese tiempo has reconocido que tienes una deuda con ellos.

http://alabogados.blogspot.com/2013/03/cuando-prescriben-mis-deudas.html

De nuevo, esas compañías en la mayoría de los casos se dedican a meterte miedo y a intentar que devuelvas la suma que debes como sea sin llegar a juicio (aunque amenacen constantemente con ello). Pero yo que tu consultaría un abogado.

Saludos

Lo reconocí ahora, hace días a esa empresa. De todas maneras un abogado me puso esto.


Citar
Buenos días.
Si efectivamente nunca han contactado con usted por burofax o algún medio fehaciente, la deuda esta más que prescrita.

Puede hacer caso omiso de las reclamaciones y, llegado el caso de juicio, alegar dicha prescripción.

Para cualquier aclaración o consulta adicional, no dude en contactar.
Reciba un cordial saludo.

[youtube=640,360]https://www.youtube.com/watch?v=VjNVVQbYQwM[/youtube]

Saludo.
#724
Una mejora que funciona mejor.

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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

namespace PuertoCOM_CS_PRUEBA
{
    class Program
    {
        static void Main(string[] args)
        {
            new Program().Modal();
        }

        void Modal()
        {
            for (; ; )
            {
                Console.Title = "Interfaz puerto serie - v0.03"; // Mostrar título en la ventana de la consola.


                string Menu_Principal = @"========== MENÚ PRINCIPAL ==========


            0) Salir.
            1) Interfaz.
            2) Configuración.
            3) Guardar configuración.
            4) Ayuda.


";

                Console.Clear();
                Console.Write(Menu_Principal);
                ConsoleKeyInfo switchExpression = Console.ReadKey();
                switch (switchExpression.KeyChar)
                {
                    case '0':
                        return;

                    case '1':
                        new Interfaz().Modal();
                        break;

                    case '2':
                        new Configuracion().Modal();
                        break;

                    case '3':
                        new Guardar_Configuracion().Modal();
                        break;

                    case '4':
                        new Ayuda().Modal();
                        break;

                    default:
                        Console.WriteLine("No has elegido nunguna opción. Vuelva teclear del 0 al 4.");
                        break;
                }
            }

        }
    }

    class Interfaz
    {
        public void Modal()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== INTERFAZ =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Configuracion
    {
        public void Modal()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== CONFIGURACIÓN =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Guardar_Configuracion
    {
        public void Modal()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== Guadar configuración =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }

    class Ayuda
    {
        public void Modal()
        {
            for (; ; )
            {
                Console.Clear();
                Console.WriteLine("===== Ayuda =====");
                Console.WriteLine("Pulse 0 para vovler al menú principal.");

                ConsoleKeyInfo op = Console.ReadKey();

                switch (op.KeyChar)
                {
                    case '0':
                        return;

                    default:
                        break;
                }
            }
        }
    }
}


Aún así quiero sugerencia para hacerlo lo mejor posible.

Saludos.
#725
Hola:

Quiero hacer un menú de configuración del puerto serie. No me centraré en como hacer funcionar el puerto serie, lo haré más delante y lo explica por aquí.

Quiero hacerlo de la mejor forma, a pesar que este tipo de técnica se usaba en la época de MS-DOS y más allá, me he encaprichado en hacerlo así ya por hobby, hehehehe. ;)

Quiero que me den ideas de como hacerlo, por ahora lo he hecho así muy básico, que pueda entrar en menús y submenus para vuelva a empezar del menú desde el principio.

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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

namespace PuertoCOM_CS_PRUEBA
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "Interfaz puerto serie - v0.01"; // Mostrar título en la ventana de la consola.

            string Comandos_teclado = Console.Read();

            string Menu_Principal = @"========== MENÚ PRINCIPAL ==========


            0) Menú principa.
            1) Interfaz.
            2) Configuración.
            3) Guardar configuración.
            4) Ayuda.";


            int switchExpression = 3;
            switch (switchExpression)
            {
                case 0:
                    Console.WriteLine(Menu_Principal);
                    break;
               
                case 1:
                    Console.WriteLine("===== INTERFAZ =====");
                    Console.WriteLine("Pulse 0 para vovler al menú principal.");
                    break;

                case 2:
                    Console.WriteLine("===== CONFIGURACIÓN =====");
                    Console.WriteLine("Pulse 0 para vovler al menú principal.");
                    break;

                case 3:
                    Console.WriteLine("===== Guadar configuración =====");
                    Console.WriteLine("Pulse 0 para vovler al menú principal.");
                    break;

                case 4:
                    Console.WriteLine("===== Ayuda =====");
                    Console.WriteLine("Pulse 0 para vovler al menú principal.");
                    break;

                default:
                    Console.WriteLine("No has elegido nunguna opción. Vuelva teclear del 0 al 4.");
                    break;
            }

        }
    }
}


Aquí todo sobre Swicht.

Pueden darme consejos de cómo lo harían ustedes.

Saludos.
#726
Puse un botón nuevo que este es su código.

Código (vb) [Seleccionar]
Private Sub Command_CONECTAR_Click()
    If Not MSComm1.PortOpen Then
       MSComm1.PortOpen = True ' Abrir puerto serie.
       Command_CONECTAR.Caption = "DESCONECTAR"
    Else
       MSComm1.PortOpen = False ' Cerrar puerto serie.
       Command_CONECTAR.Caption = "CONECTAR"
    End If
End Sub


El código completo es este:
Código (vb) [Seleccionar]
Private Sub Command_CONECTAR_Click()
    If Not MSComm1.PortOpen Then
       MSComm1.PortOpen = True ' Abrir puerto serie.
       Command_CONECTAR.Caption = "DESCONECTAR"
    Else
       MSComm1.PortOpen = False ' Cerrar puerto serie.
       Command_CONECTAR.Caption = "CONECTAR"
    End If
End Sub

    Private Sub Command_Led_8_OFF_Click()
    MSComm1.Output = "Led_8_OFF"
    End Sub
     
    Private Sub Command_Led_8_ON_Click()
    MSComm1.Output = "Led_8_ON"
    End Sub
     
    Private Sub Form_Load()
       'Form1.ComboBoxCOM.Clear ' Limpiar comboBox.
          MSComm1.CommPort = ComboBoxCOM.ListIndex = 0
    Timer1.Interval = 1       ' Correr el timer a 1 mls.
       Set WMIObjectSet = GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_PnPEntity") 'Win32_SerialPort")
       For Each wmiobject In WMIObjectSet
           If InStr(wmiobject.Name, "COM") Then   '
             Form1.ComboBoxCOM.AddItem wmiobject.Name
           End If
            Next
       Set WMIObjectSet = Nothing
    End Sub


Todavía me da problemas aquí.
Código (vb) [Seleccionar]
MSComm1.CommPort = ComboBoxCOM.ListIndex = 0
#727
Cita de: HdM en 27 Marzo 2015, 14:35 PM
Descarga todos, o este pack completo:

http://www.microsoft.com/es-es/download/details.aspx?id=9183

Lo he intentado y me salen mensajes de este tipo. Donde hay que poner la carpeta a lahora de descomprimir??????
#728
Hola:


Me acaban de llamar por el movil. En el 2008 debo una factura del Movistar que no he podido pagar, algo más de 200 €. Me dijo que si no pagaba me llevan a juicio. Le expliqué por teléfono que no tengo trabajo desde el 2011. Así que ese año me han dado de baja el número, ya no lo conservo, ahora tengo otro pero de prepago en el cual no tengo problemas.
Precisamente no me llamó la MoviStar, sino otras gente, una abogada, que si no pago, me lleva a juicio. No sabe que problema hay si soy yo o MoviStar.


Hace tiempo, me comentaron que esto de deber facturas a MoviStar a los 3 ó 5 años, no recuerdo ahora, preinscribe, es decir, ya estoy libre de deudas. Si me llaman a reclamar, me han contado gente y hasta ha salido en el telediario, que pagamos o simplemente no pagamos. No estoy obligado ya que estamos actualmente en el 2015. Han pasado 7 años.
Le respondí que no tengo trabajo, me dijo que saque el dinero de mis padres o lo pague poco a poco. Le vuelvo a responder, que no se puede sacar dinero donde no lo hay, si tengo que ir a la cárcel pues voy. Me responde que esto no voy a la cárcel por esto, pero si me llevan a juicio y cuando tenga un trabajo con contrato, me lo descontarán.


Unos me dicen que no haga caso, porque ya preinscribió hace mucho tiempo, otros que telefónica tiene un acuerdo con estas empresas para que nos llamen y que no paguemos, otros no tienen ni idea y soy uno de ellos.
Dejo claro que nunca MoviSta me ha reclamado ni ha contactado conmigo nunca desde el 2008. Solo ahora esta empresa.


¿Realmente que ocurrirá?


Consulté esto en un lugar de Internet y me respondieron esto por un abogado, al menos eso parece en un foro que norecuerdo ahora. Este mensaje no tiene nada que ver con la abogada pesada:


CitarBuenos días.

Si efectivamente nunca han contactado con usted por burofax o algún medio fehaciente, la deuda esta más que prescrita.

Puede hacer caso omiso de las reclamaciones y, llegado el caso de juicio, alegar dicha prescripción.
Para cualquier aclaración o consulta adicional, no dude en contactar.

Reciba un cordial saludo.
Me ha llegado en pocos minutos por e-mail que le di por teléfono, que no uso mucho. Creo que a lo mejor he metido la pata y se reactivó la deuda, no se. Es lo que quiero saber.


CitarEXPEDIENTE xxxxxxx Tras conversación mantenida con usted sobre la deuda contraída con mi cliente MOVISTAR por un importe de 200 €sobre la línea xxxxxxxxx Le hago llegar el número de factura e importes para que pueda realizar las comprobaciones pertinentes.


Recuerde que a la hora de realizar el pago debe dirigirse a la OFICINA DE CORREOS, son pagos telemáticos por lo que solo debe decir que el abono es para MOVISTAR y facilitarle su D.N.I. y número de teléfono de la deuda. Una vez realizado el pago debe enviarme un fax al 902.49.55.57 a la atención [NOMBRE DE LA ABOGADA].
También lo puede hacer en el cajero de la caixa,en pagos online,indicando el teléfono de la deuda en el concepto junto con su DNI,también puede hacer una transferencia BBVA xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Un saludo.
¿Qué opina de esto?

Tenía claro desde hace tiempo que está muy preinscrito y vienen ahora y no es MoviStar sino otra empresa.

Un cordial saludo.
#729
Buenas:

Todavía me sale error por aquí.
Código (vb) [Seleccionar]
MSComm1.CommPort = ComboBoxCOM.ListIndex = 0

Si se puede optimizar un poco depende del programador. No se me da optimizar.

En cuanto el string del que me hablas, estoy en ello para conseguir el 4.
#730
Hola:

Intenté con esto:
Código (vb) [Seleccionar]
MSComm1.CommPort = ComboBoxCOM.Index = 1

Cuando cargue una lista en el comboBox, hay que escoger el índice o item o como se llame con el primer puerto que detecte. Luego tengo la posibilidad de elegir el que quiera.

Saludos.