Delphi Spineedit:获取之前的值
Delphi Spinedit: Get the previous value
假设我的表单上有一个 Spinedit。
Spineedit 的当前值为例如 5
当用户点击 SpinButton 时,下一个值可能是
4 或 6。
在onChange事件中
我可以获得新值
4 或 6
但我还需要知道旧值
5
如何获取Delphi中的前一个值5?
我需要知道旧值和新值
在 OnChange 事件结束时和启动时将先前的值存储在变量中,如下所示。
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Samples.Spin;
type
TForm1 = class(TForm)
SpinEdit1: TSpinEdit;
procedure SpinEdit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FSpinPrev : Integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
FSpinPrev := SpinEdit1.Value;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
if SpinEdit1.Value > FSpinPrev then Caption := 'Increasing'
else Caption := 'Decreasing';
FSpinPrev := SpinEdit1.Value;
end;
end.
假设我的表单上有一个 Spinedit。
Spineedit 的当前值为例如 5
当用户点击 SpinButton 时,下一个值可能是
4 或 6。
在onChange事件中
我可以获得新值
4 或 6
但我还需要知道旧值
5
如何获取Delphi中的前一个值5?
我需要知道旧值和新值
在 OnChange 事件结束时和启动时将先前的值存储在变量中,如下所示。
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Samples.Spin;
type
TForm1 = class(TForm)
SpinEdit1: TSpinEdit;
procedure SpinEdit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FSpinPrev : Integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
FSpinPrev := SpinEdit1.Value;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
if SpinEdit1.Value > FSpinPrev then Caption := 'Increasing'
else Caption := 'Decreasing';
FSpinPrev := SpinEdit1.Value;
end;
end.