>>As for printing longer strings, the 255 char limit is inherent to VFP's print engine; I have had trouble with expressions which returned more than that, or longer memos. Your solution is OK for one line; here's how I'd go to print it into a column:
>>
>>set memo to < your max width of column goes here >
>>for i=1 to memlines(thisform.message)
>> @prow()+1, 5 say mline(thisform.message, i)
>>endfor
>>
>>Sorry, can't try your code with a printer, I write these messages at home, no printer at hand.
>
> The problem was more than that. My form.Message is a string, which contains itself chr(13), like this:
>
> Part1+chr(13)+Part2+chr(13)+... I want to display it correctly and print it.
> If I print it from report, it prints just fine, but if I use @..say command instead of correct printing I see some symbol...
>
> So, I decided not to use this code...
Actually, mline() function would split your string into lines, respecting either the maximum number of words which would fit into set("memowidth") characters, or chr(13), whichever comes first. So this technique would print part2 below part1. Just try it.