改用while循环即可以下是测试代码procedure TForm1.Button1Click(Sender: TObject); var I, X: Integer; begin X := 10; // for I := 0 to X do // begin // Memo1.Lines.Add(Format('I = %d, X = %d', [I, X])); // Dec(X, 2); // end; //Result: //I = 0, X = 10 //I = 1, X = 8 //I = 2, X = 6 //I = 3, X = 4 //I = 4, X = 2 //I = 5, X = 0 //I = 6, X = -2 //I = 7, X = -4 //I = 8, X = -6 //I = 9, X = -8 //I = 10, X = -10// I := 0; // while I <= X do // begin // Memo1.Lines.Add(Format('I = %d, X = %d', [I, X])); // Dec(X, 2); // Inc(I); // end; //Result: //I = 0, X = 10 //I = 1, X = 8 //I = 2, X = 6 //I = 3, X = 4 end;
var
I, X: Integer;
begin
X := 10;
// for I := 0 to X do
// begin
// Memo1.Lines.Add(Format('I = %d, X = %d', [I, X]));
// Dec(X, 2);
// end;
//Result:
//I = 0, X = 10
//I = 1, X = 8
//I = 2, X = 6
//I = 3, X = 4
//I = 4, X = 2
//I = 5, X = 0
//I = 6, X = -2
//I = 7, X = -4
//I = 8, X = -6
//I = 9, X = -8
//I = 10, X = -10// I := 0;
// while I <= X do
// begin
// Memo1.Lines.Add(Format('I = %d, X = %d', [I, X]));
// Dec(X, 2);
// Inc(I);
// end;
//Result:
//I = 0, X = 10
//I = 1, X = 8
//I = 2, X = 6
//I = 3, X = 4
end;
否则就只能用while或者repeat来实现了