Такой подойдёт?
Код:
unit OrderClasses;
interface
uses
DetailClasses,
Contnrs,Controls;
type
{###########################################################}
{êîëëåêöèÿ äåòàëåé â çàêàçå (íåâèçóàëüíûõ)}
ODetailList = class(TObjectList)
private
pclParent:TWinControl;
protected
function GetItem(Index: Integer): ODetailItem;
procedure SetItem(Index: Integer; const Value: ODetailItem);
public
constructor Create(clParent:TWinControl);
function Join(LineItem:ODetailItem): integer;
procedure Remove(clIndex:integer);
property Items[Index: Integer]: ODetailItem read GetItem write SetItem; default;
function IndexOfDetail(aDetailId: Integer): Integer;
end;
implementation
{ OGroupCollection }
constructor ODetailList.Create(clParent: TWinControl);
begin
inherited;
pclParent:=clParent;
end;
function ODetailList.GetItem(Index: Integer): ODetailItem;
begin
result:=inherited items[Index] as ODetailItem;
end;
procedure ODetailList.SetItem(Index: Integer; const Value: ODetailItem);
begin
inherited items[Index]:=Value;
end;
function ODetailList.Join(LineItem: ODetailItem): integer;
begin
result:=inherited add(LineItem);
end;
procedure ODetailList.Remove(clIndex: integer);
begin
inherited Delete(clIndex);
end;
function ODetailList.IndexOfDetail(aDetailId: Integer): Integer;
var cItem:integer;
begin
for cItem:=0 to Count-1 do begin
if Items[cItem].DetailId=aDetailId then
begin
Result:=cItem; exit;
end;
end;
Result:=-1;
end;
end.
__________________
- Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА!
|