Kioskea
Recherche
Haz una pregunta Denunciar

Hacer una calculadora en visual basic

arte202312 1Publicaciones miércoles, 27 de mayo de 2009Fecha de inscripción miércoles, 27 de mayo de 2009Última intervención - Última respuesta el 13 nov 2014, 14:28
Hola,
chicos necesito de su ayuda quiero hacer una calculadora en visual basic de excel 2003 pero como puedo hacer que en un textbox se inserte los numeros al apretar el commandbutton con el numero asignado de manera concatenada la calculadora la quiero hacer igual p parecida a la de windows xp o vista
Seguir leyendo 
Respuesta
+199
moins plus
Primero inserta 6 Command Button, 3 TextBox y 3 Label

Los command Button deberan llevar el siguiente "Caption":

Limpiar, sumar, restar, multiplicar, dividir y salir.

Las 3 Labels deberan in encima de cada TextBoxt. Dejalas sin Nombre.

Aqui esta el codigo de una calculadora sencilla en Visual Basic 6.0

Private Sub Form_Load()
Label1.Caption = "1 Numero"
Label2.Caption = "2 Numero"
Label3.Caption = "Resultado"
End Sub

Private Sub Cerrar_Click()
Unload Me
End Sub

Private Sub Command1_Click()
Text3.Text = Text1.Text * Text2.Text
End Sub

Private Sub Dividir_Click()
Text3.Text = Text1.Text / Text2.Text
End Sub

Private Sub Limpiar_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub

Private Sub RESTAR_Click()
Text3.Text = Text1.Text - Text2.Text
End Sub

Private Sub Sumar_Click()
Text3.Text = Val(Text1.Text) + Val(Text2.Text)
End Sub
qt- 9 oct 2012, 19:39
olle no esque yo no tenga dinero para comprar si no que es una tarea que nos dejaro para invetijar como la vez ;) cuadrada dinero me sobra para comprar villones de calculadoras cientificas jajajajaajaj
Responder
Pat- 15 nov 2012, 02:10
es una calculadora muy simple, pero los ayudaste! =)
Responder
masters- 11 dic 2012, 20:20
esta calculadora no llena mis espectativas de verdad pense que se venia un codigo maestro .
Mi hermanito que tiene 10 años lo hizo primero que usted que triste
Responder
nereida- 8 abr 2013, 04:22
mmmmm si muy inportante como no entendia jjajajajj
Responder
pepe- 17 jun 2013, 13:06
esto no sirve
Responder
Deja tu comentario
Respuesta
+85
moins plus
Private Sub cmd0_Click()
Clear
Text1.Text = Text1.Text & "0"
End Sub

Private Sub cmd1_Click()
Clear
Text1.Text = Text1.Text & "1"
End Sub

Private Sub cmd2_Click()
Clear
Text1.Text = Text1.Text & "2"
End Sub

Private Sub cmd3_Click()
Clear
Text1.Text = Text1.Text & "3"
End Sub

Private Sub cmd4_Click()
Clear
Text1.Text = Text1.Text & "4"
End Sub

Private Sub cmd5_Click()
Clear
Text1.Text = Text1.Text & "5"
End Sub

Private Sub cmd6_Click()
Clear
Text1.Text = Text1.Text & "6"
End Sub

Private Sub cmd7_Click()
Clear
Text1.Text = Text1.Text & "7"
End Sub

Private Sub cmd8_Click()
Clear
Text1.Text = Text1.Text & "8"
End Sub

Private Sub cmd9_Click()
Clear
Text1.Text = Text1.Text & "9"
End Sub

Private Sub cmdback_Click()
Text1.Text = StrReverse(Mid(StrReverse(Text1.Text), 2))
End Sub

Private Sub cmdc_Click()
Form_Load
End Sub

Private Sub cmdce_Click()
Text1.Text = ""
End Sub

Private Sub cmdinverse_Click()
If Text1 <> "0" And Text1 <> "" Then
Text1.Text = 1 / (Val(Text1.Text))
Else
MsgBox "División por cero"
End If
End Sub

Private Sub cmdmc_Click()
M = 0
lblmem.Caption = ""
End Sub

Private Sub cmdmp_Click()
M = M + Val(Text1.Text)
lblmem.Caption = "M"
End Sub

Private Sub cmdmr_Click()

Text1.Text = M
End Sub

Private Sub cmdms_Click()
M = Text1.Text
lblmem.Caption = "M"
End Sub

Private Sub cmdpoint_Click()
Text1.Text = Text1.Text & "."
End Sub

Private Sub cmdsign_Click()
If blnsign = False Then
Text1.Text = "-" & Text1.Text
blnsign = True
Else
Text1.Text = Val(Mid(Text1.Text, 2))
blnsign = False
End If

End Sub


Private Sub cmdadd_Click()
Cal
Flag = "add"
End Sub


Private Sub cmdminus_Click()
Cal
Flag = "minus"
End Sub

Private Sub cmdmultiply_Click()
Cal
Flag = "multiply"
End Sub

Private Sub cmddivide_Click()
Cal
Flag = "divide"
End Sub


Private Sub cmdequal_Click()

Select Case Flag
Case "add"
C = A + Val(Text1.Text)
Text1.Text = C
Case "divide"
C = A / Val(Text1.Text)
Text1.Text = C
Case "multiply"
C = A * Val(Text1.Text)
Text1.Text = C
Case "minus"
C = A - Val(Text1.Text)
Text1.Text = C
End Select

Flag = ""
A = 0
B = 0
C = 0

End Sub


Private Sub cmdsqrt_Click()
Text1.Text = Sqr(Text1.Text)
End Sub


Private Sub Form_Load()
'mnuItemPaste.Enabled = False
Text1.Text = ""
A = 0
B = 0
C = 0
M = 0
Flag = ""
blnsign = False
Cl = False
End Sub

Private Sub mnuItemCopy_Click()
mnuItemPaste.Enabled = True
End Sub

luego en un modulo****************************************


Public A As Double
Public B As Double
Public C As Double
Public M As Double
Public Flag As String
Public Cl As Boolean
Public blnsign As Boolean



Sub Clear()
If Cl = True Then
Form1.Text1.Text = ""
Cl = False
End If
End Sub

Sub Cal()
Select Case Flag
Case "add"
A = A + Val(Form1.Text1.Text)
Case "minus"
A = A - Val(Form1.Text1.Text)
Case "multiply"
A = A * Val(Form1.Text1.Text)
Case "divide"
If Val(Form1.Text1.Text) <> 0 Then A = A / Val(Form1.Text1.Text)
Case Else
A = Val(Form1.Text1.Text)
End Select

Form1.Text1.Text = A
Cl = True

End Sub
diego- 30 mar 2011, 18:11
en este formatoo!!! ¬¬'
Responder
;D- 20 abr 2011, 20:48
no mmz el formato se pone solo ala hora de guardarlo!! bueii!!
Responder
LOL- 4 oct 2011, 17:40
formato? XDDDD csm epic fail...D:
Responder
Vico- 13 abr 2012, 21:41
se mir4 f4cil
Responder
tecnico- 18 mar 2013, 15:11
nde se coloca estyo?
Responder
Deja tu comentario
Respuesta
+33
moins plus
Primero inserta 6 Command Button, 3 TextBox y 3 Label

Los command Button deberan llevar el siguiente "Caption":

Limpiar, sumar, restar, multiplicar, dividir y salir.

Las 3 Labels deberan in encima de cada TextBoxt. Dejalas sin Nombre.

Aqui esta el codigo de una calculadora sencilla en Visual Basic 6.0

Private Sub Form_Load()
Label1.Caption = "1 Numero"
Label2.Caption = "2 Numero"
Label3.Caption = "Resultado"
End Sub

Private Sub Cerrar_Click()
Unload Me
End Sub

Private Sub Command1_Click()
Text3.Text = Text1.Text * Text2.Text
End Sub

Private Sub Dividir_Click()
Text3.Text = Text1.Text / Text2.Text
End Sub

Private Sub Limpiar_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub

Private Sub RESTAR_Click()
Text3.Text = Text1.Text - Text2.Text
End Sub

Private Sub Sumar_Click()
Text3.Text = Val(Text1.Text) + Val(Text2.Text)
End Sub
flakisa- 20 sep 2011, 19:05
como 0obtengo la formula de un boton
PARA K sea el resultado
Responder
mari- 19 may 2012, 21:50
como encuentro la formula de la caja de texto y me de el resultado de la operacion de una calculadora en visual basic
Responder
juan- 13 jul 2012, 18:58
jajaj estan padres todos jejej
Responder
roberto- 28 feb 2013, 02:44
yo no entiendo donde hay que poner cada cosa me ayudan en eso?
Responder
MAINE- 13 nov 2014, 14:28
Hola A TODOS
Responder
Deja tu comentario
Respuesta
+21
moins plus
Private Sub cmd0_Click()
Clear
Text1.Text = Text1.Text & "0"
End Sub

Private Sub cmd1_Click()
Clear
Text1.Text = Text1.Text & "1"
End Sub

