Eli skriptissä olisi vaikka näin:
Code: Select all
DoLoop
//koodia
EndLoop
Code: Select all
DoLoop
//koodia
EndLoop
Code: Select all
Dim merkkijono(D) As String
LataaSkripti("Skripti.txt")
Function LataaSkripti(file$)
If FileExists(file$) And IsDirectory(file$)=0
f=OpenToEdit(file$)
While Not EOF(f)
merkkijono(d)=ReadLine(f)
For j = 0 To 20
com$=GetWord(merkkijono(d),j)
Select com$
Case "DoLoop"
//
Case "Print"
k$=ReadLine(f)
Print k$
Case "KeyW"
WaitKey
Case "LoopEnd"
//
End Select
Next j
Wend
Else
MakeError "Virhe"
CloseFile f
EndIf
CloseFile f
End Function
Code: Select all
Dim merkkijono(999) As String
skripti("skripti.txt")
Function skripti(filu$)
// lue tiedosto taulukkoon
f = OpenToRead(filu$)
i = 0
While Not EOF(F)
s$ = Trim(ReadLine(f)) + " "
// käännetään "tavukoodiksi"
com$ = GetWord(s$, 1) // komento
s$ = Right(s$, Len(s$) - Len(com$) - 1) // loppulinja
Select Lower(com$)
Case "print"
s2$ = "p"
Case "keyw"
s2$ = "k"
Case "doloop"
s2$ = "d"
Case "loopend"
s2$ = "l"
EndSelect
merkkijono(i) = s2$ + " " + s$ // komento + loppulinja
i + 1
Wend
CloseFile f
// suorita skripti
For i = 0 To 999
s$ = merkkijono(i)
com$ = GetWord(s$, 1)
par$ = GetWord(s$, 2)
Select Lower(com$)
Case "p" // print
Print par$
Case "k" // keyw
WaitKey
Case "d" // doloop
If par$ = 0 Then // jos parametri on 0
// mennään eteenpäin kunnes kohdataan vastaava l (loopend)
j = 1
Repeat
i + 1
com$ = GetWord(merkkijono(i), 1)
If com$ = "l" Then j - 1
If com$ = "d" Then j + 1
Until j = 0
EndIf
Case "l" // loopend
// mennään taaksepäin kunnes kohdataan vastaava d (doloop)
j = 1
Repeat
i - 1
com$ = GetWord(merkkijono(i), 1)
If com$ = "d" Then j - 1
If com$ = "l" Then j + 1
Until j = 0
EndSelect
Next i
End Function
Code: Select all
DoLoop 1
Print Hello
KeyW
LoopEnd