Rechnung aus StringGadget auslesen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
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

Beitrag von Mok »

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
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
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Rechnung aus StringGadget auslesen

Beitrag von Kiffi »

a²+b²=mc²
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag von D@nte »

Und wo is i.A. das Problem daran mit der Eingabe eines Stringadgets zu rechnen?!

Sollte doch wohl nit all zu schwer sein den String in Komoponenten (Rechenzeichen / Ziffern) zu zerlegen, oder?
Benutzeravatar
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:   

Beitrag von Mok »

D@nte hat geschrieben:Sollte doch wohl nit all zu schwer sein den String in Komoponenten (Rechenzeichen / Ziffern) zu zerlegen, oder?
Doch :oops:
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
Little John

Beitrag von Little John »

Mok hat geschrieben:
D@nte hat geschrieben:Sollte doch wohl nit all zu schwer sein den String in Komoponenten (Rechenzeichen / Ziffern) zu zerlegen, oder?
Doch :oops:
Kiffi hat Dir einen entspr. Link gepostet. :D

Gruß, Little John
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

@Mok: Du mußt bei 4.30 nur folgendes beachten:
Array und LinkedList parameter in Prozeduren benötigen nun das 'Array' oder 'List' Schlüsselwort ...nur zur Info.
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
Captn. Jinguji
Beiträge: 397
Registriert: 07.06.2005 19:47
Computerausstattung: PB 4.73x64, i7, WIN 10x64, ATI NVidia RTX 2070
Wohnort: Witten

Beitrag von Captn. Jinguji »

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....
Ist das Kunst hier, oder kann das weg ?
Little John

Beitrag von Little John »

marco2006 hat geschrieben:@Mok: Du mußt bei 4.30 nur folgendes beachten:
Array und LinkedList parameter in Prozeduren benötigen nun das 'Array' oder 'List' Schlüsselwort ...nur zur Info.
Ich hab's jetzt im Code geändert (je 4x List eingefügt). Danke für die Erinnerung. :-)

Gruß, Little John
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: Rechnung aus StringGadget auslesen

Beitrag von Andesdaf »

Hey danke sowas kann ich auch gebrauchen! :D
Win11 x64 | PB 6.20
Antworten