Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Taschenrechner 2.0 - Der Multi-Rechner (https://www.delphipraxis.net/153816-taschenrechner-2-0-der-multi-rechner.html)

p80286 18. Aug 2010 13:24

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
vielleicht sollten zunächst einmal die noch vorhandenen Unebenheiten beseitigt werden.
Es wäre schön wenn der Benutzer einen Hinweis bekäme welches Zeichen er als Dezimalkomma nutzen darf und welches wenn überhaupt als Tausender-Trennzeichen.
Wie oben schon erwähnt fehlt der Umgang mit leeren Eingabefeldern, und bei der Prozentrechnung hat es mich ja schon gejuckt mir den Ausgangswert berechnen zu lassen, aber das ging irgendwie so nicht!

Gruß
K-H

@orNEC hübsch (die Rose)

OrNEC 18. Aug 2010 13:32

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Zitat:

Zitat von blackfin (Beitrag 1043046)
Angeber :P

Also so hab ich angefangen, aber natürlich mit eurer Hilfe. :wink: Wie denn sonst. :-D

blackfin 18. Aug 2010 13:39

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
War auch nur scherzhaft gemeint :wink:

LDProgrammierer 19. Aug 2010 13:09

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Ich weiß leider überhaupt nicht wie man eine Eingabe abfängt, könnte mir bitte jemand den Source-Code geben? Wäre sehr hilfreich. LDProgrammierer

aurikel_Max 19. Aug 2010 13:14

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Zitat:

Zitat von LDProgrammierer (Beitrag 1043374)
Ich weiß leider überhaupt nicht wie man eine Eingabe abfängt, könnte mir bitte jemand den Source-Code geben? Wäre sehr hilfreich. LDProgrammierer

Nun, du könntest mehrere Sachen machen .. um zB. dafür zu sorgen, dass nur Zahlen (und zB. Punkte) eingegeben werden, musst du das OnKeyPress-Ereignis von deinem Editfeld abfangen. Ich benutze hierzu Variante 3 von diesem Link (dies fängt allerdings nur Buchstaben ab).

Wenn du zB. auf eine Division durch 0 prüfen möchtest, so würde ich bei einer Division prüfen, ob der Divisor 0 ist. (if StrToFloat(edDivisor.Text) = 0 then ...)

LDProgrammierer 19. Aug 2010 13:30

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Danke ich werde ausprobieren ob es geht.

LDProgrammierer 20. Aug 2010 09:44

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Also ich habe das mit dem dividieren durch null verhindern leider irgenwie nicht geschafft obwohl ich folgenden Code verwendet habe
Delphi-Quellcode:
if strtofloat(edit2.Text)= 0 then ShowMessage ('Durch null darf nicht dividiert werden');
dann kann er das Programm das öffnen, jedoch zeigt er nicht die Nachricht die ich gezeigt haben wollte, selbst wenn ich durch null dividiere. Wenn ich jedoch folgenden code schreibe :
Delphi-Quellcode:
if strtofloat(edit2.Text)= 5 then ShowMessage ('Durch null darf nicht dividiert werden');
, also das er bei fünf eine Meldung ausgeben, soll und sonst weder Position noch irgendwas anderes am Code verändere erscheint doch eine Meldung. Was soll ich tun? Ich habe das Gefühl das liegt daran, das dann die Meldung floating point division by zero ausgegeben wird. Bitte helft mir :?

Satty67 20. Aug 2010 09:54

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Wenn eine Exception ausgelöst wird (hier Division durch 0) wird der nachfolgende Code bis zum Ende des Try Except bzw. Finally Block abgebrochen.

Vorm Berechnen auf 0 prüfen:
Delphi-Quellcode:
if strtofloat(edit2.Text)= 0 then
  ShowMessage ('Durch null darf nicht dividiert werden')
else
  Berechnen;

aurikel_Max 20. Aug 2010 09:54

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Zitat:

Zitat von LDProgrammierer (Beitrag 1043657)
Also ich habe das mit dem dividieren durch null verhindern leider irgenwie nicht geschafft obwohl ich folgenden Code verwendet habe
Delphi-Quellcode:
if strtofloat(edit2.Text)= 0 then ShowMessage ('Durch null darf nicht dividiert werden');
dann kann er das Programm das öffnen, jedoch zeigt er nicht die Nachricht die ich gezeigt haben wollte, selbst wenn ich durch null dividiere. Wenn ich jedoch folgenden code schreibe :
Delphi-Quellcode:
if strtofloat(edit2.Text)= 5 then ShowMessage ('Durch null darf nicht dividiert werden');
, also das er bei fünf eine Meldung ausgeben, soll und sonst weder Position noch irgendwas anderes am Code verändere erscheint doch eine Meldung. Was soll ich tun? Ich habe das Gefühl das liegt daran, das dann die Meldung floating point division by zero ausgegeben wird. Bitte helft mir :?

Ehm .. ich bin mir nicht sicher, hast du nach deinem
Delphi-Quellcode:
IF StrToFloat(edDivisor.Text) = 0
auch ein Exit? Denn es darf ja nichts mehr geschehen, wenn du durch 0 dividierst.
Also:
Delphi-Quellcode:
IF StrToFloat(edDivisor.Text) = 0 THEN
begin
    ShowMessage('..');
    Exit;
end;

himitsu 20. Aug 2010 09:57

AW: Taschenrechner 2.0 - Der Multi-Rechner
 
Ich würde auch noch auf Hier im Forum suchenStrToFloatDef und Hier im Forum suchenTryStrToFloat hinweisen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr.
Seite 3 von 5     123 45      

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