Duda Ejecucion de 2 acciones apretando un mismo boton

Iniciado por oJosLoCos, 17 Julio 2009, 13:04 PM

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

oJosLoCos

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?
>>Visita Nuestra Informacion De GTA IV En * www.cdm.foros.ws *

Karcrack

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 (vb) [Seleccionar]
    Select Case Signo
        Case "+"
            bla
        Case "-"
            bla
        Case "*"
            bla
        Case "\"
            bla
    End Select

oJosLoCos

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.
>>Visita Nuestra Informacion De GTA IV En * www.cdm.foros.ws *

Karcrack

Cita de: 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.

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

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

oJosLoCos

Si , es un combox , es una lista donde estan los signos para escoger.

>>Visita Nuestra Informacion De GTA IV En * www.cdm.foros.ws *

Karcrack

Cita de: oJosLoCos en 17 Julio 2009, 13:55 PM
Si , es un combox , es una lista donde estan los signos para escoger.


Estonces tienes que hacerlo asi:
Código (vb) [Seleccionar]
Private Sub Command1_Click()
    Select Case cboSignoB.List(cboSignoB.ListIndex)
        Case "+"
            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
        Case "-"
            txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
        Case "/"
            txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
        Case "*"
            txtB2.Text = Val(txtB.Text) - Val(txtB.Text)
    End Select
End Sub

oJosLoCos

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?
>>Visita Nuestra Informacion De GTA IV En * www.cdm.foros.ws *