蜉
蜉蝣小生
Unregistered / Unconfirmed
GUEST, unregistred user!
在dbgrideh的UpdateData事件里面用到了下面的计算
procedure TFrmcg.DBGridEh3Columns2UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
begin
adoquerymq.FieldByName('耗量').AsFloat:=sswr(((strtofloat(dbediteh13.Text)+strtofloat(dbediteh11.Text))*3.14*strtofloat(text)/2)*adoqueryall.fieldbyname('单耗').AsFloat*adoquerymq.FieldByName('次数').AsInteger/100);
adoquerymq.FieldByName('金额').AsFloat:=adoquerymq.fieldbyname('耗量').AsFloat*adoqueryall.fieldbyname('单价').AsFloat;
end;
如果用户不经意输入了不合法的字符,在进行计算的时候就会出现一个异常,并且这个异常还不能自己跳出.我的程序里面有好多这样的过长,如果用if ...else 判断那么要判断的情况太多了,不可能每种情况都想到,请问高手有什么好的方法
procedure TFrmcg.DBGridEh3Columns2UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
begin
adoquerymq.FieldByName('耗量').AsFloat:=sswr(((strtofloat(dbediteh13.Text)+strtofloat(dbediteh11.Text))*3.14*strtofloat(text)/2)*adoqueryall.fieldbyname('单耗').AsFloat*adoquerymq.FieldByName('次数').AsInteger/100);
adoquerymq.FieldByName('金额').AsFloat:=adoquerymq.fieldbyname('耗量').AsFloat*adoqueryall.fieldbyname('单价').AsFloat;
end;
如果用户不经意输入了不合法的字符,在进行计算的时候就会出现一个异常,并且这个异常还不能自己跳出.我的程序里面有好多这样的过长,如果用if ...else 判断那么要判断的情况太多了,不可能每种情况都想到,请问高手有什么好的方法