www.pudn.com > _JEDI_VCL__JVCL333CompleteJCL1101-Build2725.zip > ContainerPerformanceMain.pas, change:2006-05-18,size:4162b


unit ContainerPerformanceMain; 
 
{$I jcl.inc} 
 
interface 
 
uses 
  {$IFDEF WIN32} 
  Windows, Messages, Graphics, Controls, Forms, Dialogs, StdCtrls, 
  {$ENDIF WIN32} 
  {$IFDEF LINUX} 
  QForms, QStdCtrls, QControls, 
  {$ENDIF LINUX} 
  SysUtils, Classes, Grids, Menus; 
 
type 
  TMainForm = class(TForm) 
    ListPerformanceGrid: TStringGrid; 
    MainMenu1: TMainMenu; 
    FileMenu: TMenuItem; 
    Exit1: TMenuItem; 
    TestMenu: TMenuItem; 
    mnJclArrayList: TMenuItem; 
    mnList: TMenuItem; 
    mnJclLinkedList: TMenuItem; 
    mnJclVector: TMenuItem; 
    N1: TMenuItem; 
    mnBucketList: TMenuItem; 
    mnJclHashMap: TMenuItem; 
    mnHashedStringList: TMenuItem; 
    mnJclStrStrHashMap: TMenuItem; 
    N2: TMenuItem; 
    mnAllTest: TMenuItem; 
    HashPerformanceGrid: TStringGrid; 
    procedure FormCreate(Sender: TObject); 
    procedure mnAllTestClick(Sender: TObject); 
    procedure mnListClick(Sender: TObject); 
    procedure mnJclArrayListClick(Sender: TObject); 
    procedure mnJclLinkedListClick(Sender: TObject); 
    procedure mnJclVectorClick(Sender: TObject); 
    procedure mnBucketListClick(Sender: TObject); 
    procedure mnJclHashMapClick(Sender: TObject); 
    procedure mnHashedStringListClick(Sender: TObject); 
    procedure mnJclStrStrHashMapClick(Sender: TObject); 
    procedure Exit1Click(Sender: TObject); 
  public 
  end; 
 
  TMyObject = class(TInterfacedObject); 
 
var 
  MainForm: TMainForm; 
 
implementation 
 
{$R *.dfm} 
 
uses 
  ContainerPerformanceTests; 
 
procedure TMainForm.FormCreate(Sender: TObject); 
begin 
  ListPerformanceGrid.Cells[1, 0] := 'TList'; 
  ListPerformanceGrid.Cells[2, 0] := 'TJclArrayList'; 
  ListPerformanceGrid.Cells[3, 0] := 'TJclLinkedList'; 
  ListPerformanceGrid.Cells[4, 0] := 'TJclVector'; 
  ListPerformanceGrid.Cells[0, 1] := 'Add'; 
  ListPerformanceGrid.Cells[0, 2] := 'Next'; 
  ListPerformanceGrid.Cells[0, 3] := 'Random'; 
  ListPerformanceGrid.Cells[0, 4] := 'Insert at 10'; 
  ListPerformanceGrid.Cells[0, 5] := 'Clear'; 
 
  HashPerformanceGrid.Cells[1, 0] := 'TBucketList'; 
  HashPerformanceGrid.Cells[2, 0] := 'TJclHashMap'; 
  HashPerformanceGrid.Cells[3, 0] := 'THashedStringList'; 
  HashPerformanceGrid.Cells[4, 0] := 'TJclStrStrHashMap'; 
  HashPerformanceGrid.Cells[0, 1] := 'Add'; 
  HashPerformanceGrid.Cells[0, 2] := 'Random'; 
  HashPerformanceGrid.Cells[0, 3] := 'Clear'; 
end; 
 
procedure TMainForm.mnAllTestClick(Sender: TObject); 
begin 
  TestList(ListPerformanceGrid.Cols[1]); 
  Application.ProcessMessages; 
  TestJclArrayList(ListPerformanceGrid.Cols[2]); 
  Application.ProcessMessages; 
  TestJclLinkedList(ListPerformanceGrid.Cols[3]); 
  Application.ProcessMessages; 
  TestJclVector(ListPerformanceGrid.Cols[4]); 
  Application.ProcessMessages; 
 
  TestBucketList(HashPerformanceGrid.Cols[1]); 
  Application.ProcessMessages; 
  TestJclHashMap(HashPerformanceGrid.Cols[2]); 
  Application.ProcessMessages; 
  TestHashedStringList(HashPerformanceGrid.Cols[3]); 
  Application.ProcessMessages; 
  TestJclStrStrHashMap(HashPerformanceGrid.Cols[4]); 
end; 
 
procedure TMainForm.mnListClick(Sender: TObject); 
begin 
  TestList(ListPerformanceGrid.Cols[1]); 
end; 
 
procedure TMainForm.mnJclArrayListClick(Sender: TObject); 
begin 
  TestJclArrayList(ListPerformanceGrid.Cols[2]); 
end; 
 
procedure TMainForm.mnJclLinkedListClick(Sender: TObject); 
begin 
  TestJclLinkedList(ListPerformanceGrid.Cols[3]); 
end; 
 
procedure TMainForm.mnJclVectorClick(Sender: TObject); 
begin 
  TestJclVector(ListPerformanceGrid.Cols[4]); 
end; 
 
procedure TMainForm.mnBucketListClick(Sender: TObject); 
begin 
  TestBucketList(HashPerformanceGrid.Cols[1]); 
end; 
 
procedure TMainForm.mnJclHashMapClick(Sender: TObject); 
begin 
  TestJclHashMap(HashPerformanceGrid.Cols[2]); 
end; 
 
procedure TMainForm.mnHashedStringListClick(Sender: TObject); 
begin 
  TestHashedStringList(HashPerformanceGrid.Cols[3]); 
end; 
 
procedure TMainForm.mnJclStrStrHashMapClick(Sender: TObject); 
begin 
  TestJclStrStrHashMap(HashPerformanceGrid.Cols[4]); 
end; 
 
procedure TMainForm.Exit1Click(Sender: TObject); 
begin 
  Close; 
end; 
 
end.