Hola:
¿Se puede crear en Visual Basic 6 en modo consola este código de Visual Basic .net 2017?
La idea es portar este código de Visual Basic .net al Visual Basic 6. Me parece todalmente diferente y complicado.
Saludos.
¿Se puede crear en Visual Basic 6 en modo consola este código de Visual Basic .net 2017?
La idea es portar este código de Visual Basic .net al Visual Basic 6. Me parece todalmente diferente y complicado.
Código:
Imports System.IO.Ports
Imports System.Text
Module Module1
Sub Main()
' Título de la ventana.
Console.Title = "Recibir datos desde Arduino con Visual Basic .net"
' Tamaño ventana consola.
Console.WindowWidth = 55 ' X. Ancho.
Console.WindowHeight = 18 ' Y. Alto.
' Cree un nuevo objeto SerialPort con la configuración predeterminada.
Dim Puerto_serie As New SerialPort("COM4")
Puerto_serie.BaudRate = 115200
Puerto_serie.Parity = Parity.None
Puerto_serie.StopBits = StopBits.One
Puerto_serie.DataBits = 8
Puerto_serie.Handshake = Handshake.None
Puerto_serie.RtsEnable = True
' Establecer los tiempos de espera de lectura / escritura.
Puerto_serie.ReadTimeout = 500
' Milisegundos.
Puerto_serie.WriteTimeout = 500
' Detecta cualquier dato recibido.
AddHandler Puerto_serie.DataReceived, AddressOf DataReceivedHandler
Puerto_serie.Open() ' Abrir puerto.
Dim tecla As ConsoleKey
Console.WriteLine("Pulse tecla 1 para encender y 2 para apagar:")
Do
tecla = Console.ReadKey(True).Key ' Espera pulsación de teclas.
Select Case tecla
' Tecla 1 del teclado estandar.
Case ConsoleKey.D1, ConsoleKey.NumPad1 ' Tecla 1 del número del pad.
Dim miBuffer1 As Byte() = Encoding.ASCII.GetBytes("Luz_ON") ' Codificación ASCII y guarda en la variable array tipo byte.
Puerto_serie.Write(miBuffer1, 0, miBuffer1.Length) ' Envía los datos del buffer todo su contenido.
Console.WriteLine("Comando ""Luz_ON"" enviado.") ' Muestra en pantalla comandos enviado.
Exit Select
Case ConsoleKey.D2, ConsoleKey.NumPad2
Dim miBuffer2 As Byte() = Encoding.ASCII.GetBytes("Luz_OFF")
Puerto_serie.Write(miBuffer2, 0, miBuffer2.Length)
Console.WriteLine("Comando ""Luz_OFF"" enviado.")
Exit Select
Case Else
Console.WriteLine("Tecla el 1, el 2 y Escape para salir.")
Exit Select
End Select
Loop While tecla <> ConsoleKey.Escape ' Pulsa Escape para salir del menú.
Console.WriteLine("Presione cualquier tecla para terminar...")
Console.WriteLine()
Console.ReadKey() ' Espera pulsar una tecla cualquiera.
Puerto_serie.Close() ' Cierra el puerto serie.
End Sub
Private Sub DataReceivedHandler(sender As Object, e As SerialDataReceivedEventArgs)
Dim sp As SerialPort = DirectCast(sender, SerialPort)
Dim entradaDatos As String = sp.ReadExisting() ' Almacena los datos recibidos en la variable tipo string.
Console.WriteLine(Convert.ToString("Dato recibido desde Arduino: ") & entradaDatos) ' Muestra en pantalla los datos recibidos.
End Sub
End Module