| |||
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
__________________ Aprende a programar desde cero !!! |
| ||||
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 |