请高手帮小弟我看看什么地方出了有关问题

请高手帮我看看什么地方出了问题?
if ((edit16.Text='6.5') or (edit16.Text='8') or (edit16.Text='10') or (edit16.Text='12')) and ((strtofloat(label54.Caption) >= -7) and (strtofloat(label54.Caption) <= 7)) then
begin
label58.Caption:='合格'
else
label58.Caption:='不合格';
end

else if ((edit16.Text='14') or (edit16.Text='16') or (edit16.Text='18') or (edit16.Text='20')) and ((strtofloat(label54.Caption) >= -7) and (strtofloat(label54.Caption) <= 7)) then
begin
label58.Caption:='合格'
else
label58.Caption:='不合格';
end
  end;
不能执行啊~!初学,不太懂~

------解决方案--------------------
Delphi(Pascal) code
begin
label58.Caption:='合格'
else
label58.Caption:='不合格';
end