Class TMainForm (unit HugeForm) |
Inherits from
TForm
change to TList to compare with standard list type
procedure AbortButtonClick(Sender: TObject);
procedure AddButtonClick(Sender: TObject);
Add or Insert, depending on whether the user supplies an index
procedure ClearButtonClick(Sender: TObject);
procedure DecrButtonClick(Sender: TObject);
procedure DeleteButtonClick(Sender: TObject);
procedure ExchangeButtonClick(Sender: TObject);
procedure FillButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure IncrButtonClick(Sender: TObject);
procedure IndexEditChange(Sender: TObject);
procedure IndexOfButtonClick(Sender: TObject);
IndexOf looks for the specific value, and does not compare strings.
procedure IterationsChange(Sender: TObject);
procedure LookupButtonClick(Sender: TObject);
procedure MoveButtonClick(Sender: TObject);
procedure OffsetButtonClick(Sender: TObject);
procedure PackButtonClick(Sender: TObject);
procedure SetButtonClick(Sender: TObject);
procedure SpinButton1DownClick(Sender: TObject);
procedure SpinButton1UpClick(Sender: TObject);
procedure SpinOffsetDownClick(Sender: TObject);
procedure SpinOffsetUpClick(Sender: TObject);
procedure StartButtonClick(Sender: TObject);
procedure ValueEditChange(Sender: TObject);
procedure EnableButtons;
When the user types, enable or disable the buttons according to
the availability of one or both indexes and the value.
procedure ExceptionHandler(Sender: TObject; Ex: Exception);
Trap exceptions and display the message in the status bar.
procedure StartTiming;
procedure Update;
THugeList page } { After any change to the list, update the count and capacity fields
procedure DoOneTest;
Timing page
function GetOffset: LongInt;
function GetPointer: Pointer;
Pointer page
procedure SetOffset(Offset: LongInt);
procedure SetPointer(Ptr: Pointer);
procedure ShowHint(Sender: TObject);
property OffsetValue : LongInt
property PointerValue : Pointer
AbortButton : TButton;
AddButton : TButton;
CapacityEdit : TEdit;
ClearButton : TButton;
CountEdit : TEdit;
DecrButton : TButton;
DeleteButton : TButton;
ElapsedTime : TEdit;
ExchangeButton : TButton;
FillButton : TButton;
IncrButton : TButton;
IndexEdit : TEdit;
IndexEdit2 : TEdit;
IndexOfButton : TButton;
Iterations : TEdit;
IterCount : TEdit;
Label1 : TLabel;
Label10 : TLabel;
Label11 : TLabel;
Label12 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Label4 : TLabel;
Label5 : TLabel;
Label6 : TLabel;
Label7 : TLabel;
Label8 : TLabel;
Label9 : TLabel;
LookupButton : TButton;
MoveButton : TButton;
OffsetButton : TButton;
OffsetEdit : TMaskEdit;
PackButton : TButton;
PointerEdit : TMaskEdit;
SetButton : TButton;
SpinButton1 : TSpinButton;
SpinOffset : TSpinButton;
StartButton : TButton;
StatusBar : TPanel;
TabbedNotebook : TTabbedNotebook;
ValueEdit : TEdit;
List : TTestList;
AbortFlag : Boolean;
procedure AbortButtonClick(Sender: TObject);
procedure AddButtonClick(Sender: TObject);
Add or Insert, depending on whether the user supplies an index
procedure ClearButtonClick(Sender: TObject);
procedure DecrButtonClick(Sender: TObject);
procedure DeleteButtonClick(Sender: TObject);
procedure ExchangeButtonClick(Sender: TObject);
procedure FillButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure IncrButtonClick(Sender: TObject);
procedure IndexEditChange(Sender: TObject);
procedure IndexOfButtonClick(Sender: TObject);
IndexOf looks for the specific value, and does not compare strings.
Find the string manually, and then use IndexOf to find the pointer.
Strange, but a good test.
procedure IterationsChange(Sender: TObject);
procedure LookupButtonClick(Sender: TObject);
procedure MoveButtonClick(Sender: TObject);
procedure OffsetButtonClick(Sender: TObject);
procedure PackButtonClick(Sender: TObject);
procedure SetButtonClick(Sender: TObject);
procedure SpinButton1DownClick(Sender: TObject);
procedure SpinButton1UpClick(Sender: TObject);
procedure SpinOffsetDownClick(Sender: TObject);
procedure SpinOffsetUpClick(Sender: TObject);
procedure StartButtonClick(Sender: TObject);
procedure ValueEditChange(Sender: TObject);
procedure EnableButtons;
When the user types, enable or disable the buttons according to
the availability of one or both indexes and the value.
procedure ExceptionHandler(Sender: TObject; Ex: Exception);
Trap exceptions and display the message in the status bar. The
messages are usually about indexes out of range, and so on.
If you run this demo from Delphi, you probably want to turn off
'Break on Exception' in the Options>Environment dialog.
procedure StartTiming;
procedure Update;
THugeList page } { After any change to the list, update the count and capacity fields
procedure DoOneTest;
Timing page
function GetOffset: LongInt;
function GetPointer: Pointer;
Pointer page
procedure SetOffset(Offset: LongInt);
procedure SetPointer(Ptr: Pointer);
procedure ShowHint(Sender: TObject);
property OffsetValue : LongInt
property PointerValue : Pointer
AbortButton : TButton;
AddButton : TButton;
CapacityEdit : TEdit;
ClearButton : TButton;
CountEdit : TEdit;
DecrButton : TButton;
DeleteButton : TButton;
ElapsedTime : TEdit;
ExchangeButton : TButton;
FillButton : TButton;
IncrButton : TButton;
IndexEdit : TEdit;
IndexEdit2 : TEdit;
IndexOfButton : TButton;
Iterations : TEdit;
IterCount : TEdit;
Label1 : TLabel;
Label10 : TLabel;
Label11 : TLabel;
Label12 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Label4 : TLabel;
Label5 : TLabel;
Label6 : TLabel;
Label7 : TLabel;
Label8 : TLabel;
Label9 : TLabel;
LookupButton : TButton;
MoveButton : TButton;
OffsetButton : TButton;
OffsetEdit : TMaskEdit;
PackButton : TButton;
PointerEdit : TMaskEdit;
SetButton : TButton;
SpinButton1 : TSpinButton;
SpinOffset : TSpinButton;
StartButton : TButton;
StatusBar : TPanel;
TabbedNotebook : TTabbedNotebook;
ValueEdit : TEdit;
List : TTestList;
AbortFlag : Boolean;