Files
lazarus-ccr/components/flashfiler/sourcelaz/Verify/frmBlock.pas
2016-12-07 13:31:59 +00:00

120 lines
2.9 KiB
ObjectPascal

{*********************************************************}
{* FlashFiler: Input form for block to be viewed *}
{*********************************************************}
(* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is TurboPower FlashFiler
*
* The Initial Developer of the Original Code is
* TurboPower Software
*
* Portions created by the Initial Developer are Copyright (C) 1996-2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* ***** END LICENSE BLOCK ***** *)
{$I ffdefine.inc}
unit frmBlock;
interface
uses
{$IFDEF DCC6OrLater}
Variants,
{$ENDIF}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FFLLBase;
type
TfrmBlockNum = class(TForm)
edtBlockNum: TEdit;
pbOK: TButton;
pbCancel: TButton;
lblBlockNum: TLabel;
lblValidRange: TLabel;
procedure FormShow(Sender: TObject);
procedure edtBlockNumKeyPress(Sender: TObject; var Key: Char);
procedure pbOKClick(Sender: TObject);
procedure pbCancelClick(Sender: TObject);
procedure edtBlockNumChange(Sender: TObject);
private
{ Private declarations }
FBlockNum : TffWord32;
FMaxBlockNum : TffWord32;
public
{ Public declarations }
procedure SetCtrlStates;
property BlockNum : TffWord32 read FBlockNum write FBlockNum;
property MaxBlockNum : TffWord32 read FMaxBlockNum write FMaxBlockNum;
end;
var
frmBlockNum: TfrmBlockNum;
implementation
{$R *.dfm}
procedure TfrmBlockNum.FormShow(Sender: TObject);
begin
FBlockNum := ffc_W32NoValue;
edtBlockNum.SetFocus;
lblValidRange.Caption := Format('Valid range is 0 to %d', [FMaxBlockNum]);
SetCtrlStates;
end;
procedure TfrmBlockNum.edtBlockNumKeyPress(Sender: TObject; var Key: Char);
begin
if (Key <> Char(8)) and ((Key < '0') or (Key > '9')) then begin
Key := Char(0);
Beep;
end;
end;
procedure TfrmBlockNum.pbOKClick(Sender: TObject);
begin
FBlockNum := StrToInt(edtBlockNum.Text);
Close;
end;
procedure TfrmBlockNum.pbCancelClick(Sender: TObject);
begin
Close;
end;
procedure TfrmBlockNum.SetCtrlStates;
var
BlockNum : TffWord32;
begin
if edtBlockNum.Text <> '' then begin
BlockNum := StrToInt(edtBlockNum.Text);
pbOK.Enabled := (edtBlockNum.Text <> '') and
(BlockNum <= FMaxBlockNum);
end
else
pbOK.Enabled := False;
end;
procedure TfrmBlockNum.edtBlockNumChange(Sender: TObject);
begin
SetCtrlStates;
end;
end.