Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - type , set of type mit mehr als 255 Elementen
trm - Fr 18.04.14 13:50
Titel: type , set of type mit mehr als 255 Elementen
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?
mandras - 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 - Fr 18.04.14 15:04
mandras hat folgendes geschrieben : |
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.
Horst_H - Sa 19.04.14 11:17
Hallo,
bei Freepascal gibt es TBits
http://www.freepascal.org/docs-html/rtl/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 - Sa 19.04.14 11:51
Huhu Horst,
danke. Aber für meine bescheidenen Programmierkenntnisse ist das zu aufwendig.
Schöne Ostern :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!