А вот мой вариант печатает несколько копий подряд на одном листе
#sha
Add(Memo,12980789,343,147)
{
Left=3
Top=50
Width=715
Height=500
Point(SelText)
link(FileName,4942225:Value,[])
}
Add(Button,5171328,182,294)
{
Left=6
Top=25
Width=225
Font=[Courier New,10,0,0,204]
Caption="ПЕЧАТЬ ВЫДЕЛЕННОГО ТЕКСТА"
link(onClick,1142086:doEvent1,[])
}
Add(Hub,642401,273,84)
{
link(onEvent1,4942225:doValue,[(337,90)(337,97)])
link(onEvent2,12980789:doLoad,[(329,97)(329,181)])
}
Add(Memory,4942225,350,91)
{
}
Add(Printer,2239600,364,280)
{
link(Text,7156847:Text,[])
}
Add(UpDown,1719156,231,175)
{
Left=535
Top=20
Height=25
Min=1
Position=1
link(onPosition,9900896:doText,[])
}
Add(Label,16720928,189,245)
{
Left=335
Top=25
Width=121
Height=17
Caption="КОЛИЧЕСТВО КОПИЙ"
}
Add(Edit,9900896,287,175)
{
Left=475
Top=25
Text="1"
DataType=2
link(Str,1719156:Position,[(293,163)(277,163)(277,220)(237,220)])
}
Add(For,13452048,280,224)
{
Start=1
link(onEvent,7156847:doAdd,[(338,230)(338,216)])
link(End,9900896:Text,[])
}
Add(Hub,1142086,238,294)
{
link(onEvent1,13452048:doFor,[(275,300)(275,230)])
link(onEvent2,2239600:doPrint,[(317,307)(317,286)])
}
Add(ODialog,13412753,231,84)
{
link(onExecute,642401:doEvent1,[])
}
Add(Button,14389001,189,84)
{
Left=255
Top=25
Width=60
Caption="Открыть"
link(onClick,13412753:doExecute,[(226,90)(191,90)])
}
Add(Memo,7156847,364,210)
{
Left=30
Top=340
Width=525
Visible=1
Point(SelText)
link(Str,12980789:SelText,[])
}
А теперь давайте придумаем как печатать входящее сообщение сразу на принтер в процессе его получения, т.е получили символ - напечатали, или получили строку - напечатали. Естественно на одной странице
