Autor Beitrag
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 18.04.14 13:50 
ausblenden Delphi-Quelltext
1:
2:
3:
type
  Tmeintest = 0 .. 255;
  TmeintestSet = set of Tmeintest;


Funktioniert. Aber wenn ich nun mal statt 256 1024 Elemente benötige, klappt das nicht. Wie müsste das dann gemacht werden, ohne multidimensionale Typen erstellen zu müssen?

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 430
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: Fr 18.04.14 14:10 
Delphi stellt Sets intern als max. 32Byte-Arrays dar, 32*8Bit=256 Elemente.

Wenn Du mehr brauchst, wirst Du nicht umhin kommen, selber diese Bitmap-Operationen nachzubauen auf größeren Arrays.
Wie viel Aufwand dabei betrieben werden muß, hängt vom konkreten Einzelfall ab.
Solange nicht riesig viele dieser Sets benötigt werden (Speicherbedarf), wäre eine Abbildung z.B. auf ein Array of Boolean möglich.
Natürlich fehlen dann die schönen Mengenoperatoren, hier müßte man dann von Hand nachbauen was gerade gebraucht wird.
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 18.04.14 15:04 
user profile iconmandras hat folgendes geschrieben Zum zitierten Posting springen:
Natürlich fehlen dann die schönen Mengenoperatoren, hier müßte man dann von Hand nachbauen was gerade gebraucht wird.



Das ist der Knackpunkt.

Ich behelfe mich dann einfach anders, indem ich eine Menge an Sets deklariere und per Teiler diese Sets über ein Array ansprechen werde.
Danke für die Info.

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1653
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Sa 19.04.14 11:17 
Hallo,

bei Freepascal gibt es TBits
www.freepascal.org/d...l/classes/tbits.html
Die Mengenoperationen kann man wohl nachbauen.

Vereinigungsmenge: M = A OR B,
Schnittmenge: M = A AND B
A ohne B: M = A AND NOT B )
Elemente die nur in A oder in B sind: M = A XOR B

Gruß Horst
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 19.04.14 11:51 
Huhu Horst,

danke. Aber für meine bescheidenen Programmierkenntnisse ist das zu aufwendig.

Schöne Ostern :)

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
SMO
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 120
Erhaltene Danke: 18


D2005 Personal
BeitragVerfasst: So 20.04.14 23:06 
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
bei Freepascal gibt es TBits


Bei Delphi auch schon länger. Da gibt es zwar die Mengenoperatoren nicht, aber es ist nicht schwierig, die selbst zu implementieren.