2017-04-13 42 views
1

不知道這是可能的:做一段時間,直到變量是空/空

   myString = 313233 

       counter = Len(myString)      

       Do while counter > 0 

       position = 1 

       take = 2 

       response.write (" counter:" & counter) 

       first_two = Mid(myString, position, take) 

       response.write (" Each loop:" & first_two)            

       position = position + 2 

       counter = counter - 2 

       Loop 

誰能告訴我,我要去哪裏錯了嗎?或者這可能通過不同的方法?

上面的代碼運行一次,並返回:31個不是31 32 33

感謝。

UPDATE:不久後實現了我的錯誤,但現在的位置不會增加給走高的變量

+0

'position'不會增加,因爲你在循環的開始將它設置爲'1'。當它到達Mid()時,它總是爲1。你只應該初始化循環外部的變量。 – Lankymart

回答

0

您在Do循環的開始設置position變量1。每當Mid()被調用時,它就會通過position = 1,這將返回31

通過將其移動到循環之外來解決此問題,因此position可以遞增。

myString = 313233 
counter = Len(myString)      

'Set before start of loop 
position = 1 
take = 2 

Do while counter > 0 
    response.write (" counter:" & counter) 
    first_two = Mid(myString, position, take) 
    response.write (" Each loop:" & first_two) 
    'Use take variable so increment is always the same.           
    position = position + take 
    counter = counter - take 
Loop 

測試的代碼

+0

謝謝 - 甚至沒有考慮到這一點。 – rem