Forum: Object-Pascal / Delphi-Language
Delphi
by s.h.a.r.k,
3. Mai 2011
TApEnumerations = class
public
class function EnumToStr<T>(const Value: T): String; static;
class function StrToEnum<T>(const Value: String): T; static;
class function SetToStr<T>(const Value: T): String; static;
class function StrToSet<T>(const Value: String): T; static;
end;
So, habe das ganze nun überarbeitet und um die Methoden SetToStr<T>() und StrToSet<T>() erweitert. Zudem...
Forum: Object-Pascal / Delphi-Language
Delphi
by s.h.a.r.k,
1. Mai 2011
Allein aufgrund der automatischen Garbage Collection bei Records kann ich verstehen, warum es so gemacht ist, wie es gemacht ist. Sonst müsstest du ja jedes mal ein TValue-Objekt erzeugen und freigeben, wenn du damit arbeiten willst. Records machen das halt sehr viel bequemer. Klar, in meinem Fall ändert sich nicht wirklich viel, aber ich hab mir mal den TValue-Record näher angeschaut und allein...
Forum: Object-Pascal / Delphi-Language
Delphi
by s.h.a.r.k,
30. Apr 2011
Ha, ich habs :stupid:
TLog = record
class procedure AddEnum<T>(V: T); static;
end;
class procedure TLog.AddEnum<T>(V: T);
begin
Writeln(GetEnumName(TypeInfo(T), PByte(@V)^));
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by s.h.a.r.k,
30. Apr 2011
Selbst mit Ord() scheitert das ganze: Project1.dpr(30): E2008 Inkompatible Typen
PS: Beachtet das mit dem set mal noch nicht.
Forum: Object-Pascal / Delphi-Language
Delphi
by s.h.a.r.k,
30. Apr 2011
Hallo zusammen,
habe gerade mal wieder ein Problem bzgl. meiner Log-Klasse. Ich hätte gerne folgendes:
type
TTestEnum = (teOne, teTwo, teThree {...});
TTestEnumSet = set of TTestEnum;
var
a : TTestEnum;
b : TTestEnumSet;