AGB  ·  Datenschutz  ·  Impressum  







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

bool-array logisch verknüpfen

Ein Thema von xineohp · begonnen am 4. Sep 2008 · letzter Beitrag vom 5. Sep 2008
Antwort Antwort
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#1

bool-array logisch verknüpfen

  Alt 4. Sep 2008, 17:23
hi,

ich suche sowas wie and( myBoolArray ), gibt es das?
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#2

Re: bool-array logisch verknüpfen

  Alt 4. Sep 2008, 17:37
Schreib bitte mal genauer, was du machen willst.

Spontan einfach mal:

mybool and myboolarray[i]
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#3

Re: bool-array logisch verknüpfen

  Alt 4. Sep 2008, 18:25
ich möchte die Elemente eines BoolArrays logisch (zB. mit and) verknüpfen. und das möglichst ohne eine extra Variable, Schleife oder Funktion zu schreiben/deklarieren. In vielen anderen Sprachen gibt es sowas und ich hoffe, dass auch Delphi so etwas anbietet.
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#4

Re: bool-array logisch verknüpfen

  Alt 4. Sep 2008, 20:47
und wo liegt das problem?

boolarray1 := boolarray2 AND boolarray3 oder mit OR oder mit XOR oder mit ...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: bool-array logisch verknüpfen

  Alt 4. Sep 2008, 20:51
@grenzgaenger: ich glaube er will die Werte des Arrays mit AND verknüpfen und nicht die Arrays selbst. Mir ist für delphi keine Funktion bekannt die das macht. Da die Sprache auch Objectpascal genannt wird glaube ich nicht das eine Funktion für Arrays in Zukunft hinzugefügt wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#6

Re: bool-array logisch verknüpfen

  Alt 4. Sep 2008, 22:42
jetzt ist die frage was man unter array versteht...

hohl: bool array, array of booleans... = array of bits ... haben wir doch ...

z.b.
  • 8 bit arrays (z.b. byte, char)
  • 16 bit arrays (z. b. integer, word)
  • 32 bit arrays (z. b. longword)

und die kann man doch verknüpfen ... entweder als array oder einzeln, ... wo es dann 'n wenig komplizierter wird...

aber meine ist müde ... und ich geh auch gleich
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#7

Re: bool-array logisch verknüpfen

  Alt 5. Sep 2008, 01:22
hm, mir war nicht klar, dass meine Frage so mehrdeutig war, sorry ... um das nochmal klarzustellen:
Ich möchte die Elemente eines array of boolean logisch verknüpfen, also zB mit and.

Anscheinend gibt es keine solche Funktion in Delphi.

Danke für eure Hilfe.
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: bool-array logisch verknüpfen

  Alt 5. Sep 2008, 07:39
Jetzt einfach die Elemente eines Arrays hintereinander weg, oder von zwei gleichlangen Arrays je die Elemente mit selbem Index?

Und ja, in beiden Fällen gibt es keine fertige Funktion, aber es wäre in beiden Fällen im Wesentlichen auch nur ein Zweizeiler. Und sei versichert: Welche Sprache das auch immer von Hause aus mit bringt: Es wird eine Schleife dahinter stecken. Einzig für den zweiten Fall könnte man sich (so lange man max. 32 Elemente hat) ein Verwursten in Integers vorstellen, und die Verknüpfung in einem Schritt machen. Der Aufwand um dahin zu kommen ist, da Delphi Arrays nun mal keine Bitfelder sind, sicherlich größer als da eben mit einer Schleife drüber zu rutschen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#9

Re: bool-array logisch verknüpfen

  Alt 5. Sep 2008, 08:13
Außerdem käme bei einer AND-Verknüpfung von Booleans sowieso false heraus, sobald auch nur ein Element false ist. Leider weiß ich im Moment keine saubere Lösung, um diesen Umstand performancetechnisch auszunutzen (außer eine Schleife mit break oder sowas).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#10

Re: bool-array logisch verknüpfen

  Alt 5. Sep 2008, 09:28
Hallo,

wenn es dir nur darum geht, die Implementierung einer UND-Verknüpfung zu vermeiden, dann könntest du die Klasse Delphi-Referenz durchsuchenTBits verwenden:

Delphi-Quellcode:
var
  Bits : TBits;
begin
  Bits := TBits.Create;
  Bits.Size := 42;

  {.. hier kannst du die Bits nach Bedarf setzen oder löschen ..}

  if (Bits.Size > 0) and (Bits.OpenBit = Bits.Size) then
    { alle Bits sind gesetzt };

  Bits.Free;
end;
Bei bis zu 256 Elementen käme eventuell noch ein set of Byte in Frage. Damit lassen sich auch andere Verknüpfungen als UND realisieren.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:38 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