theoberlin
Goto Top

Vb.net dynamische Logik

Hallo zusammen,

In der Hoffnung hier tummeln sich auch vb.net programmierer würde ich euch gern eine Frage stellen:

Ich habe die Anforderung eine Logikkette dynamisch aufzubauen. Bestimmt wird sie durch Usereingaben.

Beispielsweise „Variable 1“ (und) „Variable 2“ (nicht) „Variable 3“ dürfen enthalten sein.

Ich muss quasi die Operatoren dynamisch aufgrund von Usereingaben setzen. Da es mehr als ein operator ist, kann ich es nicht mit Select Case realisieren. Ich muss Quasi die Operatoren And,Or,is,isnot etc. dynamisch setzen bzw. Verketten und vorher aus den Usereingaben generieren.

Hat jemand eine Idee hierzu?

LG
Theo

Content-Key: 353552

Url: https://administrator.de/contentid/353552

Ausgedruckt am: 29.03.2024 um 05:03 Uhr

Mitglied: SachsenHessi
SachsenHessi 03.11.2017 um 08:22:36 Uhr
Goto Top
Hallo,

von hinten durch die Brust face-smile
Dim StrCommand As String
StrCommand = "Msgbox(""Hello World"")"
Dim sc As New MSScriptControl.ScriptControl
sc.Language = "VBScript"
sc.Eval(StrCommand)

oder https://www.google.de/search?q=vb.net+evaluate+string+as+code&oq=vb. ...

Gruß
SH
Mitglied: 134464
134464 03.11.2017 aktualisiert um 09:39:05 Uhr
Goto Top
Ich würde den Text mit Regex parsen anhand der Operatoren und dann das ganze von innen nach außen auflösen mit einer for each Schleife über die Regex Ergebnisse.
Mitglied: emeriks
emeriks 03.11.2017 um 10:19:03 Uhr
Goto Top
Hi,
och dazu findet man aber schon etwas im Web. z.B.
An expression evaluator written in VB.NET

E.
Mitglied: theoberlin
theoberlin 03.11.2017 um 10:27:12 Uhr
Goto Top
Hallo,

danke dir erstmal, aber wie bekomme ich die Ausgabe von sc jetzt als Operator in meine Logikkette?

Ich kann ja so den Code quasi ausführen, aber ich benötige ja quasi den Code als Logikoperator.

lg
Theo
Mitglied: emeriks
emeriks 03.11.2017 um 10:33:29 Uhr
Goto Top
Hä? Du hast dort ein Beispiel mit Quellcode, welches vom User eingegebene Strings auswertet. Und dort steht auch, dass der Code offensichtlich auch die Operatoren "AND", "OR" und "NOT" beherrscht ("Private Enum eTokenType"). Also einfach den gelieferten Code für Deine Anwendung adaptieren und gut ist. Oder drei Mal laut "Abrakadabra" rufen.

E.
Mitglied: theoberlin
theoberlin 03.11.2017 aktualisiert um 10:42:28 Uhr
Goto Top
@ Emeriks
Das bezog sich auch den Source von SachsenHessi.

Das von dir geschickte Beispiel gucke ich mir mal an.

lg
Theo