Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Alle REAL variablen als EXTENDED, wie? (https://www.delphipraxis.net/200930-alle-real-variablen-als-extended-wie.html)

MET 8. Jun 2019 06:53

Delphi-Version: 5

Alle REAL variablen als EXTENDED, wie?
 
Wie kann man in einem umfangreichen Programm alle REAL Typen als EXTENDED definieren? Ich habe einmal gesehen, dass dies mit einem Befel möglich ist.

Andreas13 8. Jun 2019 08:33

AW: Alle REAL variablen als EXTENDED, wie?
 
Delphi-Quellcode:
Type
  Real = Extended;
Gruß
Andreas

peterbelow 8. Jun 2019 11:49

AW: Alle REAL variablen als EXTENDED, wie?
 
Zitat:

Zitat von MET (Beitrag 1434179)
Wie kann man in einem umfangreichen Programm alle REAL Typen als EXTENDED definieren? Ich habe einmal gesehen, dass dies mit einem Befel möglich ist.

Falls Du wirklich noch Delphi 5 verwendest, war das da nicht sogar der Default? Ach nein, da war Real noch ein eigener 6-byte floating point typ (später REAL48 genannt).

Man kann zwar im eigenen Code Real als Alias für Extended definieren, aber das geht nicht Projekt-weit. Man muss es in jeder einzelnen Unit machen. Da ist es sicher einfacher, mit einem entsprechenden Programm ein global search und replace in der Source zu machen. Der gute alte CodeWright konnte das (verwende ich immer noch für sowas), es gibt sicher Alternativen.

Andreas13 8. Jun 2019 14:19

AW: Alle REAL variablen als EXTENDED, wie?
 
Zitat:

Zitat von peterbelow (Beitrag 1434189)
... Da ist es sicher einfacher, mit einem entsprechenden Programm ein global search und replace in der Source zu machen. Der gute alte CodeWright konnte das (verwende ich immer noch für sowas), es gibt sicher Alternativen.

Suchen und ersetzen kann selbst der Editor von Delphi: <Strg>+<R> (R für "Replace"). Aber MET wollte doch wissen, wie das mit "einem Befehl" geht.
Bitte aber beim Ersetzen aufpassen, daß dabei die richtige Option (z.B. "nur ganze Wörter" oder "reguläre Ausdrücke") aktiviert ist, damit keine ungewollten Überraschungen auftreten...

Gruß
Andreas

uligerhardt 8. Jun 2019 15:30

AW: Alle REAL variablen als EXTENDED, wie?
 
Du meinst vielleicht {$REALCOMPATIBILITY ON}. Das macht Real allerdings zu einem Alias für Double, nicht Extended.

MET 8. Jun 2019 20:09

AW: Alle REAL variablen als EXTENDED, wie?
 
Bitte entschuldigt meine späte Reaktion, komme erst jetzt zum Antworten.
Andreas13, hat mich erinnert, was ich vor langer Zeit einmal sah; es war dies mit dieser Type-Deklaration. Der Tipp mit {$REALCOMPATIBILITY ON} für Double könnte für mich auch noch nützlich sein.

Vielen Dank für all' Eure Hilfe.

Ja trotz allen Widrigkeiten verwende ich immer noch D5. Inzwischen funktioniert die IDE nur noch auf einer VM mit WXP. Die ganze Sammlung an Programmen, die ich über all' die vielen Jahre für meine persönlichen Studien brauche, wurde so gross, dass ich mich scheue diese mit einer neueren Version zu kompileren.

Gruss MET

uligerhardt 9. Jun 2019 09:53

AW: Alle REAL variablen als EXTENDED, wie?
 
Zitat:

Zitat von MET (Beitrag 1434203)
Der Tipp mit {$REALCOMPATIBILITY ON} für Double könnte für mich auch noch nützlich sein.

Hat den Vorteil, dass du einfach einen Haken in den Projekteinstellungen setzt und gut ist's.

Zitat:

Zitat von MET (Beitrag 1434203)
Ja trotz allen Widrigkeiten verwende ich immer noch D5. Inzwischen funktioniert die IDE nur noch auf einer VM mit WXP. Die ganze Sammlung an Programmen, die ich über all' die vielen Jahre für meine persönlichen Studien brauche, wurde so gross, dass ich mich scheue diese mit einer neueren Version zu kompileren.

Zumindest ein Upgrade auf D2007 sollte kein Riesenakt sein. Ob du danach auf ein Unicode-fähiges Delphi gehen willst, ist eine andere Frage. :stupid:

MET 13. Jun 2019 13:21

AW: Alle REAL variablen als EXTENDED, wie?
 
Zitat:

Zitat von uligerhardt (Beitrag 1434208)
Zitat:

Zitat von MET (Beitrag 1434203)
Der Tipp mit {$REALCOMPATIBILITY ON} für Double könnte für mich auch noch nützlich sein.

Hat den Vorteil, dass du einfach einen Haken in den Projekteinstellungen setzt und gut ist's.

Finde in meinem D5 unter Projekt -> Optionen den Ort nicht, wo der Haken zu setzen ist. Dies wäre tatsächlich die einfachste Lösung, jedoch "nur" für DOUBLE.

Die Variante mit der TYPE-Deklaration scheint komplizierter zu werden. Das betreffende Programm enthält unter USES eine Vielzahl von UNITS. Nach meinem Verständnis müsste dann die Deklaration in jeder dieser Unuts gemacht werden. Oder übersehe ich etwas?

Andreas13 13. Jun 2019 14:13

AW: Alle REAL variablen als EXTENDED, wie?
 
Hi MET,
{$REALCOMPATIBILITY ON} ist ein sog. CompilerSchalter. Den müßtest Du auch in jeder Unit eintragen... Also ist es auch nicht einfacher. Einen "Haken" zum globalen Setzen kenne ich auch nicht, was dessen eventuelles Vorhandensein allerdings nicht ausschließt.

Gruß
Andreas

uligerhardt 13. Jun 2019 16:12

AW: Alle REAL variablen als EXTENDED, wie?
 
Zitat:

Zitat von MET (Beitrag 1434552)
Zitat:

Zitat von uligerhardt (Beitrag 1434208)
Zitat:

Zitat von MET (Beitrag 1434203)
Der Tipp mit {$REALCOMPATIBILITY ON} für Double könnte für mich auch noch nützlich sein.

Hat den Vorteil, dass du einfach einen Haken in den Projekteinstellungen setzt und gut ist's.

Finde in meinem D5 unter Projekt -> Optionen den Ort nicht, wo der Haken zu setzen ist. Dies wäre tatsächlich die einfachste Lösung, jedoch "nur" für DOUBLE.

Uppsi. Die meisten Compilerschalter haben eine Checkbox in den Projektoptionen - dieser hier leider nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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