在onSetText事件中判断,完了后终止数据集的前行就可以了 只要加上: Abort;就行了ONSetText(Sender: TField; const Text: String); var s:string; i,len:Integer; F:Real; begin s:=Text ; i:=-1; i:= pos('.',s); if i=0 then begin s :='0'+s ; end; i:= pos('.',s); len:=Length( s); if i<len then begin if PosEx('.',s,i+1)>0 then begin Application.MessageBox('你录入的数据不符要求,' + #13#10 + '请按ESC后重新输入!', '信息', MB_OK + MB_ICONWARNING); Abort; end; end;
完全可以实现的。
只要加上: Abort;就行了ONSetText(Sender: TField;
const Text: String);
var
s:string;
i,len:Integer;
F:Real;
begin
s:=Text ;
i:=-1;
i:= pos('.',s);
if i=0 then
begin
s :='0'+s ;
end;
i:= pos('.',s);
len:=Length( s);
if i<len then
begin
if PosEx('.',s,i+1)>0 then
begin
Application.MessageBox('你录入的数据不符要求,' + #13#10 +
'请按ESC后重新输入!', '信息', MB_OK + MB_ICONWARNING);
Abort;
end;
end;