TODOPIC
Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: groundman 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
-
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
-
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.
-
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.
-
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
-
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
-
Es una solución más elegante que la lista, gracias por avisarnos Groundman.
-
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