Pasar de VC# a VB

Iniciado por Meta, 22 Diciembre 2008, 06:10 AM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Hola:

Hace tiempo hice un manual sobre Visual C# con PIC 16F84A, de tanta demanda estoy con ganas de pasarlo a Visual Basic 2008 Express. No se nada de este lenguaje y me gustaría colaboración de convertir el código que ya tengo hecho de VC# a VB .net.

El manual es este de abajo, pero quiero hacerlo en un PDF a parte.
http://electronicapic.iespana.es/manual/picrs232.pdf

Puedes descargar el código fuente completo de Visual C# para que lo vean y si pueden pasarlo a Visual Basic 2008.
http://www.pic16f84a.org/index.php?option=com_docman&task=doc_download&gid=53&Itemid=59
Contraseña: D.P.E.

El que quiera colaborar y aparecer su e-mail, web o demás información para ponerlo al final del manual. Me envías el archivo ya con el código fuente completo en Visual Basic 2008 Express y sus comentarios explicado en las líneas de código al e-mail metacontaARROBAgmail.com

Un cordial saludo.

EDITO:
He intentado hacer el código de C# a VB en esta web http://www.developerfusion.com/tools/convert/csharp-to-vb/

El código en Form1.vb puse:
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Windows.Forms
Imports System.IO.Ports

