ENUM to STRING ??

mwatermann
2008-04-29
2008-04-30
  • mwatermann - 2008-04-29

    servus,

    habe folgendes problem:

    ich versuche einen fehlerzustand eines ENUMs in eine STRING variable zu überführen, was nicht funktioniert. in der VISU kann ich diese variable alledings mit %s als string ausgeben.

    ENUM beispiel vom typ (stark vereinfacht!):

    TYPE pError :
    (
    OK := 1;
    NICHT_OK := 2;
    );
    END_TYPE
    

    lasse ich pError in der visu mit %s ausgeben, erscheint auch "OK" und "NICHT_OK" als string. allerdings kann ich pError nicht programmatisch in eine string variable kopieren. es kommt der fehler, dass nicht in string konvertiert werden kann.

    gibt es einen trick oder andere möglichkeit?? (ohne zusätzliche case anweisung und weiteren zuweisungen)

     
  • mwatermann - 2008-04-29

    hintergrund:

    ich habe ENUMs mit langer fehlerbeschreibung, die nicht in jedes fenster der visu passen.

    nun möchte ich diese enums in temporäre strings kopieren und "von hand" durch das visu fenster "scrollen"/"tickern" lassen... vllt. geht das ganze ja aber auch einfacher und jemand hat ne andere anregung/lösung...?!

     
  • Erik Böhm - 2008-04-29

    Hi nochmal

    Ich würde sagen, du musst dir einfach ein String Array erstellen, das die Texte im entsprechenden Index enthält.

    Eine Enumeration ist nur ein Textersatz zur besseren Lesbarkeit des Quellcodes.

    Nach dem compilieren gibts den Text nicht mehr.

    Gruss

    Erik

     
  • mwatermann - 2008-04-30

    danke dir erst mal, aber:

    Zitat:
    Nach dem compilieren gibts den Text nicht mehr.

    wie kommt der enum text dann während der laufzeit mit %s in das visu textfeld?!?

    zu deinem link:

    Zitat:
    Alternativ kannst du aber für jeden Enum eine eigene Funktion schreiben, in der du (z.B. mit CASE OF) je nach eingegebener Zahl einen String zurücklieferst.
    Dies währe meine Lösung.

    genau das möchte ich ja eigentlich vermeiden...

     
  • Ralph Holz - 2008-04-30

    Hallo Leute,

    ich habe mal unsere Visu Fritzen gefragt wie sie das machen. Wenn eine Steuerung Target Visu kann wird beim Kompilieren eine ich nenne es mal Tabelle erzeugt auf die die Visu dann mit hilfe einer ID zugreift. In diese Tabelle werden aber nur die in der Visu verwendeten Enums eingetragen. Aber einen vernünftigen Weg wie man aus der Applikation darauf zugreifen kann gibt es leider nicht.

    Also Klartext: Die Info ist da wir kommen aber nicht dran!

    Gruß

    Ralph

     
  • mwatermann - 2008-04-30

    sowas dachte ich mir leider schon... schade...

    dann wirds wohl doch auf CASE funktion mit zuweisung hinauslaufen...

    danke euch trotzdem!

     

Log in to post a comment.