![]() |
AW: Taschenrechner 2.0 - Der Multi-Rechner
Die beiden Funktionen würden sich fast schon aufdrängen.
Alternativ evtl. mit Try Except arbeiten:
Delphi-Quellcode:
€: geht ja um Gleitkommazahlen, Code angepasst
procedure TForm1.Button1Click(Sender: TObject);
var x,y : double; begin y := 0; try x := 1 / y; // ShowMessage wird nie ausgeführt, // da der Code davor eine Exception ausgelöst hat ShowMessage(FloatToStr(x)); except on E:EZeroDivide do ShowMessage('Durch 0 darf nicht dividiert werden.'); end; end; |
AW: Taschenrechner 2.0 - Der Multi-Rechner
Nein ich verwende keine doubles sondern Real :
Delphi-Quellcode:
dann geht es ganz normal weiter
var a, b, c : Real;
Delphi-Quellcode:
usw.
a:= strtofloat(edit1.Text)
|
AW: Taschenrechner 2.0 - Der Multi-Rechner
Hallo LDProgrammierer,
was spricht den gegen die Verwendung von Delpi-Tags? Ich habe in diesem Thread hier deine Beiträge schon mehrmals in der Hoffnung korrigiert, dass du es merkst! Ich bitte dich in zukünftigen Beiträgen, bitte die richtigen Tags zu verwenden. |
AW: Taschenrechner 2.0 - Der Multi-Rechner
Zitat:
Verwendung von Real macht aber imho seit den Pentium-Prozessoren mit integriertem Co-Prozessor keinen Sinn mehr. Man könnte also gleich Double mit höherer Genauigkeit nehmen. Meine selbst in der Delphi 5 Hilfe wird schon geschrieben, dass Real im Prinzip veraltet ist. Nachdem ich einfach in die Hilfe geschaut hatte, hab' es wohl mit Real48 verwechselt. Real in aktuellen Version ist identisch mit Double. |
AW: Taschenrechner 2.0 - Der Multi-Rechner
Zitat:
|
AW: Taschenrechner 2.0 - Der Multi-Rechner
Real Single ist nur schöne knuffige 4 Byte groß und wenn einem der etwas kleinere Wertebereich und die geringere Genauigkeit ausreicht, dann ist dieser doch erste Wahl?
Ich nehm auch nicht überall Int64 oder gar irgendwas BigInt-Artiges, wenn mit doch ein Integer oder Byteausreichen würde. Float sollte von der Größe mit dem Integer übereinstimmen, also einer Registerbreite. [edit] ach mist, jetzt hab'sch Float mit Real verwechselt |
AW: Taschenrechner 2.0 - Der Multi-Rechner
Zitat:
Zitat:
|
AW: Taschenrechner 2.0 - Der Multi-Rechner
Das hat eher was mit Speicher-/Recordausrichtungen zu tun.
OK, Real = Double (nicht Siglge), aber egal ... Real ist auf jedenfalls kein "alter" Typ ... es ist nur eine "Umleitung", welche aktuell auf Double zeigt. Real48 (in aktuellen Delphis) und das 6 Byte "Real" in alten Delphis ist wirklich obsolete. |
AW: Taschenrechner 2.0 - Der Multi-Rechner
OK endlich habe ich es geschafft ich habe aber den folgenden Code verwendet:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c : Real; begin a:= strtofloat(edit1.Text); b:= strtofloat(edit2.Text); c:= a/b; if b = 0 then ShowMessage('Durch NULL darf nicht dividiert werden!') else begin c:= a/b; Edit3.Text := floattostr(c); end; end; end. |
AW: Taschenrechner 2.0 - Der Multi-Rechner
Das
Delphi-Quellcode:
vor der IF-Abfrage ist wohl noch zuviel.
c:= a/b;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 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