Visual Basic - "String ausführen"

Chris2130

Well-known member
ID: 308573
L
13 Januar 2008
527
24
Hi. Ich weiß jetzt nicht, ob ich die richtige Überschrift gewählt habe, aber ich weiß nicht, wie man das sonst nennen soll. Hierbei handelt es sich um ein kleines Taschenrechner Projekt. Der Benutzer kann über Buttons einen Term eingeben. Mit einem klick auf den "=" button soll der String ausgeführt werden.
Gibt es eine Funktion dafür? Oder muss ich den Term in ein bestimmtes Format casten oder wie kann man sowas machen??
 
eval() = evil ;)

Außerdem gibts das in VB nicht. Du musst den String von Hand parsen :p
 
Wie genau macht man das? So gut kenne ich micht mit VB nicht aus^^ Und was mache ich dann mit den einzelnen Zeichen? Wie "verrechne" ich die dann miteinander?
 
Wie genau macht man das?
Hirn einschalten ;) Sorry, aber bei sowas kann dir keiner helfen. Du musst eben den String auseinandernehmen, ihn in eine Form zerlegen, mit der du arbeiten kannst.
Je nachdem, wie du ihn weiterverarbeiten willst, musst du dir ein entsprechendes Format überlegen, wobei bei algebraischen Strukturen sich natürlich immer der Baum anbietet, den du rekursiv von der Wurzel zu den Blättern abarbeiten kannst.
So gut kenne ich micht mit VB nicht aus^^ Und was mache ich dann mit den einzelnen Zeichen?
Du wirst wohl nur die String-Funktionen brauchen. Einfach im Manual nachlesen ;)
Wie "verrechne" ich die dann miteinander?
Wie du es wünscht. Es macht natürlich Sinn, dem Pluszeichen auch semantisch einer Addition zuzuordnen :ugly:
 
eval() = evil ;)

Außerdem gibts das in VB nicht. Du musst den String von Hand parsen :p

stimmt leider nicht ganz^^

einfache sachen (die du vermutlich vorhast) kannst du mithilfe des scripting-controls berechnen:

Anleitung:
gehe in vb 6 im menü in den eintrag: Projekt => Komponenten und mache ein Häckchen bei "microsoft scripting control"
das packst du dann auf deine Form
packst noch nen knopf daneben mit dem Text

Private Sub Command1_Click()
Print ScriptControl1.Eval("3+6/2")
End Sub

Grüße Greggy