You've already forked lazarus-ccr
93 lines
2.1 KiB
ObjectPascal
93 lines
2.1 KiB
ObjectPascal
![]() |
unit umainform;
|
||
|
|
||
|
{$mode objfpc}{$H+}
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, Buttons, StdCtrls,
|
||
|
Spin, ueverettrandom;
|
||
|
|
||
|
type
|
||
|
|
||
|
{ Tmainform }
|
||
|
|
||
|
Tmainform = class(TForm)
|
||
|
cmdSplit: TBitBtn;
|
||
|
cmdClose: TBitBtn;
|
||
|
grpNumElements: TGroupBox;
|
||
|
grp_HexSize: TGroupBox;
|
||
|
grpResults: TGroupBox;
|
||
|
lstResults: TListBox;
|
||
|
pnlMain: TPanel;
|
||
|
rgSingleElement: TRadioGroup;
|
||
|
spArrayNumber: TSpinEdit;
|
||
|
spHexSize: TSpinEdit;
|
||
|
procedure cmdSplitClick(Sender: TObject);
|
||
|
procedure FormCreate(Sender: TObject);
|
||
|
procedure FormResize(Sender: TObject);
|
||
|
private
|
||
|
myEverett: TEverett;
|
||
|
public
|
||
|
|
||
|
end;
|
||
|
|
||
|
var
|
||
|
mainform: Tmainform;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
{$R *.lfm}
|
||
|
|
||
|
{ Tmainform }
|
||
|
|
||
|
procedure Tmainform.FormCreate(Sender: TObject);
|
||
|
begin
|
||
|
Caption:=Application.Name;
|
||
|
Icon:=Application.Icon;
|
||
|
myEverett := TEverett.Create(Self);
|
||
|
// Set up dialog
|
||
|
// MyEverett.WaitDialogCaption:='Please wait. contacting server';
|
||
|
MyEverett.ShowWaitDialog:=TRUE;
|
||
|
end;
|
||
|
|
||
|
procedure Tmainform.FormResize(Sender: TObject);
|
||
|
begin
|
||
|
// Set minimum size
|
||
|
if Width < 300 then
|
||
|
Width := 300;
|
||
|
if Height < 500 then
|
||
|
Height := 500;
|
||
|
end;
|
||
|
|
||
|
procedure Tmainform.cmdSplitClick(Sender: TObject);
|
||
|
var
|
||
|
s: string;
|
||
|
ct:Integer;
|
||
|
begin
|
||
|
lstResults.Clear;
|
||
|
MyEverett.ArraySize:=spArrayNumber.Value;
|
||
|
MyEverett.HexSize:=spHexSize.Value;
|
||
|
case rgSingleElement.ItemIndex of
|
||
|
0:begin
|
||
|
MyEverett.GetInteger8BitArray;
|
||
|
for ct:=0 to Pred(MyEverett.ArraySize) do
|
||
|
lstResults.Items.Add(InttoStr(MyEverett.IntegerArray[ct]));
|
||
|
end;
|
||
|
1:begin
|
||
|
MyEverett.GetInteger16BitArray;
|
||
|
for ct:=0 to Pred(MyEverett.ArraySize) do
|
||
|
lstResults.Items.Add(InttoStr(MyEverett.IntegerArray[ct]));
|
||
|
end;
|
||
|
2:begin
|
||
|
MyEverett.GetHexArray;
|
||
|
for ct:=0 to Pred(MyEverett.ArraySize) do
|
||
|
lstResults.Items.Add(MyEverett.HexArray[ct]);
|
||
|
end;
|
||
|
end;
|
||
|
s := 'Universe sucessfully split' + LineEnding;
|
||
|
ShowMessageFmt('%s%d times!',[s,spArrayNumber.Value]);
|
||
|
end;
|
||
|
|
||
|
end.
|