RAD Studio VCL Reference
|
Clear stack.
procedure Clear;
__fastcall Clear();
Clear pops all entries from the stack. Count, the number of entries on the stack, is set to zero. The capacity is also set to zero. This is an O(n) operation where n is Count.
Delphi Examples:
{ This example demonstrates the usage of the generic TStack class. } procedure TForm3.Button1Click(Sender: TObject); var Stack: TStack<String>; begin { Create a new stack } Stack := TStack<String>.Create(); { Register a notification call-back } Stack.OnNotify := StackChanged; { Push some items up the stack } Stack.Push('John'); Stack.Push('Mary'); Stack.Push('Bob'); Stack.Push('Anna'); Stack.Push('Erica'); { Show the last pushed element without modifying the stack } MessageDlg('Last pushed element is: "' + Stack.Peek() + '".', mtInformation, [mbOK], 0); { Extract the top element: "John" } Stack.Extract(); { Reduce the capacity } Stack.TrimExcess(); { The remaining count of elements } MessageDlg('The stack contains ' + IntToStr(Stack.Count) + ' elements.', mtInformation, [mbOK], 0); { Show the last pushed element by modifying the stack } MessageDlg('Last pushed element is: "' + Stack.Pop() + '".', mtInformation, [mbOK], 0); { Clear the stack } Stack.Clear(); { Destroy the stack completely } Stack.Free; end; procedure TForm3.StackChanged(Sender: TObject; const Item: String; Action: TCollectionNotification); begin { This method is called by the Stack everytime a change occurs } if Action = cnAdded then MessageDlg('Element added: ' + Item, mtInformation, [mbOK], 0) else if Action = cnRemoved then MessageDlg('Element removed: ' + Item, mtInformation, [mbOK], 0) else if Action = cnExtracted then MessageDlg('Element extracted: ' + Item, mtInformation, [mbOK], 0) end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|