2016-08-31 8 views
-1

テキストと一緒に1から150までの2つの数値の範囲を印刷しようとしています。 1番目の範囲は1から150の昇順で、2番目の範囲は150から1から降順です。 昇順を印刷することはできますが、降順の方法はわかりません。ループを使用した増減数

Set xml = CreateObject("Microsoft.XMLHTTP") 


For i = 1 to 150 

TL1("HELLO"&i&"INCRESING"&i&";") // In both the statement i should increment from 1 to 150 and 
TL1("HELLO"&n&"INCRESING_I"&i&"DECRESING_N"&n&";") // n should decrement from 150 to 1 

Next 

Set xml = Nothing 

Function TL1(cmd) 
xml.Open "GET", "http://127.0.0.1:2024/TL1?"&cmd, False 
xml.Send 
TL1 = xml.responseText 
WScript.Stdout.Write cmd & vbCrLf 
End Function 

したがって、基本的にforステートメントの後です。私は増分し、nは減るべきです。同じforloopにこれを追加する方法はありますか?

+0

にだけではなく、Iを使用しての、150を使用します - 私は2番目のTL1() –

+3

@RobertAltmanで、実際にはiが1で始まるので '151 - i'になるはずです –

+0

@VictorMoraeお元気ですか。いいキャッチ! –

答えて

1

コメントで説明したように、増分値を減らすために必要な合計を計算するだけで済みます。また、値が変更されたときに数値を調整するコード行を通過する必要がないように、定数値を定義するためにConstを使用することにも注意してください。

Const MIN_LOOP = 1 
Const MAX_LOOP = 10 

Dim i, n 

For i = MIN_LOOP To MAX_LOOP 
    WScript.Echo "HELLO" & i & "INCRESING" & i & ";" 
    n = (MAX_LOOP + 1) - i 
    WScript.Echo "HELLO" & n & "INCRESING_I" & i & "DECRESING_N" & n & ";" 
Next 

出力:

HELLO1INCRESING1; 
HELLO10INCRESING_I1DECRESING_N10; 
HELLO2INCRESING2; 
HELLO9INCRESING_I2DECRESING_N9; 
HELLO3INCRESING3; 
HELLO8INCRESING_I3DECRESING_N8; 
HELLO4INCRESING4; 
HELLO7INCRESING_I4DECRESING_N7; 
HELLO5INCRESING5; 
HELLO6INCRESING_I5DECRESING_N6; 
HELLO6INCRESING6; 
HELLO5INCRESING_I6DECRESING_N5; 
HELLO7INCRESING7; 
HELLO4INCRESING_I7DECRESING_N4; 
HELLO8INCRESING8; 
HELLO3INCRESING_I8DECRESING_N3; 
HELLO9INCRESING9; 
HELLO2INCRESING_I9DECRESING_N2; 
HELLO10INCRESING10; 
HELLO1INCRESING_I10DECRESING_N1; 
0

代わりにちょうどIを使用して、151を使用する - 私は第二TL1()

Const MIN_LOOP = 1 
Const MAX_LOOP = 10 

Dim i, n 

For i = MIN_LOOP To MAX_LOOP 
    WScript.Echo "HELLO" & i & "INCRESING" & i & ";" 
    n = (MAX_LOOP + 1) - i 
    WScript.Echo "HELLO" & n & "INCRESING_I" & 151 - i & "DECRESING_N" & n & ";" 
Next 
関連する問題