Variable aus String

Morpheus

Mitglied
Hi

Man gibt in eine Textbox diesen Text ein: x*(x-2)

Das x soll eine Variable sein, ist aber durch die Eingabe einfach ein Zeichen im String.. wie kann man des x zu ner variable machen?

THX Morpheus
 
Das geht so einfach in keiner Programmiersprache.
Um das zu verwirklichen, was du machen willst, müstest du dir einen vernünftigen Formelparser schreiben.
Denn woher willst du wissen, ob der Benutzer auch immer nach den Mathematischen Gesetzen die Eingabe macht. Also die Klammerung usw. richtig eingibt. Außerdem musst du selbst die Gesetzte beachten:
- Punkt vor Strich
- Potenz vor Punkt
- usw...

Darüber solltest du dir mal Gedanken machen.
Denn wenn du alles mit If's und Select's machen willst, dann kennst du dich am Ende selbst nicht mehr aus.

Gruss Homer
 
Ich weiss nicht, ob Dir das viel weiter hilft, aber versuch's doch einfach mal mit einem ScriptControl.
Ansonsten würde ich Dir vorschlagen, dass Du Dich einmal mit regulären Ausdrücken beschäftigst. Damit kannst Du dann schonmal bestimmte Regeln aufstellen, wie so ein mathematischer Ausdruck auszusehen hat.
 
ich hab desn bisschen anders gemeint...
also genauer erklärt:

ich hab will in eine picturebox ne funktion einzeichnen:

For x = -20 To 20 Step 0.01
z = Gleichung
pic.PSet (x, z), col
Next x

so is mein code zum einzeichnen..

jetzt will ich des so programmieren das man die funktion eingeben kann...
und wenn man jetzt in ne textbox zb. die gleichung x+2 eingibt dann will ich, dass er das x mit der laufvariable aus der schleife ersetzt und dann z mit der gleichung ausrechnet...

auf deutsch: gleichung eingeben.. gleichung wird aufgezeichnet..

Morpheus
 
Wäre es da nicht einfacher, wenn Du verschiedene Textfelder nimmst, in denen Du die einzelnen Werte eintragen kannst?
Für die Gleichung selbst wird ja wahrscheinlich immer auf x zugegriffen, also kannst Du Dir das schon mal sparen. Anstelle von "x+2" könntest Du also einfach nur 2 eingeben. Damit lässt sich doch viel besser rechnen.
Probleme gibt es dann erst, wenn Du neben den vier Grundrechenarten noch komplexere Berechnungen oder evtl. ganze Funktionen ausführen lassen willst.
 
hab ich zwar auch schon gedacht aber wenn man komplexere funktionen eingeben will gehts net so gut.. und ich möcht auch was dabei lernen.. also was komplexeres ;-)
 
hab ich zwar auch schon gedacht aber wenn man komplexere funktionen eingeben will gehts net so gut.. und ich möcht auch was dabei lernen.. also was komplexeres
Also dann solltest du dich wirklich mit regulären Ausdrücken und/oder einem Formel-Parser auseinandersetzten.

Gruss Homer
 
Zurück