Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Sumar Valores En Una Caja De Texto

Estas en el tema de Sumar Valores En Una Caja De Texto en el foro de Visual Basic clásico en Foros del Web. Hola Estoy Iniciando En El Tema De Programacion Y Necesitaba Saber Como Sumar Valores En Una Misma Caja De Texto En Visual Basic....
  #1 (permalink)  
Antiguo 24/08/2007, 13:33
 
Fecha de Ingreso: agosto-2007
Mensajes: 1
Antigüedad: 16 años, 8 meses
Puntos: 0
Sonrisa Sumar Valores En Una Caja De Texto

Hola Estoy Iniciando En El Tema De Programacion Y Necesitaba Saber Como Sumar Valores En Una Misma Caja De Texto En Visual Basic.
  #2 (permalink)  
Antiguo 24/08/2007, 13:42
 
Fecha de Ingreso: abril-2007
Mensajes: 187
Antigüedad: 17 años
Puntos: 1
Re: Sumar Valores En Una Caja De Texto

No te comprendo muy bien pero esto te puede servir de orientación:

Código:
Private Sub Form_Load()
Text1.Tag = "0"
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
  Text1.Text = Val(Text1.Text) + Val(Text1.Tag)
  Text1.Tag = Text1.Text
  Text1.SelLength = Len(Text1.Text)
End If

End Sub
  #3 (permalink)  
Antiguo 03/09/2007, 09:46
 
Fecha de Ingreso: marzo-2007
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Sumar Valores En Una Caja De Texto

tambien puede ser


Código:
Dim a As Integer
Dim b As Integer

Private Sub Command1_Click()
a = Text1.Text
b = Text2.Text

Text3 = ((a) + (b))

End Sub
  #4 (permalink)  
Antiguo 03/09/2007, 12:28
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Re: Sumar Valores En Una Caja De Texto

Si lo que vos buscas es por ejemplo, que dentro de un textbox vos ingresas "10+5" y que cuando haces click en un boton te muestre el resultado 15... Entonces es un poco bastante complejo.

Lo que yo haria es varias funciones, una para suma, otra para resta, otra para division, y las que necesites.
Tendria mucha recursividad, por que puede haber varias sumas y productos embebidos....

Dejame verlo, hace mucho estaba queriendo hacer algo asi, veo que puedo hacer asi rapido (por ahora suma) y si puedo te lo pongo aca para que te orientes.

Ahora bien....

Si lo que vos queres es que al tipear "10+" (ahi guarda el 10 y prepara la suma) y despues pones "5" y que automaticamente te complete "10+5=15" ahi seria mas jodido. JEJEJEJEJEJE

Seguro que es lo que dije primero, lo que dije segundo ya es muy complejo solo locuras de esas se me pueden ocurrir a mi ;)
  #5 (permalink)  
Antiguo 03/09/2007, 12:51
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Re: Sumar Valores En Una Caja De Texto

Aca te hice un ejemplo de una funcion que sirve solamente para sumar todos las sumas que tenga un string....

Osea que si en un string (textbox) tenes "10+5+3+6+8+9" la funcion te lo suma. Tambien trabaja con decimales.

No es lo mas optimo, pero sirve, y te puede orientar para enfocarte en otras operaciones y luego hacer recursividad para resolver entre parentesis etc.

Código:
'Programado por CULD
'[email protected]
'Suma de cadenas en un String, es decir que si se quiere sumar
'el string "10+2+5+9+6+3+5+7", la funcion Operacion_Suma devuelve la suma
'de ese string

'TAMBIEN TRABAJA CON DECIMALES, SE PUEDE SUMAR EJ: "0,25+0,75+5"

Public Function Operacion_Suma(Texto As String) As Double
On Error Resume Next 'para evitar error (si se pone 10+10+++++5)
Dim Cantidad As Integer
Dim Suma As Double
Dim X As Integer

Cantidad = Cantidad_Sumas(Texto) 'me fijo cuantas sumas hay
Suma = 0 'inicializo la suma

For X = 1 To Cantidad + 1 'recorro todos los numeros
    Suma = Suma + CDbl(SepararDatos(X, Texto, Asc("+"))) 'sumo los numeros
Next X

Operacion_Suma = Suma 'envio el valor de la suma
End Function

Public Function Cantidad_Sumas(Texto As String)
Dim X As Integer
Dim Cantidad
Cantidad_Sumas = 0 'inicializo la cantidad
For X = 1 To Len(Texto) 'recorro el largo del texto
    If Mid(Texto, X, 1) = "+" Then 'verifico si es una suma
        Cantidad_Sumas = Cantidad_Sumas + 1 'acumulo que se encontro 1 suma
    End If
Next X
End Function

Public Function SepararDatos(ByVal pos As Integer, ByVal Text As String, ByVal SepASCII As Integer) As String
'*****************************************************************
'Devuelve el string del campo
'*****************************************************************
Dim i As Integer
Dim LastPos As Integer
Dim CurChar As String * 1
Dim FieldNum As Integer
Dim Seperator As String
  
Seperator = Chr(SepASCII)
LastPos = 0
FieldNum = 0

For i = 1 To Len(Text)
    CurChar = Mid$(Text, i, 1)
    If CurChar = Seperator Then
        FieldNum = FieldNum + 1
        If FieldNum = pos Then
            SepararDatos = Mid$(Text, LastPos + 1, (InStr(LastPos + 1, Text, Seperator, vbTextCompare) - 1) - (LastPos))
            Exit Function
        End If
        LastPos = i
    End If
Next i

FieldNum = FieldNum + 1
If FieldNum = pos Then
    SepararDatos = Mid$(Text, LastPos + 1)
End If

End Function
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:51.