Habe das grade folgendermaßen gelöst. Du mußt nur noch in einem Modul folgendes schreiben:
Option Explicit
Public aufgteilung() as string txta(0) --> hier steht die Variable
txta(0) ---> Wert der Variablen
Private Sub Command1_Click()
Dim i As Long
Dim a As Long
Dim hilf() As String
Dim b As Long
ReDim aufgteilung(Len(txtAufgabe) * 2)
For i = 1 To Len(txtAufgabe)
Select Case Mid(txtAufgabe, i, 1)
Case 0 To 9
aufgteilung(a) = aufgteilung(a) & Mid(txtAufgabe, i, 1)
Case "+", "-", "/", "*", "(", ")"
a = a + 1
aufgteilung(a) = Mid(txtAufgabe, i, 1)
a = a + 1
Case txta(0).Text
aufgteilung(a) = Val(txta(1).Text)
a = a + 1
Case txtb(0).Text
aufgteilung(i) = Val(txtb(1).Text)
a = a + 1
End Select
Next
Call entfernen
For a = 0 To UBound(aufgteilung)
If aufgteilung(a) <> "" Then
ReDim Preserve hilf(b)
hilf(b) = aufgteilung(a)
b = b + 1
End If
Next
ReDim aufgteilung(UBound(hilf))
aufgteilung() = hilf()
txtErgebnis.Text = rechnen(0, UBound(aufgteilung))
End Sub
Public Sub entfernen()
Dim anfang, ende
Dim hilf() As String
Dim i, a, b
For i = 0 To UBound(aufgteilung)
Select Case aufgteilung(i)
Case "("
anfang = i + 1
Case ")"
ende = i - 1
aufgteilung(anfang) = rechnen(anfang, ende)
aufgteilung(ende + 1) = ""
aufgteilung(anfang - 1) = ""
For a = 0 To UBound(aufgteilung)
If aufgteilung(a) <> "" Then
ReDim Preserve hilf(b)
hilf(b) = aufgteilung(a)
b = b + 1
End If
Next
ReDim aufgteilung(UBound(hilf))
aufgteilung() = hilf()
Call entfernen
Exit Sub
End Select
Next
End Sub
Public Function rechnen(ByVal anfang As Long, ByVal ende As Long) As Long
Dim i As Long
rechnen = CLng(aufgteilung(anfang))
For i = anfang + 1 To ende
Select Case aufgteilung(i)
Case ""
Case "+"
rechnen = rechnen + CLng(aufgteilung(i + 1))
Case "-"
rechnen = rechnen - CLng(aufgteilung(i + 1))
Case "/"
rechnen = rechnen / CLng(aufgteilung(i + 1))
i = i + 1
Case "*"
rechnen = rechnen * CLng(aufgteilung(i + 1))
End Select
aufgteilung(i) = ""
Next
aufgteilung(anfang) = rechnen
End Function Habe leider nicht gründlich getestet und deshalb kann ich nicht garantieren, ob alles klappt. Schreib mir bitte ne kurze Mail, ob der Code in Ordnung ist.
Gruß
Mortendo
------------------------------------------------------------------------------------------------------------------------- 0 |