You've already forked lazarus-ccr
74 lines
1.3 KiB
ObjectPascal
74 lines
1.3 KiB
ObjectPascal
![]() |
unit Unit1;
|
||
|
|
||
|
{$mode objfpc}{$H+}
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Spin, rxdice,
|
||
|
rxswitch;
|
||
|
|
||
|
type
|
||
|
|
||
|
{ TForm1 }
|
||
|
|
||
|
TForm1 = class(TForm)
|
||
|
Button1: TButton;
|
||
|
Label1: TLabel;
|
||
|
Label2: TLabel;
|
||
|
Label3: TLabel;
|
||
|
Label4: TLabel;
|
||
|
RxDice1: TRxDice;
|
||
|
SpinEdit1: TSpinEdit;
|
||
|
SpinEdit2: TSpinEdit;
|
||
|
procedure Button1Click(Sender: TObject);
|
||
|
procedure FormCreate(Sender: TObject);
|
||
|
procedure RxDice1Start(Sender: TObject);
|
||
|
procedure RxDice1Stop(Sender: TObject);
|
||
|
private
|
||
|
|
||
|
public
|
||
|
|
||
|
end;
|
||
|
|
||
|
var
|
||
|
Form1: TForm1;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
{$R *.lfm}
|
||
|
|
||
|
{ TForm1 }
|
||
|
|
||
|
procedure TForm1.Button1Click(Sender: TObject);
|
||
|
begin
|
||
|
RxDice1.Interval:=SpinEdit1.Value;
|
||
|
RxDice1.AutoStopInterval:=SpinEdit2.Value * 10;
|
||
|
RxDice1.Rotate:=true;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.FormCreate(Sender: TObject);
|
||
|
begin
|
||
|
RxDice1.RandomValue;
|
||
|
RxDice1Stop(nil);
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.RxDice1Start(Sender: TObject);
|
||
|
begin
|
||
|
SpinEdit1.Enabled:=not RxDice1.Rotate;
|
||
|
SpinEdit2.Enabled:=not RxDice1.Rotate;
|
||
|
Label1.Enabled:=not RxDice1.Rotate;
|
||
|
Label2.Enabled:=not RxDice1.Rotate;
|
||
|
Label4.Enabled:=not RxDice1.Rotate;
|
||
|
Button1.Enabled:=not RxDice1.Rotate;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.RxDice1Stop(Sender: TObject);
|
||
|
begin
|
||
|
RxDice1Start(nil);
|
||
|
Label4.Caption:=Format('Current value : %d', [RxDice1.Value]);
|
||
|
end;
|
||
|
|
||
|
end.
|
||
|
|