Private Sub cmd2_Click()
Clear
Text1.Text = Text1.Text & "2"
End Sub

Private Sub cmd3_Click()
Clear
Text1.Text = Text1.Text & "3"
End Sub

Private Sub cmd4_Click()
Clear
Text1.Text = Text1.Text & "4"
End Sub

Private Sub cmd5_Click()
Clear
Text1.Text = Text1.Text & "5"
End Sub

Private Sub cmd6_Click()
Clear
Text1.Text = Text1.Text & "6"
End Sub

Private Sub cmd7_Click()
Clear
Text1.Text = Text1.Text & "7"
End Sub

Private Sub cmd8_Click()
Clear
Text1.Text = Text1.Text & "8"
End Sub

Private Sub cmd9_Click()
Clear
Text1.Text = Text1.Text & "9"
End Sub

Private Sub cmdback_Click()
Text1.Text = StrReverse(Mid(StrReverse(Text1.Text), 2))
End Sub

Private Sub cmdc_Click()
Form_Load
End Sub

Private Sub cmdce_Click()
Text1.Text = ""
End Sub

Private Sub cmdinverse_Click()
If Text1 <> "0" And Text1 <> "" Then
Text1.Text = 1 / (Val(Text1.Text))
Else
MsgBox "División por cero"
End If
End Sub

Private Sub cmdmc_Click()
M = 0
lblmem.Caption = ""
End Sub

Private Sub cmdmp_Click()
M = M + Val(Text1.Text)
lblmem.Caption = "M"
End Sub

Private Sub cmdmr_Click()

Text1.Text = M
End Sub

Private Sub cmdms_Click()
M = Text1.Text
lblmem.Caption = "M"
End Sub

Private Sub cmdpoint_Click()
Text1.Text = Text1.Text & "."
End Sub

Private Sub cmdsign_Click()
If blnsign = False Then
Text1.Text = "-" & Text1.Text
blnsign = True
Else
Text1.Text = Val(Mid(Text1.Text, 2))
blnsign = False
End If

End Sub


Private Sub cmdadd_Click()
Cal
Flag = "add"
End Sub


Private Sub cmdminus_Click()
Cal
Flag = "minus"
End Sub

Private Sub cmdmultiply_Click()
Cal
Flag = "multiply"
End Sub

Private Sub cmddivide_Click()
Cal
Flag = "divide"
End Sub


Private Sub cmdequal_Click()

Select Case Flag
Case "add"
C = A + Val(Text1.Text)
Text1.Text = C
Case "divide"
C = A / Val(Text1.Text)
Text1.Text = C
Case "multiply"
C = A * Val(Text1.Text)
Text1.Text = C
Case "minus"
C = A - Val(Text1.Text)
Text1.Text = C
End Select

Flag = ""
A = 0
B = 0
C = 0

End Sub


Private Sub cmdsqrt_Click()
Text1.Text = Sqr(Text1.Text)
End Sub


Private Sub Form_Load()
'mnuItemPaste.Enabled = False
Text1.Text = ""
A = 0
B = 0
C = 0
M = 0
Flag = ""
blnsign = False
Cl = False
End Sub

Private Sub mnuItemCopy_Click()
mnuItemPaste.Enabled = True
End Sub

luego en un modulo****************************************


Public A As Double
Public B As Double
Public C As Double
Public M As Double
Public Flag As String
Public Cl As Boolean
Public blnsign As Boolean



Sub Clear()
If Cl = True Then
Form1.Text1.Text = ""
Cl = False
End If
End Sub

Sub Cal()
Select Case Flag
Case "add"
A = A + Val(Form1.Text1.Text)
Case "minus"
A = A - Val(Form1.Text1.Text)
Case "multiply"
A = A * Val(Form1.Text1.Text)
Case "divide"
If Val(Form1.Text1.Text) <> 0 Then A = A / Val(Form1.Text1.Text)
Case Else
A = Val(Form1.Text1.Text)
End Select

Form1.Text1.Text = A
Cl = True

End Sub
mike- 24 jun 2011, 05:06
mejor demen el el archivo para descargar
Responder
mike me la chupa- 19 jul 2011, 06:10
mike me la chupas uevon d mier
Responder
DioZ- 2 nov 2011, 02:03
Private Sub Combo1_Change()
Form2
End Sub

Private Sub Command1_Click()
Text1.Text = Text1.Text & "1"
End Sub

Private Sub Command10_Click()
Text1.Text = Text1.Text & "0"
End Sub

Private Sub Command11_Click()
Label1.Caption = Text1.Text
Label2.Caption = "/"
Text1.Text = ""
End Sub

