![]() |
Re: Taschenrechner - String durchsuchen
ah ok inttostr() ^^
Danke, jetzt gibt er z.B. 6 zurück, und weiter? :) |
Re: Taschenrechner - String durchsuchen
Jetzt hast Du die Position, die Du im Copy()-Befehl angeben kannst ;)
|
Re: Taschenrechner - String durchsuchen
kenn den copy befehl noch net, danke ^^
//Edit: wie mach ich das denn dass er bis zum nächsten Zeichen und dem Zeichen davor macht? |
Re: Taschenrechner - String durchsuchen
Hmm komm echt noch nicht wirklich mit klar, wie krieg ich es hin dass er es bis zum nächsten Zeichen nur ausliest bzw halt zu dem zeichen davor?
|
Re: Taschenrechner - String durchsuchen
Der Copy()-Befehl hat 3 Parameter: den Ausgangsstring, Startposition in diesem und die Länge (nicht die Position), bis zu der kopiert werden soll. Bsp.:
Delphi-Quellcode:
Damit werden ab Position 1 5 Zeichen kopiert und in Substring zurückgegeben.
SubString := Copy(Ausgangsstring,1,5);
Ist doch eigentlich verständlich, wo hängt es denn? |
Re: Taschenrechner - String durchsuchen
Ja die Copy funktion hab ich ja jetzt verstanden.
Es hängt halt da wie ich es realisieren soll dass er zB aus 4-2*2+11-5 mit neu.caption := inttostr(pos('+',term.caption)); nur das 2+1 rausziehe. Weil bei copy muss ich ja denn ne gewisse Länge angeben. und es muss ja irgendwie sowas wie count() geben um die anzahl der Zeichen bis zum nächsten Operator (in dem Fall halt das -) auslesen zu können. Danke :) |
Re: Taschenrechner - String durchsuchen
Hallo, ich habe das auch mal für die Schule gemacht.
![]() Hier wird der Term in Rechenzeichen und Zahlen zerteilt und in eine Liste geschrieben: aus 12*2+3/2 wird dann 12 * 2 + 3 / 2 Dann wird diese Liste nach * und / durchsucht und die Zahlen davor und danach werden entsprechend ausgerechnet. In Zeile 2 gefunden : * Also 12*2 = 24 Liste sieht wie folgt aus: 24+3/2 Das macht man so lange, bis keine * und / mehr da sind, und macht das Ganze mit + und - . Wenn auch die alle weg sind, also alles ausgerechnet wurde, nimmt ,man dann die erste Zeile als Ergebnis. Liebe Grüße! |
Re: Taschenrechner - String durchsuchen
So als Tipp (weil ich grad keine Lust/Zeit hab alles nochmals zu sagen:
Such mal hier im Forum nach Matheparsern, denn es gibt da schon einige Threads, wo alles Nötige erklärt wird. z.B.: ![]() [edit] toll, da ist mir ja 'ne gewisse Person zuvorgekommen :lol: |
Re: Taschenrechner - String durchsuchen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe die letzten Stunden mal ein bisschen probiert und steh nun vor einem Fehler, der mir völlig unlogisch erscheint.
Habe das Programm mal angehangen, wäre lieb, wenn das mal jemand durchgucken könnte. Die Fehlermeldung kommt z.B. wenn man 5+5+5+5-5 eingibt.↲↲Ah habe meinen fehler denke ich gefunden. Nämlich, dass er die zweite schleife noch nach der ersten abarbeitet. Gibt es sowas wie ne die-funktion wie in php auch in delphi? |
Re: Taschenrechner - String durchsuchen
"Die" dürte einer Exception entsprechen:
Delphi-Quellcode:
raise Exception.Create('hier die Fehlerbeschreibung');
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz