Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: oJosLoCos en 17 Julio 2009, 13:04 pm



Título: Duda Ejecucion de 2 acciones apretando un mismo boton
Publicado por: oJosLoCos en 17 Julio 2009, 13:04 pm
Buenas , tengo un problema

Estoy desarroyando un programa que resuelva ecuaciones de primer grado.

De forma sencilla tengo Ax +  B = C
Teniendo en cuenta que B puede tener distintos signos , ya sea + , - , / , *

Apretando un boton , un comand buton desos , quiero que aparezca el resultado de la operacion , dependiendo del signo escogido , en 2 cuadros distintos.

Me refiero a : Ax + B = C
                   Ax - B = C-B
Quedando el resultado , debajo , en 2 cajas de texto nuevas , una  acada lado del igual. Un mismo boton , deve hacer que salgan esos resultados en las 2 cajas.
eL PROBLEMA esta en que lo he escrito de esta forma :

Private Sub Command1_Click()
If cboSignoB = "+" Then
txtB2.Text = Val(txtB.Text) - Val(txtB.Text) 'eliminar B del lado izquierdo

txtC2.Text = Val(txtC.Text) - Val(txtB.Text) 'Pasar restando al lado derecho
ElseIf cboSignoB = "-" Then
txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
ElseIf cboSignoB = "/" Then
txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
ElseIf cboSignoB = "*" Then
txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
End If
End Sub

Pero no lo hace , me salta un error . Nose si es porque un mismo boton no puede efectuar 2 cosas a la vez o porque hay que separar una accion de la otra.

Alguna sugerencia?


Título: Re: Duda Ejecucion de 2 acciones apretando un mismo boton
Publicado por: Karcrack en 17 Julio 2009, 13:10 pm
Que es exactamente este control? cboSignoB Es un ComboBox? Si es así creo que no lo lees bien :silbar:

Por cierto, podrías utilizar un SelectCase...

Código
  1.    Select Case Signo
  2.        Case "+"
  3.            bla
  4.        Case "-"
  5.            bla
  6.        Case "*"
  7.            bla
  8.        Case "\"
  9.            bla
  10.    End Select


Título: Re: Duda Ejecucion de 2 acciones apretando un mismo boton
Publicado por: oJosLoCos en 17 Julio 2009, 13:34 pm
case en vez de if , ok , provare aver si asi funciona , pero aun asi nose si sabra identificar 2 ordenes.

Si es un comandbuton.  Al aPRETARLE me devera hacer 2 operaciones distintas ,una para el txtA2 , y otra para el txtB2 , osea para que salgan los resultados en esas 2 cajas de texto.  Es posible? o cada comandbuton deve efectuar solo una cosa.


Título: Re: Duda Ejecucion de 2 acciones apretando un mismo boton
Publicado por: Karcrack en 17 Julio 2009, 13:40 pm
case en vez de if , ok , provare aver si asi funciona , pero aun asi nose si sabra identificar 2 ordenes.

Si es un comandbuton.  Al aPRETARLE me devera hacer 2 operaciones distintas ,una para el txtA2 , y otra para el txtB2 , osea para que salgan los resultados en esas 2 cajas de texto.  Es posible? o cada comandbuton deve efectuar solo una cosa.

Es un CommandButton puedes hacer tantas acciones como quieras...

Pero mi pregunta era de donde sacas el signo? De un ComboBox?


Título: Re: Duda Ejecucion de 2 acciones apretando un mismo boton
Publicado por: oJosLoCos en 17 Julio 2009, 13:55 pm
Si , es un combox , es una lista donde estan los signos para escoger.



Título: Re: Duda Ejecucion de 2 acciones apretando un mismo boton
Publicado por: Karcrack en 17 Julio 2009, 14:06 pm
Si , es un combox , es una lista donde estan los signos para escoger.


Estonces tienes que hacerlo asi:
Código
  1. Private Sub Command1_Click()
  2.    Select Case cboSignoB.List(cboSignoB.ListIndex)
  3.        Case "+"
  4.            txtB2.Text = Val(txtB.Text) - Val(txtB.Text) 'eliminar B del lado izquierdo
  5.            txtC2.Text = Val(txtC.Text) - Val(txtB.Text) 'Pasar restando al lado derecho
  6.        Case "-"
  7.            txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
  8.        Case "/"
  9.            txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
  10.        Case "*"
  11.            txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
  12.    End Select
  13. End Sub


Título: Re: Duda Ejecucion de 2 acciones apretando un mismo boton
Publicado por: oJosLoCos en 17 Julio 2009, 21:43 pm
Puesto asi sigue dando error , no hay una manera de separar las acciones?

Me refiero a
Case "+"
            txtB2.Text = Val(txtB.Text) - Val(txtB.Text) 'eliminar B del lado izquierdo
            txtC2.Text = Val(txtC.Text) - Val(txtB.Text) 'Pasar rest

ai 2 acciones en esas 2 lineas , no es necesario separarlas?