Not so bad idea!

Full speed? In some situations like in a long loop and large strings, it might considerably slown down, yes. But the idea to put every element in one string separated with a choosen delimiter is a good workaround. And with StringField the contents is easily loaded.
The mix of types of variables is not a problem:
Code: Select all
#SEP=Chr(166); not the same as Chr(124) !!!!
Procedure.s TextInfo(Text.s)
I1=Len(Text)
For i=1 To Len(Text)
If Mid(Text,i,1)=" "
I2+1
EndIf
Next
Out.s=Str(I1)+#SEP+Str(I2)+#SEP
ProcedureReturn Out
EndProcedure
Text.s="The quick brown fox jumps over the lazy dog"
Ti.s=TextInfo(Text)
Debug "Text length = "+StringField(Ti,1,#SEP)
Debug "There are "+StringField(Ti,2,#SEP)+" spaces in the text."
