Textfarbe
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
weil eine Schleife auf Konstanten einfach eine "fehlerhafte" Verwendung von Konstanten ist.
Konstanten benutzt man, damit der Wert dahinter keine Rolle spielt.
Enumerations verwendet man, damit die Konstanten keine Lücken haben und man sich nicht um die Reihenfolge kümmern muss.
nun von einer Konstanten zu einer Anderen eine Schleife zu verwenden,
die darauf fußt dass die Werte zwischendrin fortlaufend sind und auch genau die Konstanten sind die man meint,
führt die anfängliche Verwendung der Konstanten überhaupt ad Absurdum.
... es ist also genaugenommen kein "Extra-Aufwand", sondern die korrekte Vorgehensweise.
Natürlich kann man eine Bierflasche mit einem Mülleimer, einer Gartenhacke, oder mit einer zweiten Bierflasche öffnen,
aber das heißt nicht dass man es so machen soll, oder gar damit werben dass man es tut.
Konstanten benutzt man, damit der Wert dahinter keine Rolle spielt.
Enumerations verwendet man, damit die Konstanten keine Lücken haben und man sich nicht um die Reihenfolge kümmern muss.
nun von einer Konstanten zu einer Anderen eine Schleife zu verwenden,
die darauf fußt dass die Werte zwischendrin fortlaufend sind und auch genau die Konstanten sind die man meint,
führt die anfängliche Verwendung der Konstanten überhaupt ad Absurdum.
... es ist also genaugenommen kein "Extra-Aufwand", sondern die korrekte Vorgehensweise.
Natürlich kann man eine Bierflasche mit einem Mülleimer, einer Gartenhacke, oder mit einer zweiten Bierflasche öffnen,
aber das heißt nicht dass man es so machen soll, oder gar damit werben dass man es tut.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
> nun von einer Konstanten zu einer Anderen eine Schleife zu verwenden
Meinst du damit meine Schleife mit #PB_Compiler_EnumerationValue? Nun der Vorteil dieser liegt doch auf der Hand:
Es werden alle TextGadget()s gefärbt. Auch jene, die nicht zwischen #start_enumeration und #end_enumeration stehen. Diese zwei Konstanten sind damit überflüssig, man muss nicht darauf achten, dass TextGadget()s zwangsweise zwischen diesen Konstanten stehen und es funktioniert auch über mehrere Includes hinweg, in denen evtl. auch Enumerationen auftreten können.
Gerade, dass mein Code auch mt Lücken umgehen kann (1, 2, 3, 5, 17, 18, ...) ist ja ein bequemer Vorteil.
Wie dem auch sei, es war lediglich ein weiterer Denkanstoß.
> Natürlich kann man eine Bierflasche mit einem Mülleimer, einer Gartenhacke, oder mit einer zweiten Bierflasche öffnen
Hast du es denn schon mal mit einem Mülleimer, einer Hacke oder einer Flasche probiert?
Die Idee mit dem Autogurt find ich geil...
Meinst du damit meine Schleife mit #PB_Compiler_EnumerationValue? Nun der Vorteil dieser liegt doch auf der Hand:
Es werden alle TextGadget()s gefärbt. Auch jene, die nicht zwischen #start_enumeration und #end_enumeration stehen. Diese zwei Konstanten sind damit überflüssig, man muss nicht darauf achten, dass TextGadget()s zwangsweise zwischen diesen Konstanten stehen und es funktioniert auch über mehrere Includes hinweg, in denen evtl. auch Enumerationen auftreten können.
Gerade, dass mein Code auch mt Lücken umgehen kann (1, 2, 3, 5, 17, 18, ...) ist ja ein bequemer Vorteil.
Wie dem auch sei, es war lediglich ein weiterer Denkanstoß.
> Natürlich kann man eine Bierflasche mit einem Mülleimer, einer Gartenhacke, oder mit einer zweiten Bierflasche öffnen
Hast du es denn schon mal mit einem Mülleimer, einer Hacke oder einer Flasche probiert?


Die Idee mit dem Autogurt find ich geil...
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ich meine generell die Verwendung von Konstanten-Zielwerten durch eine Schleife.
deine Herangehensweise hat dabei noch den zusätzlichen Nachteil, dass du sämtliche Gadgets ansprichst,
ein Hinzufügen von Objekten innerhalb eines Includes durch Fortsetzen der Enumeration
(wozu die Konstante _EnumerationValue eigentlich da ist)
ist überhaupt nicht mehr möglich, auslassen/überspringen von Gadgets auch nicht.
> ...wenn man`s richtig anwendet
meiner Ansicht nach ist schon generell dieser Ansatz eine falsche Anwendung.
wenn man Objekte mit einer Schleife ansteuern will, rückspeichert man ihre IDs.
wenn man sie als Einzelobjekte mit Namen ansprechen will, nimmt man Konstanten.
Man könnte noch einen Hashtable verwenden, um die IDs namen zuordnen zu können,
aber dann könnte man auch die Indizes eines Arrays per Konstanten ansprechen.
Also, warum so einen unsinnigen Aufwand treiben,
um die Werte von Konstanten zusätzlich wissen zu müssen, wofür sie nie gedacht waren,
anstatt gleich ein Array nehmen, und die fraglichen Gadgets per #PB_Any erzeugen?
deine Herangehensweise hat dabei noch den zusätzlichen Nachteil, dass du sämtliche Gadgets ansprichst,
ein Hinzufügen von Objekten innerhalb eines Includes durch Fortsetzen der Enumeration
(wozu die Konstante _EnumerationValue eigentlich da ist)
ist überhaupt nicht mehr möglich, auslassen/überspringen von Gadgets auch nicht.
> ...wenn man`s richtig anwendet
meiner Ansicht nach ist schon generell dieser Ansatz eine falsche Anwendung.
wenn man Objekte mit einer Schleife ansteuern will, rückspeichert man ihre IDs.
wenn man sie als Einzelobjekte mit Namen ansprechen will, nimmt man Konstanten.
Man könnte noch einen Hashtable verwenden, um die IDs namen zuordnen zu können,
aber dann könnte man auch die Indizes eines Arrays per Konstanten ansprechen.
Also, warum so einen unsinnigen Aufwand treiben,
um die Werte von Konstanten zusätzlich wissen zu müssen, wofür sie nie gedacht waren,
anstatt gleich ein Array nehmen, und die fraglichen Gadgets per #PB_Any erzeugen?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.