Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Was bringen Konstanten? (https://www.delphipraxis.net/8968-bringen-konstanten.html)

Pseudemys Nelsoni 16. Sep 2003 09:54

Re: Was bringen Konstanten?
 
jetzt wo ich dein alter sehe...ich denke du weisst schon was das ist *g*...vielleicht hätt ichs dazu schreiben sollen :coder:

Billa 16. Sep 2003 09:55

Re: Was bringen Konstanten?
 
Danke für das Verständnis, irgendwann lässt halt das Augenlicht nach, der Geist wird schwach und die Enkel wollen einen auch nicht mehr besuchen, da wird man leicht grantig... :lol:

Pseudemys Nelsoni 16. Sep 2003 09:56

Re: Was bringen Konstanten?
 
klar, die älteren muss man ja respektieren =)

Chewie 16. Sep 2003 15:43

Re: Was bringen Konstanten?
 
Lasst ihn doch, Jungs und Mädels. Wenn er die Vorteile der unterschiedlichen Benutzung nicht einsehen will, dann sei es so. Er wird es (hoffentlich) selbst mal merken.

Daniel B 16. Sep 2003 16:16

Re: Was bringen Konstanten?
 
So Jungs, Ihr seid jetzt ganz schön OT, kommt Bitte wieder runter... Danke! ;)

Nalincah 13. Jul 2004 15:59

Re: Was bringen Konstanten?
 
Ich hab mal gelesen das man Constanten im Programm zur Laufzeit verändern kann. Mit Hilfe einer Compiler-Direktive. Der Sinn des Ganzen ist, dass man dadurch eine "Universal-Variable" erhält, der es egal ist von welchem Typ der Wert ist.

Ist da was dran?

sakura 13. Jul 2004 16:04

Re: Was bringen Konstanten?
 
Zitat:

Zitat von General2004
Ich hab mal gelesen das man Constanten im Programm zur Laufzeit verändern kann. Mit Hilfe einer Compiler-Direktive. Der Sinn des Ganzen ist, dass man dadurch eine "Universal-Variable" erhält, der es egal ist von welchem Typ der Wert ist.

Ist da was dran?

Jain, es geht. Allerdings ist die Variable nicht vom "universalen Typ", sondern man muss sich dann festlegen. Inzwischen kann man das Gleiche stattdessen mit Variablen machen - und - es gibt ja auch den Typen Variant :mrgreen:

...:cat:...

Nalincah 13. Jul 2004 16:06

Re: Was bringen Konstanten?
 
Jupp

Aus der Delphi-OH

Zitat:

Typisierte Konstanten

Typisierte Konstanten können im Gegensatz zu echten Konstanten auch Werte mit Array-, Record-, Zeiger- und prozeduralem Typ enthalten. Konstante Ausdrücke dürfen keine typisierten Konstanten enthalten.
Im Standardstatus des Compilers ({$J+}) können typisierten Konstanten neue Werte zugewiesen werden. Sie entsprechen damit initialisierten Variablen. Ist dagegen die Compiler-Direktive {$J–} aktiviert, können die Werte typisierter Konstanten zur Laufzeit nicht geändert werden. Sie verhalten sich dann wie schreibgeschützte Variablen.

Typisierte Konstanten werden folgendermaßen deklariert:

const Bezeichner: Typ = Wert

Dabei ist Bezeichner ein gültiger Bezeichner, Typ ist jeder beliebige Typ mit Ausnahme von Datei und Variante, und Wert ist ein Ausdruck des Typs Typ. Beispiel:

const Max: Integer = 100;

In den meisten Fällen muß Wert ein konstanter Ausdruck sein. Wenn für Typ ein Array-, Record-, Zeiger- oder prozeduraler Typ angegeben wird, gelten spezielle Regeln.
Array-Konstanten
Record-Konstanten
Prozedurale Konstanten
Zeigerkonstanten

Uwe42 13. Jul 2004 16:27

Re: Was bringen Konstanten?
 
Hi,

typisierte Konstanten haben u.a. einen wichtigen Sinn, sie erlauben Statische Variablen.
Mit einer lokal angelegten typisierten Konstante kannst du beispielsweise Werte in Methoden, Prozeduren und Funktionen (Fkt)beibehalten, auch dann, wenn die Fkt. verlassen und wieder betreten wurde. Natürlich ginge dies auch mit einer globalen Variable - wäre aber nicht so elegant. Jede globale Variable zerstört dein Programm ein bisschen.

Wenn du z.B. innerhalb einer Prozedure wissen willst, wie oft sie bisher aufgerufen wurde, könntest du folgendes schreiben:

Procedure Test()
const iNoOfInvokes : integer = 0;
begin
...
Inc(iNoOfInvokes);
if (iNoOfInvokes > 10) then
...
end;

Dies funktioniert natürlich auch mit Methoden usw.

Ciao
Uwe

Luckie 13. Jul 2004 16:54

Re: Was bringen Konstanten?
 
Zitat:

Jede globale Variable zerstört dein Programm ein bisschen.
Bitte was? Ich brauche sehr selten globale Variablen, wen ich die VCL nutze. Private Felder einer Klasse reichen meist dicke aus.

Desweiteren führen typisierte Konstanten das Prinzip der Konsante ad adsurdum.

Hansa 13. Jul 2004 18:25

Re: Was bringen Konstanten?
 
Zitat:

Zitat von Luckie
Desweiteren führen typisierte Konstanten das Prinzip der Konsante ad adsurdum.

Wo er Recht hat hat er Recht. :P Die Namen Konstante oder Variable sollten eigentlich alles sagen. Ausnahme : jemand will Sphagetti-Code produzieren. :zwinker:

Uwe42 13. Jul 2004 19:25

Re: Was bringen Konstanten?
 
Hi,

da habt Ihr allerdings recht.
Die Bezeichnung "typisierte Konstante" innerhalb von Funktionen sollte eher "Statische Variable" heißen und innerhalb von Klassen: "Klassenvariable".

Gruß
Uwe

Hansa 13. Jul 2004 20:02

Re: Was bringen Konstanten?
 
Hier hat anscheinend jeder Recht. :mrgreen: Statische Variable kommt dem Zweck näher bringt aber eventuell, sofern eingesetzt, die gleichen Probleme. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr.
Seite 2 von 2     12   

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