delphi类型问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 10:54:25
procedure TFrmChargeReg.ComboBox5Click(Sender: TObject);
var
sSql:string;
Area,Nature,pgjiazhi,jyjiage:string;
shuilv:integer;
begin
if (g_userinfo.CurrentRegInfo.StepName='收税') then begin
if (ComboBox5.text='评估价值') then begin
sSql:='select * from view_chargereg where 受理ID='+g_userinfo.CurrentRegInfo.RegID;
with frmPricetabledlg do begin
dqInfo.close;
dqInfo.sql.text:=sSql;
dqInfo.open;
if not dqInfo.IsEmpty then
begin
Area :=dqInfo.fieldbyname('建筑面积').asstring;
Nature :=dqInfo.fieldbyname('产权使用性质').asstring;
pgjiazhi:=dqInfo.fieldbyname('评估价值').asstring;
jyjiage:=dqInfo.fieldbyname('交易价格').asstring;
end
end ;
if (strtoint(Area))>='140' then begin
end
end
end
end;

提示我类型不匹配 if (strtoint(Area))

if (strtoint(Area))>='140' then begin

改成
if (strtoint(Area))>=140 then begin

shuilv类型错了。
shuilv:float
那你得先确定一下你“建筑面积”字段的类型。
我在机上试了下可以的:
a:='140.3';
if (strtofloat(a))>140 then
begin
showmessage('ok');
end
else
showmessage('NO');
返回“ok”。
你检查检查。

将Area :=dqInfo.fieldbyname('建筑面积').asstring修改为
Area :=dqInfo.fieldbyname('建筑面积').asfloat
比较直接 if (Area>140) then ....就可以了

shuilv是整形,不知你用来干什么的,如果从数据集中赋值可以
shuilv:=dqInfo.fieldbyname('字段').asInteger,但字段类型必须是整形

靠 开了几个帖子了!~~~