Namespace PicRS232
    Partial Public Class Form1_Principal
        Inherits Form
        ' Utilizaremos un string como buffer de recepcion
        Private Recibidos As String
        Public Sub New()
            InitializeComponent()
            ' Abrir puerto mientra se ejecute la aplicación
            If Not serialPort1.IsOpen Then
                Try
                    serialPort1.Open()
                Catch ex As System.Exception
                    MessageBox.Show(ex.ToString())
                End Try
            End If
            ' Ejecutar la funcion Recepcion por disparo del Evento 'DataReived'
            AddHandler serialPort1.DataReceived, AddressOf Recepcion
        End Sub
        ' Al recibir los datos
        Private Sub Recepcion(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
            ' Acumular los carácteres recibidos a nuestro 'buffer' (string)
            Recibidos += serialPort1.ReadExisting()
            ' Invocar o llamar al proceso de tramas
            Me.Invoke(New EventHandler(Actualizar))
        End Sub
        ' Procesar los datos recibidos en el buffer y extraer tramas completas
        Private Sub Actualizar(ByVal s As Object, ByVal e As EventArgs)
            ' Asignar el valor de la trama al textBox
            textBox_visualizar_mensaje.Text = Recibidos
        End Sub
        Private Sub button_t_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim mBuffer As Byte() = New Byte(0) {}
            mBuffer(0) = &H74
            'ASCII letra "t".
            serialPort1.Write(mBuffer, 0, mBuffer.Length)
        End Sub

        Private Sub button_b_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim miBuffer As Byte() = New Byte(0) {}
            miBuffer(0) = &H62
            'ASCII letra "b".
            serialPort1.Write(miBuffer, 0, miBuffer.Length)
        End Sub

        Private Sub button_a_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim mBuffer As Byte() = New Byte(0) {}
            mBuffer(0) = &H61
            'ASCII letra "a".
            serialPort1.Write(mBuffer, 0, mBuffer.Length)
        End Sub

        Private Sub button_l_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim mBuffer As Byte() = New Byte(0) {}
            mBuffer(0) = &H6C
            'ASCII letra "l".
            serialPort1.Write(mBuffer, 0, mBuffer.Length)
        End Sub

        Private Sub button_Espacio_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim mBuffer As Byte() = New Byte(0) {}
            mBuffer(0) = &H20
            'ASCII letra "Espacio".
            serialPort1.Write(mBuffer, 0, mBuffer.Length)
        End Sub

        Private Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
            statusStrip1.Items(0).Text = DateTime.Now.ToLongTimeString()
        End Sub
    End Class
End Namespace





Ahora en Form1.Designer.vb puse:

Namespace PicRS232
    Partial Class Form1_Principal
        ''' <summary>
        ''' Variable del diseñador requerida.
        ''' </summary>
        Private components As System.ComponentModel.IContainer = Nothing

        ''' <summary>
        ''' Limpiar los recursos que se estén utilizando.
        ''' </summary>
        ''' <param name="disposing">true si los recursos administrados se deben eliminar; false en caso contrario, false.</param>
        Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
            If disposing AndAlso (components IsNot Nothing) Then
                components.Dispose()
            End If
            MyBase.Dispose(disposing)
        End Sub

#Region "Código generado por el Diseñador de Windows Forms"

        ''' <summary>
        ''' Método necesario para admitir el Diseñador. No se puede modificar
        ''' el contenido del método con el editor de código.
        ''' </summary>
        Private Sub InitializeComponent()
            Me.components = New System.ComponentModel.Container()
            Me.button_t = New System.Windows.Forms.Button()
            Me.button_b = New System.Windows.Forms.Button()
            Me.button_a = New System.Windows.Forms.Button()
            Me.button_l = New System.Windows.Forms.Button()
            Me.button_Espacio = New System.Windows.Forms.Button()
            Me.serialPort1 = New System.IO.Ports.SerialPort(Me.components)
            Me.statusStrip1 = New System.Windows.Forms.StatusStrip()
            Me.textBox_visualizar_mensaje = New System.Windows.Forms.TextBox()
            Me.label_mensaje_pic = New System.Windows.Forms.Label()
            Me.timer1 = New System.Windows.Forms.Timer(Me.components)
            Me.toolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
            Me.statusStrip1.SuspendLayout()
            Me.SuspendLayout()
            '
            ' button_t
            '
            Me.button_t.Location = New System.Drawing.Point(109, 38)
            Me.button_t.Name = "button_t"
            Me.button_t.Size = New System.Drawing.Size(75, 23)
            Me.button_t.TabIndex = 0
            Me.button_t.Text = "t"
            Me.button_t.UseVisualStyleBackColor = True
            AddHandler Me.button_t.Click, AddressOf Me.button_t_Click
            '
            ' button_b
            '
            Me.button_b.Location = New System.Drawing.Point(109, 67)
            Me.button_b.Name = "button_b"
            Me.button_b.Size = New System.Drawing.Size(75, 23)
            Me.button_b.TabIndex = 1
            Me.button_b.Text = "b"
            Me.button_b.UseVisualStyleBackColor = True
            AddHandler Me.button_b.Click, AddressOf Me.button_b_Click
            '
            ' button_a
            '
            Me.button_a.Location = New System.Drawing.Point(28, 67)
            Me.button_a.Name = "button_a"
            Me.button_a.Size = New System.Drawing.Size(75, 23)
            Me.button_a.TabIndex = 2
            Me.button_a.Text = "a"
            Me.button_a.UseVisualStyleBackColor = True
            AddHandler Me.button_a.Click, AddressOf Me.button_a_Click
            '
            ' button_l
            '
            Me.button_l.Location = New System.Drawing.Point(190, 67)
            Me.button_l.Name = "button_l"
            Me.button_l.Size = New System.Drawing.Size(75, 23)
            Me.button_l.TabIndex = 3
            Me.button_l.Text = "l"
            Me.button_l.UseVisualStyleBackColor = True
            AddHandler Me.button_l.Click, AddressOf Me.button_l_Click
            '
            ' button_Espacio
            '
            Me.button_Espacio.BackColor = System.Drawing.Color.FromArgb(CInt(CByte((255))), CInt(CByte((128))), CInt(CByte((0))))
            Me.button_Espacio.Location = New System.Drawing.Point(190, 96)
            Me.button_Espacio.Name = "button_Espacio"
            Me.button_Espacio.Size = New System.Drawing.Size(75, 23)
            Me.button_Espacio.TabIndex = 4
            Me.button_Espacio.Text = "Espacio"
            Me.button_Espacio.UseVisualStyleBackColor = False
            AddHandler Me.button_Espacio.Click, AddressOf Me.button_Espacio_Click
            '
            ' serialPort1
            '
            Me.serialPort1.StopBits = System.IO.Ports.StopBits.Two
            '
            ' statusStrip1
            '
            Me.statusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripStatusLabel1})
            Me.statusStrip1.Location = New System.Drawing.Point(0, 244)
            Me.statusStrip1.Name = "statusStrip1"
            Me.statusStrip1.Size = New System.Drawing.Size(292, 22)
            Me.statusStrip1.TabIndex = 7
            Me.statusStrip1.Text = "statusStrip1"
            '
            ' textBox_visualizar_mensaje
            '
            Me.textBox_visualizar_mensaje.Anchor = DirectCast(((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) Or System.Windows.Forms.AnchorStyles.Left) Or System.Windows.Forms.AnchorStyles.Right)), System.Windows.Forms.AnchorStyles)
            Me.textBox_visualizar_mensaje.Location = New System.Drawing.Point(0, 162)
            Me.textBox_visualizar_mensaje.Multiline = True
            Me.textBox_visualizar_mensaje.Name = "textBox_visualizar_mensaje"
            Me.textBox_visualizar_mensaje.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
            Me.textBox_visualizar_mensaje.Size = New System.Drawing.Size(292, 82)
            Me.textBox_visualizar_mensaje.TabIndex = 6
            '
            ' label_mensaje_pic
            '
            Me.label_mensaje_pic.AutoSize = True
            Me.label_mensaje_pic.Location = New System.Drawing.Point(25, 146)
            Me.label_mensaje_pic.Name = "label_mensaje_pic"
            Me.label_mensaje_pic.Size = New System.Drawing.Size(110, 13)
            Me.label_mensaje_pic.TabIndex = 5
            Me.label_mensaje_pic.Text = "Mensaje desde el PIC"
            '
            ' timer1
            '
            Me.timer1.Enabled = True
            Me.timer1.Interval = 1000
            AddHandler Me.timer1.Tick, AddressOf Me.timer1_Tick
            '
            ' toolStripStatusLabel1
            '
            Me.toolStripStatusLabel1.Name = "toolStripStatusLabel1"
            Me.toolStripStatusLabel1.Size = New System.Drawing.Size(53, 17)
            Me.toolStripStatusLabel1.Text = "hh:mmTongue Tieds"
            '
            ' Form1_Principal
            '
            Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0F, 13.0F)
            Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
            Me.ClientSize = New System.Drawing.Size(292, 266)
            Me.Controls.Add(Me.label_mensaje_pic)
            Me.Controls.Add(Me.textBox_visualizar_mensaje)
            Me.Controls.Add(Me.statusStrip1)
            Me.Controls.Add(Me.button_Espacio)
            Me.Controls.Add(Me.button_l)
            Me.Controls.Add(Me.button_a)
            Me.Controls.Add(Me.button_b)
            Me.Controls.Add(Me.button_t)
            Me.Name = "Form1_Principal"
            Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
            Me.Text = "PicRS232"
            Me.statusStrip1.ResumeLayout(False)
            Me.statusStrip1.PerformLayout()
            Me.ResumeLayout(False)
            Me.PerformLayout()

        End Sub

#End Region

        Private button_t As System.Windows.Forms.Button
        Private button_b As System.Windows.Forms.Button
        Private button_a As System.Windows.Forms.Button
        Private button_l As System.Windows.Forms.Button
        Private button_Espacio As System.Windows.Forms.Button
        Private serialPort1 As System.IO.Ports.SerialPort
        Private statusStrip1 As System.Windows.Forms.StatusStrip
        Private textBox_visualizar_mensaje As System.Windows.Forms.TextBox
        Private label_mensaje_pic As System.Windows.Forms.Label
        Private timer1 As System.Windows.Forms.Timer
        Private toolStripStatusLabel1 As System.Windows.Forms.ToolStripStatusLabel
    End Class


End Namespace


Al ejecutar me sale error:
Error    1    El delegado 'System.EventHandler' requiere una expresión 'AddressOf' o una expresión lambda como único argumento de su constructor.    C:\Documents and Settings\Hunter\Mis documentos\Visual Studio 2008\Projects\prueba1\prueba1\Form1.vb    34    40    prueba1

Otro error.
Error    2    'Form1' no es un miembro de 'prueba1'.    C:\Documents and Settings\Hunter\Mis documentos\Visual Studio 2008\Projects\prueba1\prueba1\My Project\Application.Designer.vb    35    27    prueba1

'------------------------------------------------------------------------------
' <auto-generated>
'     This code was generated by a tool.
'     Runtime Version:2.0.50727.3053
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------

Option Strict On
Option Explicit On


Namespace My
   
    'NOTE: This file is auto-generated; do not modify it directly.  To make changes,
    ' or if you encounter build errors in this file, go to the Project Designer
    ' (go to Project Properties or double-click the My Project node in
    ' Solution Explorer), and make changes on the Application tab.
    '
    Partial Friend Class MyApplication
       
        <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Public Sub New()
            MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
            Me.IsSingleInstance = false
            Me.EnableVisualStyles = true
            Me.SaveMySettingsOnExit = true
            Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
        End Sub
       
        <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Protected Overrides Sub OnCreateMainForm()
            Me.MainForm = Global.PicRS232.Form1
        End Sub
    End Class
End Namespace


Necesito ayuda.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Hadess_inf


Meta

#2
Cita de: Hadess_inf en 22 Diciembre 2008, 16:35 PM
Link roto: http://electronicapic.iespana.es/manual/picrs232.pdf

Hola:

No está roto. Pon ese enlace otra vez en el navegador y funciona. Lo acaba de probar y me funciona, eso si, tarda en cargar porque son 20,1 MB en PDF.

Si no puedes en tu navegador, aquí hay otro enlace para verlo, pero si quieres el PDF, tienes que registrarte si no lo está ya.
Ver manual
http://www.slideshare.net/Metaconta/pic-rs232-puerto-serie-con-pic16f84a-presentation

Saludo.

EDITO:
Aquí también te la puedes bajar. El autor de la web abcdatos me lo recomendó colocar mis manuales ahí.

http://www.abcdatos.com/tutoriales/tutorial/z9521.html

Si ya puedes descargarlo me avisa para saberlo.

Gracias por tu tiempo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/