codigo de dos botones de una calculadora

Iniciado por ‭lipman, 5 Noviembre 2006, 01:41 AM

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

‭lipman

Bueno, por ahora solo tengo de dos botones, y creo que algo de ellos lo tengo mal, aquí les dejo el código del botón de borrar:

Private Sub Borrar_Click()
PrimerOperando.Text = «»
SegundoOperando.Text = «»
MostrarResultado.Caption = 0
PrimerOperando.SetFocus
End Sub


Aquí el del botón calcular

Private Sub Calcular_Click()
Dim Operador As String
If PrimerOperando.Text = "Or SegundoOperando.Text= " Then
MsgBox ("Falta algún operando")
Exit Sub
End If
If Sumar.Value = True Then MostrarResultado.Caption = Val(PrimerOperando.Text) + ""
Val (SegundoOperando.Text)
If Restar.Value = True Then MostrarResultado.Caption = Val(PrimerOperando.Text) - ""
Val (SegundoOperando.Text)
If Multiplicar.Value = True Then
MostrarResultado.Caption = Val(PrimerOperando.Text)
Val (SegundoOperando.Text)
If Dividir.Value = True Then
If Val(SegundoOperando.Text) = 0 Then
MsgBox ("No se puede dividir entre 0")
Exit Sub
End If
MostrarResultado.Caption = Val(PrimerOperando.Text) / Val(SegundoOperando.Text)
End If
If Añadir.Text = "Añadir a la lista" Then
If Operacion.Value = True Then
If Sumar.Value = True Then Operador = "+"
If Restar.Value = True Then Operador = "-"
If Multiplicar.Value = True Then Operador = "*"
If Dividir.Value = True Then Operador = "/"
ListaOperaciones.AddItem PrimerOperando.Text & Operador & SegundoOperando.Text & "=" & MostrarResultado.Caption
Else
ListaOperaciones.AddItem
MostrarResultado.Caption
End If
End If

End Sub

¿Por que se que tengo algo mal?
Bueno, al ser la primera vez que lo hago, al no funcionarme nada y al no dejarme compilarlo en exe, pues algo falla ^^

Me gustaria saber que tengo mal y por que. Gracias

Les recuerdo que estoy empezando en esto ^^

Saludos y gracias

Snort

Private Sub Calcular_Click()
Dim Operador As String
If PrimerOperando.Text = 0 or SegundoOperando.Text= 0 Then
MsgBox ("Falta algún operando")
Exit Sub
End If
If Sumar.Value = True Then MostrarResultado.Caption = Val(PrimerOperando.Text) +
Val (SegundoOperando.Text)
If Restar.Value = True Then MostrarResultado.Caption = Val(PrimerOperando.Text) -
Val (SegundoOperando.Text)
If Multiplicar.Value = True Then
MostrarResultado.Caption = Val(PrimerOperando.Text) *
Val (SegundoOperando.Text)
If Dividir.Value = True Then
If Val(SegundoOperando.Text) = 0 Then
MsgBox ("No se puede dividir entre 0")
else
MostrarResultado.Caption = Val(PrimerOperando.Text) /
Val (SegundoOperando.Text)
End If
If Añadir.Text = "Añadir a la lista" Then
If Operacion.Value = True Then
If Sumar.Value = True Then Operador = "+"
If Restar.Value = True Then Operador = "-"
If Multiplicar.Value = True Then Operador = "*"
If Dividir.Value = True Then Operador = "/"
ListaOperaciones.AddItem PrimerOperando.Text & Operador & SegundoOperando.Text & "=" & MostrarResultado.Caption
Else
ListaOperaciones.AddItem
MostrarResultado.Caption
End If
End If
End Sub


Mira a ver si te funciona asi el codigo, esqe para ser una calculadora tiene un puñao de comandos, de objetos y cajas de texto qe no hacen falta. Si no te funciona el codigo postea los nombres de los onjetos diciendo lo qe son y ya te paso un codigo qe funcione, por ejemplo.........PrimerOperador - text
Porqe esqe tienes mucho mareo de objetos.
Saludos

‭lipman

