Home  |  Delphi .net Home  |  System.Collections.SortedList  |  GetValueList Method
GetValueList  
Method  
Gets a read-only, dynamically updated list of current SortedList values
SortedList Class
System.Collections NameSpace
CF1.  Function GetValueList ( ) : IList;
CF : Methods with this mark are Compact Framework Compatible
Description
Gets a read-only Ilist of all the Values in the current SortedList. The interesting and very useful aspect to this list is that it is hot-linked to the SortedList : changes to the latter are immediately reflected in the IList.
Microsoft MSDN Links
System.Collections
System.Collections.SortedList
 
 
Illustrating the dynamic nature of the returned Value list
// Full Unit code.
// -------------------------------------------------------------
// Create a new WinForm application, double click the form to
// create an OnLoad event, and then replace the WinForm unit
// with this text.
 
unit WinForm;
 
interface
 
uses
  System.Drawing, System.Collections, System.ComponentModel,
System.Windows.Forms, System.Data;
 
type
  TWinForm = class(System.Windows.Forms.Form)
  \{REGION 'Designer Managed Code'\} // Note that REGION and ENREGION should be prefixed by a dollar sign
  strict private
    ///
    /// Required designer variable.
    ///

    Components: System.ComponentModel.Container;
    ///
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    ///

    procedure InitializeComponent;
    procedure TWinForm_Load(sender: System.Object; e: System.EventArgs);
  {ENDREGION}
  strict protected
    ///
    /// Clean up any resources being used.
    ///

    procedure Dispose(Disposing: Boolean); override;
  private
    { Private Declarations }
  public
    constructor Create;
  end;
 
  [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm))]
 
implementation
 
\{REGION 'Windows Form Designer generated code'\}
///
/// Required method for Designer support -- do not modify
/// the contents of this method with the code editor.
///

 
 
procedure TWinForm.InitializeComponent;
begin
  //
  // TWinForm
  //
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
  Self.ClientSize := System.Drawing.Size.Create(292, 266);
  Self.Name := 'TWinForm';
  Self.Text := 'WinForm';
  Include(Self.Load, Self.TWinForm_Load);
end;
{ENDREGION}
 
procedure TWinForm.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;
 
constructor TWinForm.Create;
begin
  inherited Create;
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent;
  //
  // TODO: Add any constructor code after InitializeComponent call
  //
end;
 
procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs);
program Project1;
{$APPTYPE CONSOLE}

uses
  System.Collections;

var
  MyList    : System.Collections.SortedList;
  ValueList : System.Collections.IList;
  i         : Integer;

begin
  // Create our sorted list
  MyList := SortedList.Create;

  // Add entries to the Source list
  MyList['Name']     := 'Neil Moffatt';
  MyList['Age']      := TObject(47);
  MyList['Birthday'] := DateTime.Create(1957, 2, 18);

  // Get a read only, dynamically updated list of values
  ValueList := MyList.GetValueList;

  // Display the value list :
  Console.WriteLine('ValueList at the start :');
  Console.WriteLine;
  for i := 0 to ValueList.Count-1 do
    Console.WriteLine(ValueList[i].ToString);

  // Now add a couple of entries
  MyList['Status'] := 'Single';
  MyList['Gender'] := 'Male';

  // Display the value list again :
  Console.WriteLine;
  Console.WriteLine('ValueList after updates :');
  Console.WriteLine;
  for i := 0 to ValueList.Count-1 do
    Console.WriteLine(ValueList[i].ToString);

  Console.Readline;
end.
 
end.
Hide full unit code
  ValueList at the start :
  
  47
  18/02/1957 00:00:00
  Neil Moffatt
  
  ValueList after updates :
  
  47
  18/02/1957 00:00:00
  Male
  Neil Moffatt
  Single
 
 
Delphi Programming © Neil Moffatt All rights reserved.  |  Contact the author