Private Sub Command12_Click()
Label1.Caption = Text1.Text
Label2.Caption = "*"
Text1.Text = ""
End Sub

Private Sub Command13_Click()
Label1.Caption = Text1.Text
Label2.Caption = "-"
Text1.Text = ""
End Sub

Private Sub Command14_Click()
Label1.Caption = Text1.Text
Label2.Caption = "+"
Text1.Text = ""
End Sub

Private Sub Command15_Click()
If Label2.Caption = "+" Then
Label2.Caption = Label2.Caption & Text1.Text
Text1.Text = Val(Label1.Caption) + Val(Text1.Text)
Else
If Label2.Caption = "-" Then
Label2.Caption = Label2.Caption & Text1.Text
Text1.Text = Val(Label1.Caption) - Val(Text1.Text)
Else
If Label2.Caption = "*" Then
Label2.Caption = Label2.Caption & Text1.Text
Text1.Text = Val(Label1.Caption) * Val(Text1.Text)
Else
If Label2.Caption = "/" Then
Label2.Caption = Label2.Caption & Text1.Text
Text1.Text = Val(Label1.Caption) / Val(Text1.Text)
End If
End If
End If
End If
End Sub



Private Sub Command16_Click()
Text1.Text = ""
Label1.Caption = ""
Label2.Caption = ""
End Sub

Private Sub Command17_Click()
Text1.Text = ""
End Sub

Private Sub Command18_Click()
Label3.Caption = Text1.Text
End Sub

Private Sub Command19_Click()
Text1.Text = Label3.Caption
End Sub

Private Sub Command2_Click()
Text1.Text = Text1.Text & "2"
End Sub

Private Sub Command20_Click()
Label3.Caption = ""
End Sub

Private Sub Command21_Click()
Label4.Caption = Text1.Text
End Sub

Private Sub Command22_Click()
Text1.Text = Label4.Caption
End Sub

Private Sub Command23_Click()
Label4.Caption = ""
End Sub

Private Sub Command24_Click()

End Sub

Private Sub Command3_Click()
Text1.Text = Text1.Text & "3"
End Sub

Private Sub Command4_Click()
Text1.Text = Text1.Text & "4"
End Sub

Private Sub Command5_Click()
Text1.Text = Text1.Text & "5"
End Sub

Private Sub Command6_Click()
Text1.Text = Text1.Text & "6"
End Sub

Private Sub Command7_Click()
Text1.Text = Text1.Text & "7"
End Sub

Private Sub Command8_Click()
Text1.Text = Text1.Text & "8"
End Sub

Private Sub Command9_Click()
Text1.Text = Text1.Text & "9"
End Sub
Responder
Deja tu comentario
Respuesta
+13
moins plus
necesito k me ayuden a
hacer un proyecto parallevar las cuentas y el registro de un negocio
ej
un restaurante : el precio d elos platos cuanto pagan el total el numero de clientes y todo esob le agradezco al qye me ayude
Deja tu comentario
Respuesta
+6
moins plus
como divido para cero en visual basic 2008
;D- 20 abr 2011, 20:49
explicatee mejor weee!!!
Responder
Deja tu comentario
Respuesta
+3
moins plus
como hago un programa de comptras en visuaal studio 2008
angel- 19 oct 2011, 18:28
di como aser una calculadora cientifica si
Responder
angel- 12 mar 2012, 21:55
el de arriba se la come doblada
Responder
jey- 17 oct 2012, 20:05
' "CALCULADORA MUY BASICA SIMILAR A LA DE WINDOWS"

'CREEN LA INTERFAZ Y REEMPLAZEN EL NOMBRE DE LOS FORMS Y LAS VARIABLES SI 'ASI LO PREFIEREN O NECESITAN.

' Primero les recomiendo insertar un frame y luego insertar el textbox y los botones dentro
'de este frame, les da mejor presentacion y manejo de todos estos elementos.

'============== ------> Frame
'|| 1234567890 || -----> Textbox
'==============
'|| 7 | 8 | 9 | C | CE || ------>CommandButtons
'|| 4 | 5 | 6 | - | / | ||
'|| 1 | 2 | 3 | +| * | ||
'|| | 0 | = | ||
'||=============||

'En los Botones de numeros 1,2,3,4,5,6,7,8,9,0 se le debe poner el nombre cmdnum en las 'propiedades de cada boton(el mismo para todos) y al hacer doble clic en alguno de estos 'botones insertar este codigo; es el mismo para todos, con escribirlo una sola vez esta bien 'ya que estos botones tendran el mismo nombre.