#2
Cita de: Snort en  5 Noviembre 2006, 11:13 AM
Private Sub Calcular_Click()
Dim Operador As String
If PrimerOperando.Text = 0 or SegundoOperando.Text= 0 Then
MsgBox ("Falta algún operando")
Exit Sub
End If
[*]If Sumar.Value = True Then MostrarResultado.Caption = Val(PrimerOperando.Text) +[/*]
Val (SegundoOperando.Text)
[*]If Restar.Value = True Then MostrarResultado.Caption = Val(PrimerOperando.Text) - [/*]
Val (SegundoOperando.Text)
If Multiplicar.Value = True Then
[*]MostrarResultado.Caption = Val(PrimerOperando.Text) *[/*]
Val (SegundoOperando.Text)
If Dividir.Value = True Then
If Val(SegundoOperando.Text) = 0 Then
MsgBox ("No se puede dividir entre 0")
else
[*]MostrarResultado.Caption = Val(PrimerOperando.Text) /[/*]
Val (SegundoOperando.Text)
End If
If Añadir.Text = "Añadir a la lista" Then
If Operacion.Value = True Then
If Sumar.Value = True Then Operador = "+"
If Restar.Value = True Then Operador = "-"
If Multiplicar.Value = True Then Operador = "*"
If Dividir.Value = True Then Operador = "/"
ListaOperaciones.AddItem PrimerOperando.Text & Operador & SegundoOperando.Text & "=" & MostrarResultado.Caption
Else
ListaOperaciones.AddItem
MostrarResultado.Caption
End If
End If
End Sub


Las lineas que he puesto entre [ *] y [/*] significa que me salen en rojo.

Bueno, es que estoy siguiendo un tutorial, y supongo que la calculadora "ideal" no tiene tantas cosas, pero como es un tutorial, supongo que pretende enseñarme varias cosas dentro de un mismo objeto.

Bueno, aquí tienes la apariencia de la calculadora con sus "(Nombre)"



Empezaré de arriba a abajo:

Nombre del form: Form1
Nombre de calculadora: Label1
Nombre de Primer Operando: Label2
Nombre de Segundo Operando: Label3
Nombre de Resultado: Label4
Nombre de la caja de abajo de primer operando: PrimerOperando
Nombre de la caja de abajo de segundo operando: SegundoOperando
Nombre del label de abajo del resultado: MostrarResultado
Nombre del OptionBox de sumar: Sumar
(Lo mismo con los 3 OptionBox de abajo: Restar, Multiplicar y Dividir)
Nombre del igual: Image1
Nombre de borrar: Borrar
Nombre de Calcular: Calcular
Nombre de lista de operaciones: Label5
Nombre del listbox de debajo de la lista de operaciones: ListaOperaciones
Nombre del frame de su derecha: Frame1
Nombre de 1er optionbuton del Frame1: Resultado
Nombre del 2do optionbuton del Frame1: Operacion
Nombre de operaciones con la lista: Label6
Nombre del combobox de abajo de operaciones con la lista: Añadir

Creo que no me dejo nada ^^.

Muchas gracias, y adios

Snort

   Vamos a ver, lo primero es qe eso de option box no lo habia oido en la vida, e buskao en google un pokillo i komo no abia kasi nada por no decir nada de info decente, te los he sustituido por optionbuttons (Mas sencillo), y el codigo ya funciona, tenias varios errores, por ejemplo en la suma ponias primervalor + "" + segundo valor, y no se pueden sumar nunmeros con "", aparte de que no tiene sentido, luego en la division se rallaba porqe primero miras si divide por cero, y luego operas y habian puestos 4 bloqes if y 3 end if independientes, por tanto faltaba uno i no hacia nada de todas formas.
Hasta aqi es para operar, luego la otra parte del codigo supongo qe sera para crear un log de las operaciones qe vas haciendo, no?
Esqe el texto "Añadir" no se cual es (If Añadir.Text = "Añadir a la lista" Then), Asi qe el codigo para qe tambien se vayan guardando las operaciones es:
Dim Operador As String
Private Sub Borrar_Click()
primeroperando.Text = «»
segundooperando.Text = «»
MostrarResultado.Caption = 0
primeroperando.SetFocus
End Sub
Private Sub Calcular_Click()
If primeroperando.Text = "" Or segundooperando.Text = "" Then
MsgBox ("Falta algún operando")
End If
If Operador = " + " Then
MostrarResultado.Caption = Val(primeroperando.Text) + Val(segundooperando.Text)
End If
If Operador = " - " Then
MostrarResultado.Caption = Val(primeroperando.Text) - Val(segundooperando.Text)
End If
If Operador = " x " Then
MostrarResultado.Caption = Val(primeroperando.Text) * Val(segundooperando.Text)
End If
If Operador = " / " Then
If Val(segundooperando.Text) = 0 Then
MsgBox ("No se puede dividir entre 0")
Else
MostrarResultado.Caption = Val(primeroperando.Text) / Val(segundooperando.Text)
End If
End If
ListaOperaciones.AddItem primeroperando.Text & Operador & segundooperando.Text & "=" & MostrarResultado.Caption
End Sub
Private Sub optDividir_Click()
Operador = " / "
End Sub
Private Sub optMultiplicar_Click()
Operador = " * "
End Sub
Private Sub optRestar_Click()
Operador = " - "
End Sub
Private Sub optSumar_Click()
Operador = " + "
End Sub


Esto ultimo de optNoseke_click son los option button qe como no  he encontrao los optionbox qe has dicho, pues te los he sustituido.
Asi, cada vex qe haces click en una opcion cambia la variable operador, y cuando va a calcular, mira la variable operador, y depende de su valor hace una cosa o otra.
   Por cierto los espacios qe tienen los operadores delante i detras son para qe se ven bonitos luego en la lista

Saludos, i espero averte ayudao, porqe los option box man costao su tiempo... xD

Jareth

Private Sub Command1_Click()

Dim Operador As String
If Primeroperando.Text = "" Or Segundooperando.Text = "" Then
MsgBox ("Falta algún operando")
Exit Sub
End If
If Sumar.Value = True Then mostrarresultado.Caption = Val(Primeroperando.Text) + Val(Segundooperando.Text)
If Restar.Value = True Then mostrarresultado.Caption = Val(Primeroperando.Text) - Val(Segundooperando.Text)
If Multiplicar.Value = True Then
mostrarresultado.Caption = Val(Primeroperando.Text) * Val(Segundooperando.Text)
If Dividir.Value = True Then
If Val(Segundooperando.Text) = 0 Then
MsgBox ("No se puede dividir entre 0")
Else
mostrarresultado.Caption = Val(Primeroperando.Text) / Val(Segundooperando.Text)
End If

End If
End If
End Sub


Asi te funcionara,por cierto eso de If Primeroperando.text=0 or segundoperando.text=0 then
msgbox ("faltan numeros") esta mal,te refieres asi está vacio porque se puede multiplicar por 0 y sumar.