lav string om til normal kode

Tags:    c#

jeg prøver at lave en mini-lommeregner som kun
består af en textbox. derfor har jeg et spørgsmål:

hvordan kan jeg omdanne en string
(i dette tildfælde textbox1.text)
til at blive regnet som normal kode.

eller sagt på en anden måde:
hvis textbox1.text f.eks. er "9894495*9548-20"
hvordan kan jeg få et variabel til at være resultatet(94472638240) i stedet for at være selve teksten(9894495*9548-20)

-Tobias



Indlæg senest redigeret d. 25.06.2006 21:21 af Bruger #9734
5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
jeg prøver at lave en mini-lommeregner som kun
består af en textbox. derfor har jeg et spørgsmål:
hvordan kan jeg omdanne en string
(i dette tildfælde textbox1.text)
til at blive regnet som normal kode.
hvis textbox1.text f.eks. er "9894495*9548-20"
hvordan kan jeg få et variabel til at være resultatet(94472638240) i stedet for at være selve teksten(9894495*9548-20)

-Tobias


Der er flere måder at gøre det på.
1) Du kan parse teksten og så selv skrive koden der laver beregningerne. Dvs. at du læser den indtastede tekst igennem et tegn af gangen og strukturer udtrykket så det nemt kan udregnes.
Der er en del eksempler på codeproject:
http://www.codeproject.com/useritems/MathParser.asp (C#)
http://www.codeproject.com/csharp/expressionevaluator.asp (C#)
http://www.codeproject.com/vb/net/math_expression_evaluator.asp (VB.NET)

2) Du kan sende det igennem C# compileren og så ekservere koden. Også her er der et eksempel på codeproject.com:
http://codeproject.com/useritems/command_line_calculator.asp


3) Lav lommeregneren som den der følger med windows. Altså med en knap for hvert tal, så brugeren ikke er så fritstillet.
Endnu et codeproject.com eksempel:
http://codeproject.com/csharp/calculator.asp

Du kan nok finde mange flere eksempler ved at søge på google!



Indlæg senest redigeret d. 25.06.2006 21:38 af Bruger #3491
Mange tak :D

Det lyder meget avanceret, men jeg
vil give mig i kast med det



Vil du ikke have dine UP?



Vil du ikke have dine UP?


Det vil jeg da gerne - havde bare faaet lavet det som kommentar :)



t