Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Taschenrechner (https://www.delphipraxis.net/77456-taschenrechner.html)

moprotz 19. Sep 2006 21:22


Taschenrechner
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
ich hab grad mit der delphi sprache angefangen und hab da so ein kleines Problem.
Ich wollte mal damit einen Taschenrechner versuchen zu programmieren mit den Grundrechnungsverfahren also Plus, minus, geteilt etc.
aba irgendwie kommt der nie zu einem ergebnis, könnt ihr mir helfen bitte

mein projekt findet ihr im anhang

Ooops, jetzt hab ichs 2mal eingefügt :oops:

EDatabaseError 19. Sep 2006 21:36

Re: Taschenrechner
 
Schau dich hier mal im Forum um Hier im Forum suchenTaschenrechner da wirst du einige Denkanstöße finden.

Mfg
Tobi

btw: Man kann das doppeltangehänge Attachment auch löschen...

3_of_8 19. Sep 2006 21:39

Re: Taschenrechner
 
Also so wie du deine Bezeichner gewählt hast, blicke ich da sowieso überhaupt nicht durch... :gruebel:

moprotz 20. Sep 2006 08:30

Re: Taschenrechner
 
Mein hauptproblem ist eig:

Fehlermeldung -> '' ist keine gültige Gleitkommazahl.

Wie kommt das eig. immer, anfangs als ich die Subtraktion da nicht hatte ging das noch, aba jetzt kommt das ständig.

hanselmansel 20. Sep 2006 08:40

Re: Taschenrechner
 
In Ed2 steht nix drin. Daher kann die Funktion StrToFloat es auch nicht in eine Zahl umwandeln.
Du solltest dir angucken, welche beiden Strings du umwandeln musst, und diese dann miteinander verrechnen.

Das Design und die Benutzerfreundlichkeit sind... interessant.

MfG,

hanselmansel

moprotz 21. Sep 2006 16:09

Re: Taschenrechner
 
Liste der Anhänge anzeigen (Anzahl: 1)
Najo, das Problem hab ich jetzt behoben und das layout n bisle besser gemacht, aber ich hab immer noch das Problem, dass ich jetzt nur die Addition hinkriege, irgendwas mache ich bei meiner "=" procedure falsch, könnt ihr mir mal weiterhelfen, die if-verschachtelung macht mich noch verrückt.

hanselmansel 21. Sep 2006 16:20

Re: Taschenrechner
 
Zitat:

Zitat von moprotz
die if-verschachtelung macht mich noch verrückt.

Mich auch...

Wieso machst du alle möglichen Edits sichtbar und dann sieder unsichtbar und so weiter? Bau dir Doch in der einfachsten Form erstmal 3 Edits: zwei für die Operanden, eines fürs Ergebnis.

Beim Klicken auf einen der Operatoren machst du erstmal gar nichts, außer dir zu merken, auf welchen du geklickt hast.

In der Prozedur, die hinter dem Gleichheitszeichen steckt, prüfst du, ob in den beiden Edits gültige Zahlen stehen, dann wandelst du sie um und verrechnest sie entsprechend der Art und Weise, die du vorher gespeichert hast.
Wenn es sich bei den Inhalten der edits um was Falsches handelt, gibst du schöne, vielsagende Fehlermeldungen aus, und alle sind glücklich.

MfG,

hanselmansel

P.S.: Wenn die die echse löschst, bevor du den Ordner zippst, musst nu nicht 400, sondern nur 10 KB uploaden.

moprotz 21. Sep 2006 20:25

Re: Taschenrechner
 
Ok, so werd ichs jetzt auch mal machen, nur ein Problem hab ich dann, denn meine Taschenrechner tastatur funktioniert nur für ein edit-feld, aber sie soll ja für 2 edit felder funktionieren, wie kann ich das denn Programmieren, dass wenn ich den Cursor auf einem editfeld habe die in diesem die Zahlen eingibt,und sonst ins andere?
Auf dem Niveau befinde ich mich leider noch nich.


PS: Ja, würd zwar weniger kb kosten, aber dann muss ich die exe vorher raushohln, wobei ich ansonsten einfach rechtsklick zip machen kann^^

moprotz 21. Sep 2006 20:42

Re: Taschenrechner
 
Liste der Anhänge anzeigen (Anzahl: 1)
Achja, und zusätzlich dazu noch, wie kann ich jetzt dem Taschenrechner das Rechnen von Brüchen reinprügeln?
Dass er z.B. 2_3+"15_3 = 17_3 rausgibt, und wie kann ich dem noch sagen dass er es kürzen soll, also, dass er anstatt 17_3 mir 5_2_3 angibt?




PS: Hier hab ich die neue Version

hanselmansel 21. Sep 2006 20:55

Re: Taschenrechner
 
Huiuiui, jetzt gehen wir aber ran! :mrgreen:

Quick & Dirty:
Nimm 2 neue Editfelder, und der Nenner ist gegessen. :stupid: In wie weit das die Benutzbarkeit beeinträchtigt sei dahingestellt, aber du wolltest es ja reinprügeln.

Alternative:
Du benutzt einen Bruch-Button. Wenn auf ihn geklickt wird, wird an das akt. Edit ein Unterstrich angefügt und der Rechner weiß, dass jetzt der Nenner kommt

Eine Stufe anspruchsvoller:
Du prüfst, ob im Edit ein Unterstrich vorhanden ist, und wandelst dann sowohl den Teil davor, als auch dahinter in Zähler bzw. Nenner um. Erwähnt seien heirbei die Funktionen Delphi-Referenz durchsuchenPos und Delphi-Referenz durchsuchenCopy.

Die haute cuisine:
Sowohl Operanden als auch Operatoren werden auf einem Stack abgelegt und ihrer Priorität nach abgearbeitet. Dadurch bekommst du u.a. Brüche, Punkt-vor-Strich-Rechnung oder auch Klammern.


Persönlicher Kommentar:
Es hört sich fast so an, als solltest du diesen Taschenrechner für irgendeine Lehranstalt programmieren. In diesem Fall würde ich Möglichkeit 2 bevorzugen...

MfG,

hanselmansel

P.S.: Hatte ich zu dem Wechsel zwischen den Edits nicht gerade etwas mit Delphi-Referenz durchsuchenSetFokus gepostet? :gruebel: Oder habe ich den Beitrag geschreiben, ihn aber nicht abgeschickt? :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz