AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Logische Operatoren als Aufzählungstyp

Ein Thema von bernau · begonnen am 18. Dez 2014 · letzter Beitrag vom 18. Dez 2014
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von bernau
bernau
Online

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#1

Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 11:23
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:
result1 := meineFunktion(loOr,[Value1,Value2,Value3]);
result2 := meineFunktion(loAnd,[Value1,Value2,Value3]);
Ich kann natürlich loOr oder loAnd usw. selber definieren.

Delphi-Quellcode:
type
  TLogicalOperators = (loOr, loAnd, loXor, loNOr, loNAnd, loNXor);
Aber bei meinem Glück ist dieser Aufzählungstyp schon irgenwo definiert.

Jemand eine Ahnung wo das definiert sein könnte?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#2

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 11:49
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
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 13:26
Nicht dass ich wüsste, vermutet hätte ich so etwas in System.Math oder System.Types . Aber da finde ich nichts.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau
Online

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#4

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 13:27
Nicht dass ich wüsste, vermutet hätte ich so etwas in System.Math oder System.Types . Aber da finde ich nichts.
Da habe ich auch schon geschaut.

Ich werde es dann selber definieren.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau
Online

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#5

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 13:30
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
Wie gesagt. Ich weis nicht, ob es überhaupt definiert ist. Die Bezeichner im Beispiel hatte ich mir ausgedacht. Da ich aber kein Paralleluniversum entwickeln will, dachte ich, daß ich mal so in die Runde frage.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 13:35
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?

([a-z_]+nor) + nur ganze Wörter
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 13:41
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:

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
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 13:42
Wie wäre es mit einem lokalen Typen der Klasse?
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 13:48
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).
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Logische Operatoren als Aufzählungstyp

  Alt 18. Dez 2014, 14:11
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).
Operator overloading?

Geändert von Mavarik (18. Dez 2014 um 14:16 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz