![]() |
Logische Operatoren als Aufzählungstyp
Wir sind mal wieder beim Thema "Rad nicht neu erfinden".
Ich möchte einer Funktion mehrere Werte als Array übergeben und diese sollen logisch verknüpft werden. Die Verknüpfungsart soll als Parameter übergeben werden. Beispiel
Delphi-Quellcode:
Ich kann natürlich loOr oder loAnd usw. selber definieren.
result1 := meineFunktion(loOr,[Value1,Value2,Value3]);
result2 := meineFunktion(loAnd,[Value1,Value2,Value3]);
Delphi-Quellcode:
Aber bei meinem Glück ist dieser Aufzählungstyp schon irgenwo definiert.
type
TLogicalOperators = (loOr, loAnd, loXor, loNOr, loNAnd, loNXor); Jemand eine Ahnung wo das definiert sein könnte? |
AW: Logische Operatoren als Aufzählungstyp
Dein Delphi sollte wissen, wo es schon definiert wurde. Spontan würde ich einen der fraglichen Bezeichner markieren und über Refactor-> Unit suchen die vorherige Deklaration ermitteln. andererseits dürfte es einfacher sein, die Biester umzubenennen.
Sherlock |
AW: Logische Operatoren als Aufzählungstyp
Nicht dass ich wüsste, vermutet hätte ich so etwas in
Delphi-Quellcode:
oder
System.Math
Delphi-Quellcode:
. Aber da finde ich nichts.
System.Types
|
AW: Logische Operatoren als Aufzählungstyp
Zitat:
Ich werde es dann selber definieren. |
AW: Logische Operatoren als Aufzählungstyp
Zitat:
|
AW: Logische Operatoren als Aufzählungstyp
Auch wenn ich nicht glaube, daß es NOr, NAnd und NXor irgendwo im Delphi geben wird,
kann man doch einfach mal in den Delphi-Quellcodes danach suchen lassen?
Delphi-Quellcode:
+ nur ganze Wörter :stupid:
([a-z_]+nor)
|
AW: Logische Operatoren als Aufzählungstyp
Ich denke nicht dass es sowas schon gibt aber ganz ehrlich gesagt würde ich mir für so ein kleines Enum nicht so viele Gedanken oder sogar so einen Thread machen.
Du hast dir jetzt minuten- oder vllt sogar stundenlang (was ich nicht hoffe^^) Gedanken gemacht und einen relativ langen Beitrag geschrieben um herauszufinden ob du dir diesen 1-Zeiler möglicherweise sparen kannst:
Delphi-Quellcode:
:P :wink:
TLogicalOperators = (loOr, loAnd, loXor, loNOr, loNAnd, loNXor);
Selbst wenn du später (durch Zufall) herausfinden solltest dass es sowas schon gibt sollte das duch Refactoring im Zweifelsfall schnell umgestellt sein ;) |
AW: Logische Operatoren als Aufzählungstyp
Wie wäre es mit einem lokalen Typen der Klasse?
|
AW: Logische Operatoren als Aufzählungstyp
Man kann zwei Listen miteinander verknüpfen und -soweit ich mich erinnere- einen Verknüpfungsoperator mit angeben. Ich meine, die heißen 'loAnd' (nur, was in beiden ist) 'loOr' etc. ('lo'=ListOperation). Obwohl, da bin ich mir nicht so sicher, ich kann mich aber an loXor erinnern.
Wieso führst Du überhaupt einen Enum ein? Schreib doch einfach die paar Methoden separat? Oder mach es mit einzelnen Klassen. Dann verzichtest Du auf dein 'case'-Statement, was in einer sauberen Methode ohnehin nichts zu suchen hat (sagen die Puristen). |
AW: Logische Operatoren als Aufzählungstyp
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz