请看这段程序执行结果:proceduce
begini:=0;
while strtodatetime('2002-12-16')+i<>date do
begin
i:=i+1;
if strtodatetime('2002-12-16')+i=strtodatetime('2003-1-16') then
begin
exit;
end;
end; edit1.text:=inttostr(i);end; 执行后出现怪现象Edit1.text:='Edit1'; 理论上应该Edit1.text:='31'
begin
Break ;
end;
begini:=0;
while strtodatetime('2002-12-16')+i<>date do
begin
i:=i+1;
if strtodatetime('2002-12-16')+i=strtodatetime('2003-1-16') then
break;
end; edit1.text:=inttostr(i);end;楼主想干什么,如果只是想得到31的话,为什么不用
strtodatetime('2003-1-16') - strtodatetime('2002-12-16') 呢
如果要返回值可以先给result:=赋值,然后exit