Autor Tema: Visual Basic.net  (Leído 3687 veces)

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

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Visual Basic.net
« en: 08 de Julio de 2009, 10:23:06 »
este hilo queria dedicarlo a introducir programas de Vbasic.net
ya que realize otro dedicado a (smartdevices) y no queria mezclarlos.

asi que lo primero que posteare es una forma muy basica de leer los caracteres que enviemos por el hiperterminal de windows.
para eso insertaremos  un Bottom y un TextBox en el formulario y escribiremos las lineas de abajo haciendo doble clic en el Bottom.ademas de abrir el puerto con las lines de abajo.pero claro hay que configurar los puertos com.en las propiedades de eventos de SerialPort.y en el hiperterminal.y como no!
hay que utilizar un emulador de puerto com.a no ser que la comunicacion la realicemos desde el exterior con otro puerto com.ya sea el usado por el bluetooth o algun adaptador usb-rs232.
yo estoy usando el VSPE.creo el puerto y me conecto con el hiperterminal.y veremos como al ejecutar el programa en Vbasic.recibiremos la tecla pulsada en el TextBox del formulario.

aqui estan las lineas de codigo:

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If SerialPort1.IsOpen = False Then SerialPort1.Open()

    End Sub
   
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
repite:
        TextBox1.Text = Chr(SerialPort1.ReadByte)
        GoTo repite
    End Sub
End Class
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Visual Basic.net
« Respuesta #1 en: 08 de Julio de 2009, 17:50:11 »
este codigo manda los caracteres que escribamos en un TextBox cuando pulsemos el boton .al hiperterminal de windows.

en el codigo de abajo,se pondran los mismos componentes que arriva.un TextBox y un Bottom.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If SerialPort1.IsOpen = False Then SerialPort1.Open()

    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      SerialPort1.Write(CStr(TextBox1.Text))

    End Sub
End Class
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Visual Basic.net
« Respuesta #2 en: 17 de Agosto de 2009, 13:20:09 »
hola.se me presenta un problema en .net

resulta que en vb6 para identificar los botton utilizando el index.funcionava de una manera y ahora no se como hacerlo en .net
abajo pongo el codigo en vb6:

Private Sub Command1_Click(Index As Integer)
If Index = 0 And MSComm1.PortOpen = True Then MSComm1.Output = "$PRIMERO1#"
If Index = 1 And MSComm1.PortOpen = True Then MSComm1.Output = "$SEGUNDO2#"
If Index = 2 And MSComm1.PortOpen = True Then MSComm1.Output = "$TERCERO3#"
If Index = 3 And MSComm1.PortOpen = True Then MSComm1.Output = "$CUARTOO4#"
If Index = 4 And MSComm1.PortOpen = True Then MSComm1.Output = "$QUINTOO5#"
If Index = 5 And MSComm1.PortOpen = True Then MSComm1.Output = "$SEXTOOO6#"
If Index = 6 And MSComm1.PortOpen = True Then MSComm1.Output = "$SEPTIMO7#"
If Index = 7 And MSComm1.PortOpen = True Then MSComm1.Output = "$OCTAVOO8#"
   
End Sub

como puedo usar un valor index en .net?
ya que no veo la forma de duplicar un botton.ni veo el valor index.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Visual Basic.net
« Respuesta #3 en: 17 de Agosto de 2009, 14:43:07 »
Hola a mi me pasó lo mismo, pero no encontré forma directa de solucionarlo.

Podrías usar un objeto tipo Lista en el que agregas cada Button y después ya llamarlos por índice de la Lista.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Visual Basic.net
« Respuesta #4 en: 03 de Octubre de 2009, 20:14:18 »
pues me decidi a buscar la solucion.y tras muchas horas de trabajo he encontrado un sustituto del index. es la propiedad de evento TabIndex.
aqui esta el codigo:


Public Class Form1
    Dim btn As Button

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        btn = CType(sender, Button)
        Call button()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        btn = CType(sender, Button)
        Call button()
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        btn = CType(sender, Button)
        Call button()
    End Sub

    Private Sub button()
        If btn.TabIndex = 1 Then MsgBox("1")
        If btn.TabIndex = 2 Then MsgBox("2")
        If btn.TabIndex = 3 Then MsgBox("3")
    End Sub

   
End Class
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Visual Basic.net
« Respuesta #5 en: 03 de Octubre de 2009, 20:39:59 »
o tambien podemos simplificarlo:

Public Class Form1
    Dim boton As Button


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
       
        boton = CType(sender, Button)
        If boton.TabIndex = 1 Then MsgBox("1")
        If boton.TabIndex = 2 Then MsgBox("2")
        If boton.TabIndex = 3 Then MsgBox("3")

    End Sub
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Visual Basic.net
« Respuesta #6 en: 03 de Octubre de 2009, 22:59:01 »
Es una solución más elegante que la lista, gracias por avisarnos Groundman.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Visual Basic.net
« Respuesta #7 en: 04 de Octubre de 2009, 16:57:57 »
para eso estamos.para ayudarnos a aprender. :)

y ahora pongo unas lineas de codigo para que cuando se abra la aplicacion.no podamos modificar el tamaño del formulario.y tampoco maximizarlo.
algo que es muy frecuente utilizar en nuestras aplicaciones de electronica.aunque no son necesarias si modificamos las propiedades del formulario mientras
realizamos nuestra aplicacion.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       
        AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink       'deshabilita la modificacion del formulario
        MaximizeBox = False                                                                    'deshabilita la opcion de maximizar el formulario

    End Sub

Montando mi primera impresora 3D (Raprep Prusa i3)


 

anything