Leben

Grundlegendes zu typisierten Konstanten in Delphi

Grundlegendes zu typisierten Konstanten in Delphi

Wenn Delphi einen Event-Handler aufruft, werden die alten Werte lokaler Variablen gelöscht. Was ist, wenn wir verfolgen möchten, wie oft auf eine Schaltfläche geklickt wurde? Wir könnten die Werte beibehalten, indem wir eine Variable auf Einheitenebene verwenden, aber es ist im Allgemeinen eine gute Idee, Variablen auf Einheitenebene nur für den Informationsaustausch zu reservieren. Was wir brauchen, werden in Delphi normalerweise als statische Variablen oder typisierte Konstanten bezeichnet.

Variable oder Konstante

Typisierte Konstanten können mit initialisierten Variablen verglichen werden - Variablen, deren Werte beim Eintritt in ihren Block definiert werden (normalerweise Event-Handler). Eine solche Variable wird nur initialisiert, wenn das Programm gestartet wird. Danach bleibt der Wert einer typisierten Konstante zwischen aufeinanderfolgenden Aufrufen ihrer Prozeduren erhalten.

Die Verwendung typisierter Konstanten ist eine sehr saubere Methode zur Implementierung automatisch initialisierter Variablen. Um diese Variablen ohne typisierte Konstanten zu implementieren, müssen wir einen Initialisierungsabschnitt erstellen, der den Wert jeder initialisierten Variablen festlegt.

Variable typisierte Konstanten

Obwohl wir im const-Abschnitt einer Prozedur typisierte Konstanten deklarieren, ist es wichtig, sich daran zu erinnern, dass es sich nicht um Konstanten handelt. Wenn Sie zu einem beliebigen Zeitpunkt in Ihrer Anwendung Zugriff auf den Bezeichner für eine typisierte Konstante haben, können Sie deren Wert ändern.

Setzen Sie eine Schaltfläche in ein leeres Formular, und weisen Sie dem OnClick-Ereignishandler den folgenden Code zu, um typisierte Konstanten bei der Arbeit anzuzeigen:

Verfahren TForm1.Button1Click (Absender: TObject); const Klicks: Integer = 1; // keine wahre Konstante Start Form1.Caption: = IntToStr (Klicks); Klicks: = Klicks + 1; Ende;

Beachten Sie, dass jedes Mal, wenn Sie auf die Schaltfläche klicken, die Bildunterschriften stetig erhöht werden.
Versuchen Sie jetzt den folgenden Code:

Verfahren TForm1.Button1Click (Absender: TObject); var Klicks: Integer; Start Form1.Caption: = IntToStr (Klicks); Klicks: = Klicks + 1; Ende;

Wir verwenden jetzt eine nicht initialisierte Variable für den Klickzähler. Beachten Sie, dass seltsame Werte in der Formulartitel, nachdem Sie auf die Schaltfläche klicken.

Konstante typisierte Konstanten

Man muss zustimmen, dass die Vorstellung von veränderbaren Konstanten etwas seltsam klingt. In 32-Bit-Versionen von Delphi entschloss sich Borland, von ihrer Verwendung abzuraten, unterstützte sie jedoch für älteren Delphi 1-Code.

Zuweisbare typisierte Konstanten können auf der Compiler-Seite des Dialogfelds Projektoptionen aktiviert oder deaktiviert werden.

Wenn Sie Zuweisbare typisierte Konstanten für ein bestimmtes Projekt deaktiviert haben und versuchen, den vorherigen Code zu kompilieren, gibt Delphi beim Kompilieren den Fehler "Linke Seite kann nicht zugewiesen werden" aus. Sie können jedoch eine zuweisbare typisierte Konstante erstellen, indem Sie Folgendes deklarieren:

{$ J +} const Klicks: Integer = 1; {$ J-}

Daher sieht der erste Beispielcode folgendermaßen aus:

Verfahren TForm1.Button1Click (Absender: TObject); const {$ J +} Klicks: Integer = 1; // keine wahre Konstante {$ J-} Start Form1.Caption: = IntToStr (Klicks); Klicks: = Klicks + 1; Ende;

Fazit

Sie müssen entscheiden, ob Sie typisierte Konstanten zuweisen möchten oder nicht. Wichtig hierbei ist, dass typisierte Konstanten nicht nur ideal für Zähler sind, sondern auch dazu geeignet sind, Komponenten abwechselnd sichtbar oder unsichtbar zu machen, oder dass wir sie zum Umschalten zwischen booleschen Eigenschaften verwenden können. Eingegebene Konstanten können auch in der Ereignisbehandlungsroutine von TTimer verwendet werden, um zu verfolgen, wie oft sie ausgelöst wurden.

Schau das Video: Tuning - Allgemeine Informationen (March 2020).