unit Unit1; interface uses {$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, {$ENDIF} SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ovcbase, ovcdata, ovcef, ovcsf; type TForm1 = class(TForm) Label1: TLabel; OvcSimpleField1: TOvcSimpleField; Label2: TLabel; OvcSimpleField2: TOvcSimpleField; procedure OvcSimpleField1UserValidation(Sender: TObject; var ErrorCode: Word); procedure OvcSimpleFieldError(Sender: TObject; ErrorCode: Word; ErrorMsg: String); procedure OvcSimpleField2UserValidation(Sender: TObject; var ErrorCode: Word); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$IFNDEF LCL} {$R *.dfm} {$ELSE} {$R *.lfm} {$ENDIF} procedure TForm1.OvcSimpleField1UserValidation(Sender: TObject; var ErrorCode: Word); begin ErrorCode := 0; if (TOvcSimpleField(Sender).Text <> '') and (StrToIntDef(TOvcSimpleField(Sender).Text, 0) <= 0) then ErrorCode := oeInvalidNumber; end; procedure TForm1.OvcSimpleFieldError(Sender: TObject; ErrorCode: Word; ErrorMsg: String); begin MessageDlg(ErrorMsg + #13#10 + 'Press Ctrl+Z to undo.', mtError, [mbOK], 0); end; procedure TForm1.OvcSimpleField2UserValidation(Sender: TObject; var ErrorCode: Word); begin ErrorCode := 0; if (TOvcSimpleField(Sender).Text <> '') and (StrToFloatDef(TOvcSimpleField(Sender).Text, 0) <= 0) then ErrorCode := oeInvalidNumber; end; end.