Private Sub Cmdnum_Click(Index As Integer)
Dim l As Integer
l = Index
k = num(l)
End Sub

' ------------------------------------------------------------------

'En los Botones operadores +,-,*,/,= se le debe poner el nombre cmdoper en las 'propiedades de cada boton(el mismo para todos) y al hacer doble clic en alguno de estos 'botones insertar este codigo; es el mismo para todos, con escribirlo una sola vez esta bien 'ya que estos botones tendran el mismo nombre.

Private Sub Cmdoper_Click(Index As Integer)
Dim l As Integer
l = Index
k = oper(l)
End Sub

' ------------------------------------------------------------------

' Borra toda la memoria
' Boton CE
Private Sub Command1_Click()
Dim tex As String
tex = clearall(Txtscreen)
End Sub

' Borra ultimo numero antes de operarlo con otro
' Boton C
Private Sub Command14_Click()
Dim te As String
te = clear(Txtscreen)
End Sub

' -------------------------------------------------------------------------------------------------------

'ESTE CODIGO VA EN UN MODULO QUE DEBEN DE CREAR CON EL NOMBRE POR 'DEFECTO QUE DA VISUAL (Module1.bas).

Public Enum calcu
cero 'vale 0
bite 'vale 1
operacion 'variable numero de operaciones acumuladas
End Enum
Option Explicit
Dim digito1, digito2 As Double
Dim ultent As calcu 'ultima funcion # o oper
Dim ope As Integer 'acumula la memoria
Dim calcula As String * 1 'variable de operaciones

Public Function clear(tx As String) 'funcion para limpiar pantalla
Frmcal.Txtscreen = Format(" ")
ultent = bite
End Function

Public Function clearall(txt As String) 'funcion limpia pantalla y memoria
Frmcal.Txtscreen = Format(" ")
ultent = cero
ope = 0
End Function

Public Function oper(d As Integer) ' funcion de operaciones
If ope = 0 Then 'verifico el ultimo digito o funcion aplicada
ultent = bite
End If
If ultent = bite Then
ope = ope + 1
End If
If ope = 1 Then
digito1 = Val(Frmcal.Txtscreen)
ElseIf ope = 2 Then
digito2 = Val(Frmcal.Txtscreen)

Select Case calcula
Case "+": digito1 = digito1 + digito2
Case "*": digito1 = digito1 * digito2
Case "-": digito1 = digito1 - digito2
Case "/":
If digito2 = 0 Then
MsgBox "Division por cero", vbCritical, "Calculadora"
Else
digito1 = digito1 / digito2
End If
End Select

Frmcal.Txtscreen = Str(digito1)
ope = 1
End If
ultent = operacion
calcula = Frmcal.Cmdoper(d).Caption
End Function

Public Function num(t As Integer) ' funcion para numeros
Dim cNumeros As String
If ultent <> bite Then 'esta desicion me permite agregar mas numeros
Frmcal.Txtscreen = " "
ultent = bite
End If
cNumeros = Frmcal.Txtscreen
Frmcal.Txtscreen = cNumeros & Frmcal.Cmdnum(t).Caption 'imprime los numeros
End Function

'TRATEN DE MEJORARLA....LE FALTA EL PUNTO DECIMAL, EL PORCENTAJE, LA RAIZ, 'ETC.. 'Y LAS OTRAS OPERACIONES NORMALES DE UNA CALCULADORA.
'ESTE ES MI PEQUEÑO APORTE, YA QUE YO TAMBIEN BUSCO CODIGO DE EJEMPLO 'QUE ME SON DE MUCHA AYUDA PARA AGILIZAR MI TRABAJO, LA MEJOR DE LAS 'SUERTES CON SUS PROYECTOS Y ESTAMOS EN CONTACTO!
Responder
tato- 5 dic 2012, 23:28
hola amiguito cabesita me tienes k xplicar mas claro si vsn a explicar........jejeje..tkm....si mamacita porfa alcola si no te apliko ,,,,,,,,muaaaaaa
Responder
Deja tu comentario
Respuesta
+0
moins plus
necesito ayude me an pedio ¿q es calculadoras de windows?
Deja tu comentario
Este documento intitulado « hacer una calculadora en visual basic » de Kioskea (es.kioskea.net) esta puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible.

¿Todavía no eres usuario?

inscríbete, gratuitamente y en menos de un minuto!

Los miembros obtienen más respuestas que los usuarios anónimos.

Ser miembro te permite llevar un seguimiento detallado de tus consultas.

Ser miembro te permite gozar de otras opciones adicionales.