我自己写了一个函数:
function calculateb(s:string):string;
var a,b,c,d:real;
m:array[1..6] of real;
i:integer;
n:string;
begin
a:=1;
b:=1.5;
c:=(a+b)/5;
d:=strtofloat(s);
if d>=b then
begin
m[1]:=1;
for i:=2 to 6 do
begin
m[i]:=0;
end;
end
else
if d<a then
begin
m[6]:=1;
for i:=1 to 5 do
begin
m[i]:=0;
end;
end
else
for i:=1 to 6 do
begin
if (b-i*c)<=d<(b-(i-1)*c) then//这个地方出现了一个错误[Error] Unit4.pas(462): incompatible types begin
m[i]:=(d-(b-i*c))/c;
m[i+1]:=((b-(i-1)*c)-d)/c;
end
else
begin
m[i]:=0;
end;
end;
for i:=1 to 6 do
begin
n:=n+floattostr(m[i])+',';
end;
result:=n;
end;
请问应该怎么样解决啊?
function calculateb(s:string):string;
var a,b,c,d:real;
m:array[1..6] of real;
i:integer;
n:string;
begin
a:=1;
b:=1.5;
c:=(a+b)/5;
d:=strtofloat(s);
if d>=b then
begin
m[1]:=1;
for i:=2 to 6 do
begin
m[i]:=0;
end;
end
else
if d<a then
begin
m[6]:=1;
for i:=1 to 5 do
begin
m[i]:=0;
end;
end
else
for i:=1 to 6 do
begin
if (b-i*c)<=d<(b-(i-1)*c) then//这个地方出现了一个错误[Error] Unit4.pas(462): incompatible types begin
m[i]:=(d-(b-i*c))/c;
m[i+1]:=((b-(i-1)*c)-d)/c;
end
else
begin
m[i]:=0;
end;
end;
for i:=1 to 6 do
begin
n:=n+floattostr(m[i])+',';
end;
result:=n;
end;
请问应该怎么样解决啊?
解决方案 »
- sql中怎样取某个字段的后几位
- 消息问题,请大家帮忙!
- 三层结构怎么在中间监视客户端提交过来的SQL
- 请问在鼠标钩子定义函数dll中怎么获取光标所在控年的句柄啊
- 关于RAVE的数据传递
- delphi制作可拖动的图形化流程制作工具
- 非常急,调用.dll不返回值,也不提示错误
- tquery 为什么在sql属性写入语句后,点击active为真时,为何出现错误提示?
- 自动点击程序
- mscomm在delphi中的用法!
- 各位高手,谁对nil有研究,请教isnull()的用法
- 为什么在delphi7的new items中的forms中没了quickreport labels这一项啊,对着6.0的书看,用的是7.0的delphi啊!
这句语法写错了吧!你这句等效于((b-i*c)<=d)<(b-(i-1)*c)
这样((b-i*c)<=d)结果是个布尔值,(b-(i-1)*c)是一个Real值,当然会出现类型不匹配了