TO_STRING/TO_WSTRING für Enumerationsvariablen

Wenn Sie die textuellen Bezeichner einer Enumerationskomponente abfragen möchten, um diesen zum Beispiel in einer Textausgabe weiterzuverarbeiten, fügen Sie oberhalb der Deklaration der Enumeration das Attribut 'to_string' hinzu. Im Implementierungsteil können Sie dann auf eine Enumerationsvariable oder auf die Komponenten der Enumeration die Konvertierungsfunktionen TO_STRING bzw. TO_WSTRING anwenden und bekommen dabei den Namen der Enumerationskomponente zurückgeliefert.

TO_STRING/TO_WSTRING für Enumerationsvariablen 1:

Attribut 'to_string'

Verfügbar ab TC3.1 Build 4024

Die Konvertierungsfunktionen TO_STRING/TO_WSTRING können Sie auch auf Enumerationen anwenden, die nicht mit dem Attribut 'to_string' deklariert sind. In diesem Fall bekommen Sie den numerischen Wert der Enumerationskomponente zurückgeliefert.

Beispiel:

Enumeration E_Sample

{attribute 'qualified_only'}
{attribute 'strict'}
{attribute 'to_string'}
TYPE E_Sample :
(
    eInit := 0,
    eStart,
    eStop
);
END_TYPE

Programm MAIN

PROGRAM MAIN
VAR
    eSample         : E_Sample;
    nCurrentValue   : INT;
    sCurrentValue   : STRING;
    wsCurrentValue  : WSTRING;
 
    sComponent      : STRING;
    wsComponent     : WSTRING;
END_VAR
nCurrentValue  := eSample; 
sCurrentValue  := TO_STRING(eSample);
wsCurrentValue := TO_WSTRING(eSample);

sComponent     := TO_STRING(E_Sample.eStart);
wsComponent    := TO_WSTRING(E_Sample.eStop);

 

Ergebnis der Zuweisungen/Konvertierungsfunktionen:

 

Ergebnis, falls die Enumeration nicht mit dem Attribut 'to_string' deklariert wäre:

Siehe auch: