我在QuickBasic中进行逆向工程,我有这样的代码:
FOR i = star TO fin
IF a < 1 THEN
CALL clrbot
COLOR 15
PRINT force$(side); " army in "; city$(armyloc(i)); " is CUT OFF !";
TICK turbo!
GOTO alone
END IF
size = size + 1
max = 11: IF LEN(armyname$(i)) < 11 THEN max = LEN(armyname$(i))
mtx$(size) = LEFT$(armyname$(i), max)
array(size) = i
alone:
NEXT i
我想摆脱行标签(单独),而是做类似的事情:
IF a < 1 THEN
CALL clrbot
COLOR 15
PRINT force$(side); " army in "; city$(armyloc(i)); " is CUT OFF !";
TICK turbo!
NEXT i
END IF
答案 0 :(得分:1)
你可以用其他代替GOTO:
For i = star To Fin
If a < 1 Then
' Do something
Else
' Do Something else
End If
Next
这将遵循相同的逻辑 - Else
取代GOTO alone
语句。
在原始代码(QuickBASIC)中,如果输入If
块,则忽略GOTO alone
语句之后的所有内容。
如果未输入If
块(即&gt; = 1),则执行If
块之后的所有内容。
VB.NET代码中的Else
语句将产生相同的行为。如果&lt; 1,将执行第一个块,忽略Else
块,循环将前进到i
的下一个增量。
如果&gt; = 1,那么Else
块将被执行,然后循环将前进到i
的下一个增量。
以上假设QuickBASIC中的标签与DOS批处理文件中的标签类似。