String in Zahlen, Term, Gleichungen konvertieren. Aber wie?
lima-city → Forum → Programmiersprachen → Basic
addition
befehlszeile
button
datei
dokument
einfaches rechenprogramm
expression
gleichheitszeichen
hilfe
label
lsung
mathematischen ausdruck
multiplikation
result
schn gru
term
textdatei
textfeld
verweisen
zeichenfolge
-
Hallo, ich habe folgendes Problem und brauche dringend eure Hilfe
Ich möchte ein einfaches Rechenprogramm programmieren.
Das Programm (wie ein Taschenrechner) soll 1 Textfeld, 1 Label und 5 Buttons (Addition, Substraktion, Multiplikation, Division, Gleichheitszeichen) haben.
Meine Frage:
1. Ich will im Textfeld auf einmal einen ganzen Term wie z.B. (2+3)*4 eingeben und
das Programm gibt das Ergebnis im Label aus, nachdem ich auf ENTER drücke oder
auf Button (Gleichheitszeichen) klicke
2. Ich weiß dass der Term (2+3)*4 vom Typ String ist.
Aber wie kann man es umsetzen, damit das Programm versteht, wo es in diesem
Term um Zahlen handelt und wo Klammer oder Operation
Danke für eure Hilfe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Welche VB Version verwendest du? Ich kenn nur eine Lösung für VB .Net ...
-
ich verwende VB Version 8
-
(VB 8 = Visual Basic .Net 2005)
Aufgabe: Einen mathematischen Ausdruck auswerten, der sich in einer Zeichenfolge befindet (z.B. "3+4")
Lösung: Die Ausdrucksauswertung der .NET-Engine von JScript verwenden.
1. Erstelle eine Textdatei mit folgendem Inhalt:
package JScriptUtil { class ExpressionEvaluator { public function Evaluate(expr : String) : String { return eval(expr); } } }
2. Speichere die Datei als js-Datei mit Namen "JScriptUtil.js"
3. Kompiliere diese mit dem JScript-Compiler über die Befehlszeile:
jsc.exe /t:library JScriptUtil.js
(jsc findest im Verzeichnis C:\windows\Microsoft.NET\Framework\v2.0.50727\,
die Assembly JScriptUtil.dll wird in c:\dokumente und einstellungen\[benutzer]\ abgelegt)
4. Füge in deiner Anwendung einen Verweis (über "Durchsuchen") auf die JScriptUtil.dll hinzu und einen Verweis (über ".NET") auf Microsoft.JScript
5. Jetzt kannst du die JSCript-Ausdrucksauswertung verwenden. Verweise zuvor auf die Assembly mit "Imports JScriptUtil" (vor "Public Class")
Beispiel:
Dim Expression As String = "2 * (5 + 1) / 3" Dim Eval As New JScriptUtil.ExpressionEvaluator() Dim Result As String = Eval.Evaluate(Expression) MsgBox(Expression & " = " & Result)
Viel Spaß.
Beitrag geaendert: 14.5.2007 17:04:28 von cbhp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage