Enum als Array-Index

Not-Aus

Level-2
Beiträge
82
Reaktionspunkte
1
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
 
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
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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?
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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. *ROFL*Definitiv beste Antwort. Danke schön. :D
 
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 ...
 
Zurück
Oben