Textfarbe

Anfängerfragen zum Programmieren mit PureBasic.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

@KG: Wozu der Extra-Aufwand?
Windows 11 - PB 6.03 x64
_________________________________
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

...wenn man`s richtig anwendet, sehe ich kein Problem bei Verwendung von Konstanten....aber egal, ich denke, ich weiß Du meinst.
Gab`s da nicht schon mal ein Diskussion (ev. im englischen Forum)?
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

> 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? :lol: :allright:
Die Idee mit dem Autogurt find ich geil...
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

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?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten