Advertisement
Guest User

Untitled

a guest
Oct 4th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.76 KB | None | 0 0
  1. type
  2.   TNodeSetEnumerator = object
  3.   private
  4.     FList: TNodeSet;
  5.     FCurrent: integer;
  6.     function GetCurrent: TDOMNode;
  7.   public
  8.     procedure Init(AList: TNodeSet);
  9.     function MoveNext: boolean;
  10.     property Current: TDOMNode read GetCurrent;
  11.   end;
  12.  
  13. operator Enumerator(X: TNodeSet): TNodeSetEnumerator;
  14.  
  15. implementation
  16.  
  17. operator Enumerator(X: TNodeSet): TNodeSetEnumerator;
  18. begin
  19.   Result.Init(X);
  20. end;
  21.  
  22. { TNodeSetEnumerator }
  23.  
  24. procedure TNodeSetEnumerator.Init(AList: TNodeSet);
  25. begin
  26.   FList:= AList;
  27.   FCurrent:= -1;
  28. end;
  29.  
  30. function TNodeSetEnumerator.GetCurrent: TDOMNode;
  31. begin
  32.   Result:= TDOMNode(FList[FCurrent]);
  33. end;
  34.  
  35. function TNodeSetEnumerator.MoveNext: boolean;
  36. begin
  37.   inc(FCurrent);
  38.   Result:= FCurrent < FList.Count;
  39. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement