CnPack Forum » CnVCL 组件包 » 修改TCnSpinEdit


2011-3-3 23:48 WanXiong
修改TCnSpinEdit

[b]原代码:[/b]
function TCnSpinEdit.GetValue: LongInt;
begin
    Result:=StrToIntDef(Text,FMinValue);
end;
[b]错误情况:[/b]
若Text存在小数点的情况,则结果取FMinValue

[b]替换代码:
[/b]function TCnSpinEdit.GetValue: LongInt;
var
  E:Integer;
begin
  Val(Text, Result, E);
  if (E=1) then Result:=FMinValue;
end;
[b]修改后情况:
[/b]如果Text中存在小数点(或其他字符),则按最前面的整数取值
至于最大最小值的处理,则由CheckValue进行,不需要在GetValue中做
E=1:第一个字符就是非数字

更进一步:
如果把值的类型变更为single,或Double,则使用就更方便了

修改之后,无权更新,只能发到这里了


WanXiong 于2011年3月3日

页: [1]
查看完整版本: 修改TCnSpinEdit


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.