Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 8 von 8

Thema: Enum als Array-Index

  1. #1
    Registriert seit
    15.12.2013
    Beiträge
    55
    Danke
    24
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Alle

    Ich habe ein Array, und ein Enum (könnte auch eine Konstante sein in S7-welt). Dann kann ich MeinArray[MeinEnumElement] schreiben. Ist das empfehlenswert, oder gibt es Nachteile? Andere haben References vorgeschlagen?

    Ich benutze Codesys-derivate, aber auch S7-lösungen sind interessant!

    Danke
    Zitieren Zitieren Gelöst: Enum als Array-Index  

  2. "
    Zitat Zitat von Not-Aus Beitrag anzeigen
    Ist das gut/nicht gut?
    Ein super gutes Beispiel! Das meine ich ganz ehrlich.
    Farblos, rot, grün, blau, gelb, türkis, violett (den Namen, der mit ma anfängt und genta aufhört, will ich vorsichtshalber nicht erwähnen, sonst krieg' ich Ärger mit der Telekom und cyan klingt mir zu giftig ... möchte ich nicht in den Mund nehmen). Also 3 Grundfarben, 3 Farben genau dazwischen und dann noch mit allen 3 Grundfarben zu gleichen Anteilen. Dazu noch ein paar HelligkeitsStufen, sehr hell, hell, Bisschen hell, mittel, Bisschen dunkel, dunkel, sehr dunkel. Also, auf Anhieb kriege ich schon 49 zusammen, die ich gerade noch beherrschen könnte ...
    Gegen Schwarz-Weiss-Malerei habe ich mich bewusst entschieden zugunsten von Farblosigkeit. Dunkelweiss klingt zu sehr nach ZahnpastaWerbung und ist erheblich dunkler als hellschwarz - das verwirrt unnötig.
    Aber das Gute an der Enum-Variante ist, ich kann ja trotzdem über nichtssagende Zahlenwerte indizieren.

    Gruss, Heinileini

    PS: Als ich neulich in der Werkstatt auf mein Auto wartete, das zur Inspektion dort war, habe ich mal in Prospekten geblättert.
    Du glaubt gar nicht, wie viele Töne, Nuancen, Varianten es allein von schwarz, dunkelblau und weiss gibt! Wie gut, dass man auf mehrdimensionale Arrays zurückgreifen kann.
    "


  3. #2
    Registriert seit
    25.06.2017
    Ort
    Oerlinghausen
    Beiträge
    992
    Danke
    80
    Erhielt 176 Danke für 148 Beiträge

    Standard

    Zitat Zitat von Not-Aus Beitrag anzeigen
    Ich habe ein Array, und ein Enum (könnte auch eine Konstante sein in S7-welt). Dann kann ich MeinArray[MeinEnumElement] schreiben. Ist das empfehlenswert, oder gibt es Nachteile? Andere haben References vorgeschlagen?
    Hmmm.
    a) Wenn die Einträge in der betreffenden Dimension des Array immer diegleiche Bedeutung haben (z.B. "KundenNr"), unabhängig vom jeweiligen Wert des Index, wozu dann per enum dafür sorgen, dass Du jedem Wert des Index einen anderen symbolischen Namen zuordnen kannst?
    b) Wenn die Einträge in der betreffenden Dimension des Array unterschiedliche Bedeutungen bei unterschiedlichen Werten des Index haben (z.B. "Name", "Vorname", "GeburtsDatum", ...) , warum dann eine Dimension eines Array dafür benutzen (missbrauchen)?
    Willst Du eine EierlegendeWollMilchSau konstruieren?
    Ich fürchte, Deine Frage kannst nur Du alleine beantworten - scheint mir in die Rubrik "Geschmackssache" zu gehören ...
    Geht es um Probleme/Schwierigkeiten bei der Übergabe von Arrays an Funktionen?
    Gruss, Heinileini
    Geändert von Heinileini (23.04.2018 um 01:52 Uhr)

  4. #3
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.382
    Danke
    28
    Erhielt 138 Danke für 125 Beiträge

    Standard

    Macht man zB in der Bosch Welt schon so, da man dadurch dynamisch Array's aufbauen kann!
    Das ENUM ist da dann allerdings keine Konstante sondern, sondern wird halt anderweitig erzeugt (zB auch dynamisch) ...

    Wenn das zB durch ein gesamtes Programm durchgezogen wir, wie du es machen möchtest, kann man auch ganz schnell und einfach das vergrößern oder verkleinern.

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  5. Folgender Benutzer sagt Danke zu Boxy für den nützlichen Beitrag:

    Not-Aus (25.04.2018)

  6. #4
    Registriert seit
    15.12.2013
    Beiträge
    55
    Danke
    24
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Heinileini Beitrag anzeigen
    Hmmm.
    a) Wenn die Einträge in der betreffenden Dimension des Array immer diegleiche Bedeutung haben (z.B. "KundenNr"), unabhängig vom jeweiligen Wert des Index, wozu dann per enum dafür sorgen, dass Du jedem Wert des Index einen anderen symbolischen Namen zuordnen kannst?
    b) Wenn die Einträge in der betreffenden Dimension des Array unterschiedliche Bedeutungen bei unterschiedlichen Werten des Index haben (z.B. "Name", "Vorname", "GeburtsDatum", ...) , warum dann eine Dimension eines Array dafür benutzen (missbrauchen)?
    Willst Du eine EierlegendeWollMilchSau konstruieren?
    Ich fürchte, Deine Frage kannst nur Du alleine beantworten - scheint mir in die Rubrik "Geschmackssache" zu gehören ...
    Geht es um Probleme/Schwierigkeiten bei der Übergabe von Arrays an Funktionen?
    Gruss, Heinileini
    Es geht um "c)" Index von gleiche Elemente, aber nicht "nummerbasiert" wie in a).

    Zum Beispiel ein Array von 100 verschiedene Farben. Die verschiedene Farben sind dann in ein Enum definiert. Die aufruf ist dann MeinArray[Rot]. Ist das gut/nicht gut?

  7. #5
    Registriert seit
    15.12.2013
    Beiträge
    55
    Danke
    24
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Boxy Beitrag anzeigen
    Macht man zB in der Bosch Welt schon so, da man dadurch dynamisch Array's aufbauen kann!
    Das ENUM ist da dann allerdings keine Konstante sondern, sondern wird halt anderweitig erzeugt (zB auch dynamisch) ...

    Wenn das zB durch ein gesamtes Programm durchgezogen wir, wie du es machen möchtest, kann man auch ganz schnell und einfach das vergrößern oder verkleinern.
    Dynamische Arrays, sehr interessant, wo kann ich mehr darüber lesen?

    Danke

  8. #6
    Registriert seit
    25.06.2017
    Ort
    Oerlinghausen
    Beiträge
    992
    Danke
    80
    Erhielt 176 Danke für 148 Beiträge

    Standard

    Zitat Zitat von Not-Aus Beitrag anzeigen
    Ist das gut/nicht gut?
    Ein super gutes Beispiel! Das meine ich ganz ehrlich.
    Farblos, rot, grün, blau, gelb, türkis, violett (den Namen, der mit ma anfängt und genta aufhört, will ich vorsichtshalber nicht erwähnen, sonst krieg' ich Ärger mit der Telekom und cyan klingt mir zu giftig ... möchte ich nicht in den Mund nehmen). Also 3 Grundfarben, 3 Farben genau dazwischen und dann noch mit allen 3 Grundfarben zu gleichen Anteilen. Dazu noch ein paar HelligkeitsStufen, sehr hell, hell, Bisschen hell, mittel, Bisschen dunkel, dunkel, sehr dunkel. Also, auf Anhieb kriege ich schon 49 zusammen, die ich gerade noch beherrschen könnte ...
    Gegen Schwarz-Weiss-Malerei habe ich mich bewusst entschieden zugunsten von Farblosigkeit. Dunkelweiss klingt zu sehr nach ZahnpastaWerbung und ist erheblich dunkler als hellschwarz - das verwirrt unnötig.
    Aber das Gute an der Enum-Variante ist, ich kann ja trotzdem über nichtssagende Zahlenwerte indizieren.

    Gruss, Heinileini

    PS: Als ich neulich in der Werkstatt auf mein Auto wartete, das zur Inspektion dort war, habe ich mal in Prospekten geblättert.
    Du glaubt gar nicht, wie viele Töne, Nuancen, Varianten es allein von schwarz, dunkelblau und weiss gibt! Wie gut, dass man auf mehrdimensionale Arrays zurückgreifen kann.

  9. Folgender Benutzer sagt Danke zu Heinileini für den nützlichen Beitrag:

    Not-Aus (25.04.2018)

  10. #7
    Registriert seit
    15.12.2013
    Beiträge
    55
    Danke
    24
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Heinileini Beitrag anzeigen
    Ein super gutes Beispiel! Das meine ich ganz ehrlich.
    Farblos, rot, grün, blau, gelb, türkis, violett (den Namen, der mit ma anfängt und genta aufhört, will ich vorsichtshalber nicht erwähnen, sonst krieg' ich Ärger mit der Telekom und cyan klingt mir zu giftig ... möchte ich nicht in den Mund nehmen). Also 3 Grundfarben, 3 Farben genau dazwischen und dann noch mit allen 3 Grundfarben zu gleichen Anteilen. Dazu noch ein paar HelligkeitsStufen, sehr hell, hell, Bisschen hell, mittel, Bisschen dunkel, dunkel, sehr dunkel. Also, auf Anhieb kriege ich schon 49 zusammen, die ich gerade noch beherrschen könnte ...
    Gegen Schwarz-Weiss-Malerei habe ich mich bewusst entschieden zugunsten von Farblosigkeit. Dunkelweiss klingt zu sehr nach ZahnpastaWerbung und ist erheblich dunkler als hellschwarz - das verwirrt unnötig.
    Aber das Gute an der Enum-Variante ist, ich kann ja trotzdem über nichtssagende Zahlenwerte indizieren.

    Gruss, Heinileini

    PS: Als ich neulich in der Werkstatt auf mein Auto wartete, das zur Inspektion dort war, habe ich mal in Prospekten geblättert.
    Du glaubt gar nicht, wie viele Töne, Nuancen, Varianten es allein von schwarz, dunkelblau und weiss gibt! Wie gut, dass man auf mehrdimensionale Arrays zurückgreifen kann.
    Hahaha, super Erzählung. Definitiv beste Antwort. Danke schön.

  11. #8
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.382
    Danke
    28
    Erhielt 138 Danke für 125 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Not-Aus Beitrag anzeigen
    Dynamische Arrays, sehr interessant, wo kann ich mehr darüber lesen?

    Danke
    Hatte einmal vor so 4 oder 5 Jahren bei Bosch einen Kurs zu "ST" und OOP ...
    Die neueren Steuerungen konnten damals dann die neue Version von "ST".
    War halt spezifisch auf die Bosch Steuerung, wobei die ja in Grundzügen das von 3S haben bzw.deren Chips.

    Bin aber nicht mehr in dem Bereich tätig ...

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 11.08.2015, 19:02
  2. Array of enum Initialisieren
    Von shrimps im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 06.02.2015, 14:50
  3. Index Array
    Von peraho im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 16.10.2012, 10:16
  4. Array mit index
    Von bluebird277 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 29.08.2011, 12:23
  5. Antworten: 27
    Letzter Beitrag: 17.07.2006, 23:20

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •