Thema: Delphi Generics in Record

Einzelnen Beitrag anzeigen

Hawkeye219

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

AW: Generics in Record

  Alt 2. Sep 2010, 14:45
Hallo Björn,

versuche es einmal mit diesem Ansatz:
Delphi-Quellcode:
uses
  Generics.Collections;

type
  TRecord<T> = record
    ID: Integer;
    Data: T;
    constructor Init (const aID: Integer; const aData: T);
  end;

  TRecordList<T> = class (TList<TRecord<T>>)
    procedure AddItem (const aID: Integer; const aData: T);
  end;

constructor TRecord<T>.Init(const aID: Integer; const aData: T);
begin
  ID := aID;
  Data := aData;
end;

procedure TRecordList<T>.AddItem(const aID: Integer; const aData: T);
var
  R: TRecord<T>;
begin
  R.Init (aID, aData);
  Add(R);
end;

// Anwendung

var
  MyList: TRecordList<string>;
begin
  MyList := TRecordList<string>.Create;
  try
    MyList.AddItem (42, 'Hallo Welt');
    MyList.AddItem (0, 'EOF');
    ShowMessage (MyList[0].Data);
  finally
    MyList.Free;
  end;
end;
Oder habe ich etwas an deiner Problemstellung übersehen?

Falls die ID eine eindeutige Kennung des Records sein sollte, wäre vielleicht ein Blick auf TDictionary<TKey,TValue> sinnvoll.

Gruß Hawkeye
  Mit Zitat antworten Zitat