User Tools

Site Tools


k7:k7.1:start

7.1 Constants and Enumeration

In contrast to variables, constants contain any number of fixed values that you cannot change at program runtime. A corresponding attempt would result in an error message! You must also specify the required data type for the constants in the declaration.

7.1.1.1 Constants

Constants data types can only be Boolean, integer, long, float or string. With the optional keywords Public or Private you can set the access rights to a constant. If you use the keyword Public, the declared constant can also be accessed from the other classes that have a reference to an object of this class. Without public or private, only one class global constant is declared.

Public Const DATEI_PFAD As String = "/home/hans/daten"
Const KURS_ANZAHL As Integer = 7
Const FAKTOR As Float = 2.222 
Private Const DEBUG As Boolean = True

These declarations of constants are incorrect:

(1) Const WERT As Float = KURS_ANZAHL / FAKTOR 
(2) Const FAKTOR3 As Float = 2.71828182845 / 3.1415
(3) Const DATUM As Date = "12.12.2012"
(4) Const ZAHL_PI As Float = Pi()

Comment:

  • Calculations are performed in lines 1 and 2.
  • The Date data type must not be used for a constant declaration (line 3).
  • In line 4, the constant ZAHL_PI is assigned the function value of a function, which is not allowed.

7.1.2 Enumeration - Enumeration

An enumeration is a list of integer constants in a list where each constant has its own name and integer value. The individual values in the list are separated by commas. If you do not assign an integer value, the first value in the list is 0 and all subsequent values are increased by 1. The keyword is Enum. You can also define access rights for constants using the keywords Public or Private.

(1) Public Enum Spring, Summer, Autumn, Winter
(2) Private Enum oben = 5, unten, links, rechts
(3) Enum LehmannRot = 16711680, MeierGelb = &HFFFF44, BoegeGruen = &H00FF08
(4) 
(5) Public Sub SetJahreszeit(iJahreszeit As Integer)   
(6)   Select Case iJahreszeit
(7)     Case Spring 
(8)         Message.Info("Frühling lässt sein blaues Band ...!")
(9)     Case Summer 
(10)         Message.Info("Sommer, Sonne, Ostsee-Strand!")
(11)     Case Autumn 
(12)         Message.Info("Wenn im Herbst die Blätter fallen ...!")
(13)     Case Else ' Winter 
(14)         Message.Info("Endlich Winter!")
(15)   End Select ' iJahreszeit  
(16) End ' SetJahreszeit(...)
(17) 
(18) Public Sub SetColor(iColor As Integer)   
(19)   TextArea1.Background = iColor  
(20) End ' SetColor(...)
(21) 
(22) Public Sub btnEnumeration_Click()
(23)    SetJahreszeit(Winter)
(24)    SetColor(MeierGelb)
(25)    Message.Info("Der Wert für links ist " & links & ".")
(26) End ' btnEnumeration_Click()

Comments:

  • The comments here refer only to the declarations of the enumerations. The other procedures show how to use the three lists of integer constants.
  • In line 1, a list of integer constants is created in which the value 0 is automatically assigned to the first constant. For all further constants, the start value is increased by 1. You could have declared the list with Spring=0, Summer=1, Autumn=2, Winter=3.
  • In the second list, the number 5 is assigned to the first value. Thus, the constant is automatically assigned the value 6 at the bottom, the value 7 at the left, and the value 8 is the corresponding value for the right.
  • In the third list, each constant in the color list is assigned its own integer value (e. g. hexadecimal).

7.1.3 Download

7.1 Konstanten und Enumeration

Konstanten nehmen im Gegensatz zu Variablen beliebige, aber feste Werte auf, die Sie zur Laufzeit eines Programms nicht ändern können. Ein entsprechender Versuch würde mit einer Fehlermeldung enden! Auch bei den Konstanten müssen Sie bei der Deklaration den benötigten Datentyp angeben.

7.1.1 Konstanten

