delphi中for后跟的变量可否为小数?(迭代算法),该如何处理

delphi中for后跟的变量可否为小数?(迭代算法)
procedure TForm1.BitBtn1Click(Sender: TObject);
var
p1,p2,a,b:real;
m:integer;
begin
p1:=StrToFloat(Edit1.Text);
p2:=StrToFloat(Edit2.Text);
a:=p2/p1;
Edit4.Text:=floattostr(a);
for m:=1 to 7 do
begin
b:=exp((2.38*sqr(m)/(2+0.38*sqr(m))*ln(1.38/0.38))/exp(((2.76/2.38)*sqr(m)-0.38/2.38))*ln(1/0.38));
 if abs(a-b)<1 then
 Edit5.Text:=floattostr(m);
  end;
end;
请问怎样才能让m的值从0.999开始循环到7.000,从而使a-b的绝对值小于0.1?

------解决方案--------------------
m值不见得就要用循环的变量,可以变通。也可以按楼上说的用While循环。
m := 0.999;
for i := 1 to 7 do //可以根据需要的次数选择要循环的次数。
begin
...
 m := m + 0.1 //可根据所需精度确定每次加几。
...
end;
------解决方案--------------------
用while
------解决方案--------------------
m:=1
while m<=7 do 
//for m:=1 to 7 do
begin
b:=exp((2.38*sqr(m)/(2+0.38*sqr(m))*ln(1.38/0.38))/exp(((2.76/2.38)*sqr(m)-0.38/2.38))*ln(1/0.38));
 if abs(a-b)<1 then
 Edit5.Text:=floattostr(m);
end;
m:=m+??;
end;