Hi,
du kannst es auch mit einer TObjectList machen. Dabei benutzt du nicht den Record als einzelnes Element, sondern eine eigene Klasse. Etwa so:
Delphi-Quellcode:
TValue = class(TObject)
ValueFrom : string;
ValueFromType : string;
ValueTo : string;
ValueToType : string;
ValueSectionA : string;
ValueSectionB : string;
ValueSectionC : string;
ValueSectionD : string;
end;
Das kannst du dann noch mit diversen Propertys, Getter- und Settermethoden ausschmücken.
Dann verwendest du eine ObjectListe wie folgt:
Delphi-Quellcode:
TValueList = class(TObjectList)
private
FListName : String; // Name der Liste
protected
function GetItem(Index: Integer): TValue;
procedure SetItem(Index: Integer; AObject: TValue);
public
function Add(AObject: TValue): Integer;
function Extract(Item: TValue): TValue;
function Remove(AObject: TValue): Integer;
function IndexOf(AObject: TValue): Integer;
procedure Insert(Index: Integer; AObject: TValue);
function First: TValue;
function Last: TValue;
property Items[Index: Integer]: TValue read GetItem write SetItem; default;
property ListName : String read FListName write FListName;
end;
{ TValueList }
function TValueList.Add(AObject: TValue): Integer;
begin
Result := inherited Add(AObject);
end;
function TValueList.Extract(Item: TValue): TValue;
begin
Result := TValue(inherited Extract(Item));
end;
function TValueList.First: TValue;
begin
Result := TValue(inherited First);
end;
function TValueList.GetItem(Index: Integer): TValue;
begin
Result := TValue(inherited GetItem(Index));
end;
function TValueList.IndexOf(AObject: TValue): Integer;
begin
Result := inherited IndexOf(AObject);
end;
procedure TValueList.Insert(Index: Integer; AObject: TValue);
begin
inherited Insert(Index, AObject);
end;
function TValueList.Last: TValue;
begin
Result := TValue(inherited Last);
end;
function TValueList.Remove(AObject: TValue): Integer;
begin
Result := inherited Remove(AObject);
end;
procedure TValueList.SetItem(Index: Integer; AObject: TValue);
begin
inherited SetItem(Index, AObject);
end;
Gruß oki