2012-04-16 41 views
1

我想編輯一些以classic-ASP編寫的遺留代碼。可以在循環停止時計數器達到X

目前我有一個聲明子程序使用for-next循環輸出一些單選按鈕:

For i = 1 to Cols 
    response.write "blah" 
    ... 
Next 

是一個簡單的計數器,列數是傳遞到子的值-常規。我試圖編輯for循環是一個while循環,而不是:

i = Start 
do while i <= Cols 
    response.write "blah" 
    ... 
    i = i + 1 
loop 

但我得到一個超過響應緩衝區限制錯誤。如果我將Cols替換爲正常工作的值。這是經典ASP的限制嗎?


原因我想用一個do while循環是因爲目前的子程序僅限於循環從1至列數。這將是有幫助的,有時指定循環計數向後(即步驟-1),但我不能寫:

if Direction = Backwards then 
    For i = Cols to 1 step -1 
else 
    For i = 1 to Cols 
end if 

回答

5

如何:

If Direction = Backwards Then 
    cs = 10 
    ce = 1 
    s = -1 
Else 
    cs = 1 
    ce = 10 
    s = 1 
End If 

For i = cs To ce Step s 
    '' 
Next 
+0

這一工程!我沒有意識到你可以「步驟X」並將X作爲變量。謝謝。 – Dan 2012-04-16 19:19:24