Forum: Object-Pascal / Delphi-Language
Delphi
by Codehunter,
22. Aug 2020
Wie gesagt, aus dem Gedächtnis. Ich könnte auch erst in drei Wochen nachschauen. Klar ist das umständlich. Mir wäre es auch lieber es gäbe größere set of. Oder man könnte class operatoren per Helper an einfache Arrays dranflanschen. Irgendwie mogelt man sich nur um das Problem herum und dieses Problem besteht einfach darin, ohne in-Operator sehr unschöne if-and-Blasen bauen zu müssen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Codehunter,
22. Aug 2020
Mir ist bewusst dass der Fragende sich hier auf D7 bezog. Dennoch:
Nennt mich Ketzer aber ich löse das bei neueren Delphis inzwischen in etwa so (aus dem Gedächtnis, da kein Delphi zur Hand, deshalb als Pseudocode betrachten)
type
PBigSetOf = ^TBigSetOf; // Ich arbeite meist mit Zeigern um Speicherkuddelmuddel zu vermeiden
TBigSetOf = record
FElements: TArray<word>;
class...
Forum: Object-Pascal / Delphi-Language
Delphi
by Codehunter,
25. Jul 2018
Der war gut!
Davon ab hast du natürlich Recht, es geht mir um Enums (und davon nachrangig dann auch wieder um Sets wie TMySet = set of TMyEnum). In meinem Sprachgebrauch hat sich Set=Enum und SetOf=set of Enum eingebürgert. Daher die irreführende Überschrift.
EDIT: So richtig erklärlich ist dieses Verhalten mit dem (ich nenne es mal so) "Loop-Überlauf" oder "Ringpuffer" bei benannten...
Forum: Object-Pascal / Delphi-Language
Delphi
by Codehunter,
25. Jul 2018
Also jetzt bin ich endgültig verwirrt! Bei mir ist das seit 20 Jahren Usus dass ein Enum 256 benannte Elemente haben kann. Wenn ich das Codesample von Schokohase verwende, dann kommt bei mir 43 raus und nicht 299. Das deckt sich auch mit der Bechreibung hier:
https://de.wikibooks.org/wiki/Programmierkurs:_Delphi:_Pascal:_Aufz%C3%A4hlungen (insbesondere der letzte Absatz ganz unten)
Ein...
Forum: Object-Pascal / Delphi-Language
Delphi
by Codehunter,
25. Jul 2018
Moin!
Wie ist eure Meinung zu der Thematik Aufzählungstypen: Könnten evtl. mehr als 256 benannte Elemente ermöglicht werden?type
TMyEnum = (meNull, meEins, meZwei, {...} meZweihundertfuenfundfuenfzig, meZweihundertsechsundfuenfzig);
{...}
var
I: Integer;
begin