Rechnung aus StringGadget auslesen
- Mok
- BotHunter
- Beiträge: 1484
- Registriert: 26.12.2005 14:14
- Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit - Wohnort:
Rechnung aus StringGadget auslesen
Servus!
Ich bin gerade dabei eine Art Rechner (mit GUI) zu bauen. Man soll in ein StringGadget seine Rechnung eingeben (also nicht 3 [AufPluszeichendrück] 4 [AufMalzeichendrück] 2, sondern 3 + 4 * 2)
Da man ja nur mit Zahlen Rechnen kann, kann ich nicht den ganzen String exportieren, weil Operatoren nicht als Zahlen funktionieren.
Wie soll/kann/darf/muss ich das machen? (Länge der Eingabe unbekannt)
MfG, Mok
Ich bin gerade dabei eine Art Rechner (mit GUI) zu bauen. Man soll in ein StringGadget seine Rechnung eingeben (also nicht 3 [AufPluszeichendrück] 4 [AufMalzeichendrück] 2, sondern 3 + 4 * 2)
Da man ja nur mit Zahlen Rechnen kann, kann ich nicht den ganzen String exportieren, weil Operatoren nicht als Zahlen funktionieren.
Wie soll/kann/darf/muss ich das machen? (Länge der Eingabe unbekannt)
MfG, Mok
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Re: Rechnung aus StringGadget auslesen
a²+b²=mc²
- Mok
- BotHunter
- Beiträge: 1484
- Registriert: 26.12.2005 14:14
- Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit - Wohnort:
DochD@nte hat geschrieben:Sollte doch wohl nit all zu schwer sein den String in Komoponenten (Rechenzeichen / Ziffern) zu zerlegen, oder?

Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
- Captn. Jinguji
- Beiträge: 397
- Registriert: 07.06.2005 19:47
- Computerausstattung: PB 4.73x64, i7, WIN 10x64, ATI NVidia RTX 2070
- Wohnort: Witten
Barum ?
Ein möglicher Weg:
Du gehst den Eingabestring zeichenweise durch.
Vorher bereitest Du mehrere Strings vor:
N$="0123456789,."
O$="+-*/="
Die fragst Du mit findstring ab, wenn der "0" zurückgibt,
ist das Zeichen nicht in dem entsprechenden Vorrat.
ENTWEDER bist Du innerhalb einer Zahl, dann schubberst du solange das jeweils nächste Zeichen zum gerade in AUFBAU befindlichen String, wie das aktuelle Zeichen in N$ vorkommt
kommt was anderes, ist die Zahl zuende, entweder ist es ein blank, oder ein Operator.
Danach kommt im Zweifel wieder eine Zahl.
USW-
Die Sache mit den Klammern kannst Du selbst....
Ein möglicher Weg:
Du gehst den Eingabestring zeichenweise durch.
Vorher bereitest Du mehrere Strings vor:
N$="0123456789,."
O$="+-*/="
Die fragst Du mit findstring ab, wenn der "0" zurückgibt,
ist das Zeichen nicht in dem entsprechenden Vorrat.
ENTWEDER bist Du innerhalb einer Zahl, dann schubberst du solange das jeweils nächste Zeichen zum gerade in AUFBAU befindlichen String, wie das aktuelle Zeichen in N$ vorkommt
kommt was anderes, ist die Zahl zuende, entweder ist es ein blank, oder ein Operator.
Danach kommt im Zweifel wieder eine Zahl.
USW-
Die Sache mit den Klammern kannst Du selbst....
Ist das Kunst hier, oder kann das weg ?
Re: Rechnung aus StringGadget auslesen
Hey danke sowas kann ich auch gebrauchen!Kiffi hat geschrieben:http://www.purebasic.fr/german/viewtopi ... 886#206886

Win11 x64 | PB 6.20