Isn't there a WriteBuffer() or WriteStr() or somethign like that exactly for that? I don't remember exactly but if memory isn't failing it produces the same output than either Write() or WriteLn() (don't remember which) only it goes to a buffer or a string.
Let me dig a little to see if I can find it ...
ETA: Found it! It is
System.WriteStr and it behaves like Write(), not WriteLn(), though that shouldn't be too much of a problem.
There is also the counterpart: ReadStr()