AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Taschenrechner 2.0 - Der Multi-Rechner
Thema durchsuchen
Ansicht
Themen-Optionen

Taschenrechner 2.0 - Der Multi-Rechner

Ein Thema von LDProgrammierer · begonnen am 17. Aug 2010 · letzter Beitrag vom 21. Aug 2010
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
LDProgrammierer
Registriert seit: 16. Aug 2010
Also gut hier eine völlig neue Version des Taschenrechnes, die nun in der Mitte des Bildschirms startet und mehrere Funktionen hat Wie : Umfang/Flächeninhalt von : Quadrat, Rechteck
Flächeninhalt vom Dreieck und Prozentrechnen, ich habe bei der Gelegenheit auch gleich das PageControl getestet. Natürlich sind auch die Grundrechenarten vorhanen, und ein XPManifest hab ich auch eingebaut, das verleiht dem Programm einen guten Stil. Auf dem Bild ist leider nur die Seite mit den Grundrechenarten zuseheh. mfg
Miniaturansicht angehängter Grafiken
1.jpg  
Angehängte Dateien
Dateityp: rar Taschenrechner 2.0.rar (166,6 KB, 69x aufgerufen)

Geändert von LDProgrammierer (18. Aug 2010 um 12:21 Uhr)
 
Satty67

 
Delphi 2007 Professional
 
#31
  Alt 20. Aug 2010, 11:04
Die beiden Funktionen würden sich fast schon aufdrängen.

Alternativ evtl. mit Try Except arbeiten:
Delphi-Quellcode:
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;
€: geht ja um Gleitkommazahlen, Code angepasst

Geändert von Satty67 (20. Aug 2010 um 11:12 Uhr)
  Mit Zitat antworten Zitat
LDProgrammierer

 
Delphi 7 Enterprise
 
#32
  Alt 20. Aug 2010, 12:06
Nein ich verwende keine doubles sondern Real :var a, b, c : Real; dann geht es ganz normal weiter a:= strtofloat(edit1.Text) usw.

Geändert von mkinzler (20. Aug 2010 um 12:11 Uhr)
  Mit Zitat antworten Zitat
mkinzler

 
Delphi 11 Alexandria
 
#33
  Alt 20. Aug 2010, 12:13
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Satty67

 
Delphi 2007 Professional
 
#34
  Alt 20. Aug 2010, 12:50
Nein ich verwende keine doubles sondern Real
Sind ja beides Gleitkommazahlen, real ist nur der kleinere Bruder

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.

Geändert von Satty67 (20. Aug 2010 um 13:14 Uhr)
  Mit Zitat antworten Zitat
OrNEC

 
FreePascal / Lazarus
 
#35
  Alt 20. Aug 2010, 13:07
Meine selbst in der Delphi 5 Hilfe wird schon geschrieben, dass Real im Prinzip veraltet ist.
Und was heißt veraltet? Ist Real gebrechlich und das Gedächtnis lässt nach oder wie?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#36
  Alt 20. Aug 2010, 13:20
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

Geändert von himitsu (20. Aug 2010 um 14:35 Uhr)
  Mit Zitat antworten Zitat
gammatester
 
#37
  Alt 20. Aug 2010, 13:52
Real 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?
Nein, das alte real war 48Bit = 6Byte groß (und wird wohl jetzt auf double umgelenkt)
Zitat von himitsu:
Float sollte von der Größe mit dem Integer übereinstimmen, also einer Registerbreite.
Warum? Was haben die Floatingpoint-Register mit 80Bit mit den normalen CPU-Registern zu tun?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#38
  Alt 20. Aug 2010, 14:38
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.
  Mit Zitat antworten Zitat
LDProgrammierer

 
Delphi 7 Enterprise
 
#39
  Alt 21. Aug 2010, 11:54
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#40
  Alt 21. Aug 2010, 11:56
Das c:= a/b; vor der IF-Abfrage ist wohl noch zuviel.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:11 Uhr.
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