Formeln einfach interpretieren

fredlllll

Erfahrenes Mitglied
Hallo

Ich würde gerne mal wissen ob es einen einfacheren Weg gibt, Formeln zu interpretieren, als sie Zeichen für Zeichen auslesen zu müssen.

ich habe in einem Textfile die formel 3x²-6x+3 stehen und will diese jetzt interpretieren. Nehmen wir an X wäre die Stufe eines Gebäudes, welchen wir auch aus einer Textdatei auslesen

angenommen Gebäudestufe ist 1 dann beträgt die bauzeit 0 und bei 2 dann 3 usw. Wie schaffe ich es jetzt diese Formel zu interpretieren?
am ende Sollte ich in ein Textfeld eine Zahl eingeben (die Stufe) und bekomme dafür den jeweiligen Wert der Gleichung.

Ist das einfach möglich oder muss ich da wieder lange rumtüfteln?
danke schonmal
 
Das geht bedingt mit eval()
Du musst die Formel aber in VB-Auswertbarem Format schreiben. Deine Formel wird dann zu '3*sqr(x)-6*x+3'. Die Variablen (im Beispiel x) müssen ersetzt werden.

Ich habe hier mal ein Beispiel gemacht. (y und z sind nur zum zeigen, dass es nix ausmacht wenn die zu viele Variablen hast

Visual Basic:
Public Function testEval()
    Dim formel  As String
    Dim x, y, z As Double
    
    x = 2
    y = 1
    z = 4
    
    formel = "3*sqr(x)-6*x+3"

    formel = Replace(formel, "x", x)
    formel = Replace(formel, "y", y)
    formel = Replace(formel, "z", z)

    testEval = Eval(formel)
End Function
 
Zurück