Konstanten-Datentypen können nur Boolean, Integer, Long, Float oder String sein. Mit den optionalen Schlüsselworten Public oder Private können Sie die Zugriffsrechte auf eine Konstante setzen. Nutzen Sie das Schlüsselwort Public, dann ist die deklarierte Konstante auch von den anderen Klassen aus erreichbar, die eine Referenz auf ein Objekt dieser Klasse haben. Ohne Public oder Private wird nur eine klassen-globale Konstante deklariert.

Public Const DATEI_PFAD As String = "/home/hans/daten"
Const KURS_ANZAHL As Integer = 7
Const FAKTOR As Float = 2.222 
Private Const DEBUG As Boolean = True

Diese Deklarationen von Konstanten sind fehlerhaft:

(1) Const WERT As Float = KURS_ANZAHL / FAKTOR 
(2) Const FAKTOR3 As Float = 2.71828182845 / 3.1415
(3) Const DATUM As Date = "12.12.2012"
(4) Const ZAHL_PI As Float = Pi()

Kommentar:

  • In den Zeilen 1 und 2 werden Berechnungen ausgeführt.
  • Der Datentyp Date darf bei einer Konstanten-Deklaration (Zeile 3) nicht verwendet werden.
  • In der Zeile 4 wird der Konstanten ZAHL_PI der Funktionswert einer Funktion zugewiesen, was nicht zulässig ist.

7.1.2 Enumeration – Aufzählung

Eine Enumeration ist eine Aufzählung von Integer-Konstanten in einer Liste, bei denen jede Konstante einen eigenen Namen trägt und einen Integer-Wert besitzt. Die einzelnen Werte in der Liste werden durch Komma getrennt. Vergeben Sie keinen Integer-Wert, dann erhält der erste Wert in der Liste den Wert 0 und alle folgenden einen jeweils um 1 erhöhten Wert. Das Schlüsselwort ist Enum. Auch bei den Konstanten können Sie die Zugriffsrechte über die Schlüsselworte Public oder Private festlegen.

(1) Public Enum Spring, Summer, Autumn, Winter
(2) Private Enum oben = 5, unten, links, rechts
(3) Enum LehmannRot = 16711680, MeierGelb = &HFFFF44, BoegeGruen = &H00FF08
(4) 
(5) Public Sub SetJahreszeit(iJahreszeit As Integer)   
(6)   Select Case iJahreszeit
(7)     Case Spring 
(8)         Message.Info("Frühling lässt sein blaues Band ...!")
(9)     Case Summer 
(10)         Message.Info("Sommer, Sonne, Ostsee-Strand!")
(11)     Case Autumn 
(12)         Message.Info("Wenn im Herbst die Blätter fallen ...!")
(13)     Case Else ' Winter 
(14)         Message.Info("Endlich Winter!")
(15)   End Select ' iJahreszeit  
(16) End ' SetJahreszeit(...)
(17) 
(18) Public Sub SetColor(iColor As Integer)   
(19)   TextArea1.Background = iColor  
(20) End ' SetColor(...)
(21) 
(22) Public Sub btnEnumeration_Click()
(23)    SetJahreszeit(Winter)
(24)    SetColor(MeierGelb)
(25)    Message.Info("Der Wert für links ist " & links & ".")
(26) End ' btnEnumeration_Click()

Kommentare:

  • Die Kommentare beziehen sich hier nur auf die Deklarationen der Aufzählungen. Die weiteren Prozeduren zeigen die Verwendung der drei Listen von Integer-Konstanten.
  • In der Zeile 1 wird eine Liste von Integer-Konstanten angelegt, bei der automatisch der ersten Konstanten der Wert 0 zugeordnet wird. Bei allen weiteren Konstanten wird der Startwert um 1 erhöht. Sie hätten die Liste auch mit Spring=0, Summer=1, Autumn=2, Winter=3 deklarieren können.
  • In der zweiten Liste wird dem ersten Wert die Zahl 5 zugewiesen. Somit erhält die Konstante unten automatisch den Wert 6, links den Wert 7 und die 8 ist korrespondierender Wert für rechts.
  • In der dritten Liste wird jeder Konstanten in der Farb-Liste ein eigener ganzzahliger Wert (u.a. hexadezimal) zugewiesen.

7.1.3 Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k7/k7.1/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools