This is my solution for Text Challenge:
delim = " "
While "True"
TextWindow.Write("INPUT: ")
line = TextWindow.Read()
Split()
Program.Pause()
For iWord = 1 To nWord
txt = word[iWord]
Reverse()
Program.Pause()
If iWord = 1 Then
TextWindow.Write("OUTPUT: ")
Else
TextWindow.Write(delim)
EndIf
TextWindow.Write(txt)
EndFor
TextWindow.WriteLine("")
EndWhile
Sub Reverse
' param txt - text to reverse
' return txt - text reversed
_txt = txt
txt = ""
len = Text.GetLength(_txt)
For i = 1 To len
txt = Text.Append(Text.GetSubText(_txt, i, 1), txt)
EndFor
EndSub
Sub Split
' param delim - split with
' param line - to split
' return word - word array
' return nWord - number of words
word = ""
nWord = 0
p = 1
len = Text.GetLength(line)
While p <= len
d = Text.GetIndexOf(Text.GetSubTextToEnd(line, p), delim)
nWord = nWord + 1
If d = 0 Then
word[nWord] = Text.GetSubTextToEnd(line, p)
p = len + 1
Else
word[nWord] = Text.GetSubText(line, p, d - 1)
p = p + d
EndIf
EndWhile
EndSub