AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Extended-Wert "1E2500" gefressen von Delphi 7, aber nicht 10
Thema durchsuchen
Ansicht
Themen-Optionen

Extended-Wert "1E2500" gefressen von Delphi 7, aber nicht 10

Ein Thema von triangulum · begonnen am 8. Nov 2006 · letzter Beitrag vom 8. Nov 2006
Antwort Antwort
triangulum

Registriert seit: 21. Jul 2006
39 Beiträge
 
Delphi 7 Professional
 
#1

Extended-Wert "1E2500" gefressen von Delphi 7, abe

  Alt 8. Nov 2006, 10:54
Salü,

ein aus Delphi 7 importiertes Programm hat die Zuweisungen

Delphi-Quellcode:
Min.x := 1E2500;
  Min.y := 1E2500;
  Max.x := -1E2500;
(Die Vars sind alle "extended")
In Delphi 7 einwandfrei. Im Delphi 10 kommt die Errormeldung

Ungültige reale Konstante in Zeile <soundso>

Anmerkung: 1E250 frißt er noch. 1E2500 scheint ihm aber zu groß zu sein. Wieso? Es kann doch nicht der Extended-Wertebereich von 7 auf 10 erniedrigt worden sein ...!
Multa narrare possum, sed longum est ....
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 11:13
Moin,

Delphi 10 ist bei dir Delphi 2006?

Bei mir klappt das jedenfalls problemlos.

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  test: extended;
begin
 test := 1E2500;
 test := 1E2500;
 test := -1E2500;
end;
  Mit Zitat antworten Zitat
triangulum

Registriert seit: 21. Jul 2006
39 Beiträge
 
Delphi 7 Professional
 
#3

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 12:19
Ja, es ist Delphi 2006, dh. Borland Developer Studio "Architect" 2006
Multa narrare possum, sed longum est ....
  Mit Zitat antworten Zitat
triangulum

Registriert seit: 21. Jul 2006
39 Beiträge
 
Delphi 7 Professional
 
#4

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 12:25
308 ist der höchste Exponent, den er frißt. Also als Zuweisung Min.x := 1E308.

Nun ist 308 "zufällig" auch die Obergrenze des Double-Wertebereichs. Unsere Variablen sind aber als Extended definiert. D.h. wir hätten auch gerne den Extended-Wertebereich.
Verwechselt er Double mit Extended ....?
Multa narrare possum, sed longum est ....
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 12:31
Delphi-Quellcode:
Const
  myBigBigNumber : Extended = 1E2500;
(sofern die Syntax für die Zahl korrekt ist). Und dann mit der Konstanten arbeiten. Ist sowieso viel viel besser. Denn was bedeutet 1E2500? (rethorische Frage). Grundsätzlich sollte man keine Konstanten direkt im Quellcode verwursten, die Lesbarkeit leidet darunter...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
triangulum

Registriert seit: 21. Jul 2006
39 Beiträge
 
Delphi 7 Professional
 
#6

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 12:46
Const myBigBigNumber : Extended = 1E2500; Das frißt er leider auch nicht bei mir ....

Muss man in Version 10 für den Gebrauch des Extended irgendetwas importieren in der uses-Klausel? Nicht dass ich wüsste ...
Multa narrare possum, sed longum est ....
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 12:58
Gut, Schau einfach in die Math.Pas, dort ist MaxExtended als
Zitat von Die Unit Math.Pas:
Delphi-Quellcode:
const { Ranges of the IEEE floating point types, including denormals }
  MinSingle = 1.5e-45;
  MaxSingle = 3.4e+38;
  MinDouble = 5.0e-324;
  MaxDouble = 1.7e+308;
  MinExtended = 3.4e-4932;
  MaxExtended = 1.1e+4932;
  MinComp = -9.223372036854775807e+18;
  MaxComp = 9.223372036854775807e+18;
Also sollte das auch ohne typisierte Konstanten kein Problem sein.

Nebenbei kann ich dein Problem nicht nachvollziehen (BDS2006 Architect):
Delphi-Quellcode:
Var
  e :Extended;

begin
  e := 1.0e+2500;
  E := 1E2500;
  E := -1E2500;
end;
wird anstandslos kompiliert...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 13:00
Moin Triangulum,

was ist denn Min (bzw. Max)?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 13:11
In der Strukturanzeige wird zwar ein Fehler gemeldet, aber Programm kann trotzdem kompiliert werden und läuft.

Ist u.U. nur der "schnelle Syntaxcheck" der hier fehlschlägt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
triangulum

Registriert seit: 21. Jul 2006
39 Beiträge
 
Delphi 7 Professional
 
#10

Re: Extended-Wert "1E2500" gefressen von Delphi 7,

  Alt 8. Nov 2006, 15:00
Zitat:
Ist u.U. nur der "schnelle Syntaxcheck" der hier fehlschlägt.
Der Hund liegt hier wohl in der Tat woanders begraben. Weiß noch nicht wo (ist nicht die einzige Errormeldung...), aber beim Lancieren des Programms kommt eine ganz andere Fehlermeldung als die vom Schnellsyntaxcheck ....
Zitat:
was ist denn Min (bzw. Max)?
Jedenfalls im Moment keine Variablen, die er richtig erkennt ... das Übel liegt also tiefer ....
Multa narrare possum, sed longum est ....
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:14 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