for 2, yes, I did that in my games. See the following from the manual's System Expressions page:
[quote:3hykzyoa]
left(text, count)
Return the first count characters of text.
len(text)
Return the number of characters in text.
You could create a variable (let's call it "letterCounter") that keeps increasing by 1 every 0.1 seconds, for instance, you will then put in letterCounter into left(yourTextHere, letterCounter) and put the text returned from this function into the text object or spritefont object using their "set text" action every tick. This will show yourTextHere text character by character at the speed of 1 character per 0.1 seconds.
Tip: for performance reason, text object has very poor performance when it needs its text change every tick. (even on desktop, it kicks your framerate down to the point that makes your computer that can run Crysis 3 on high graphical setting to cry) You may wish to use spritefont instead as there will be no performance impact when you keep on setting the text every tick.
EDIT: oops, sorry, you want TextBox's Set Text action, not Text object:
From https://www.scirra.com/manual/117/textbox :
[quote:3hykzyoa]
Set text
Set the text currently entered in to the field.
The idea and what can you do should be the same though.
----------
for 1, anyone else wanna give currypuff a hand?