Конференция "KOL" » Print from KOLMemo [Delphi, KOL]
 
  • ebz (01.07.11 03:14) [0]
    How to print Unicode text from KOLMemo ?
    I've try using TKOLPrinters but too many error there..
  • RusSun © (01.07.11 15:04) [1]
    Можно так.

    uses
     windows,
     messages,
     kol,KOLMHPrinters;

    //http://kolmck.net/Components/print/MHPrinters.zip

    Begin{Печать}

    {(********************************************)
    //рисуем рамку
    //лев вертикальн
    prn.canvas.MoveTo(tr.Left-2,tr.Top);
    prn.canvas.LineTo(tr.Left-2,tr.Bottom);
     //прав вертикальн
    prn.canvas.MoveTo(tr.Right+2,tr.Top);
    prn.canvas.LineTo(tr.Right+2,tr.Bottom);
    //верхняя
    prn.canvas.MoveTo(tr.Left-2,tr.Top);
    prn.canvas.LineTo(tr.Right+2,tr.Top);
    //нижняя
    prn.canvas.MoveTo(tr.Left-2,tr.Bottom);
    prn.canvas.LineTo(tr.Right+2,tr.Bottom);
    (*****************************************) }

         Showmsg('Пожалуйста подождите, идёт печать',0);
        prn := Printer; Lh:=10;
                try
                      prn.BeginDoc;

                       prn.Canvas.Font.FontName:='Times NewRoman';
                       setBkMode(prn.canvas.Handle,transparent);
                       prn.canvas.TextOut(10,Lh,Editbox22.text);Lh:=Lh+74;
                       prn.canvas.TextOut(10,Lh,'№ '+Editbox23.text);Lh:=Lh+74;
                       prn.canvas.TextOut(10,Lh,'Pokazanie dozatora :');Lh:=Lh+74;

        prn.canvas.TextOut(10,Lh,Editbox1.text+#32+Editbox11.text);Lh:=Lh+74;
        prn.canvas.TextOut(10,Lh,Editbox2.text+#32+Editbox12.text);Lh:=Lh+74;
        prn.canvas.TextOut(10,Lh,Editbox3.text+#32+Editbox13.text);Lh:=Lh+74;

        prn.canvas.TextOut(10,Lh,Editbox4.text+#32+Editbox14.text);Lh:=Lh+74;
        prn.canvas.TextOut(10,Lh,Editbox5.text+#32+Editbox15.text);Lh:=Lh+74;
        prn.canvas.TextOut(10,Lh,Editbox6.text+#32+Editbox16.text);Lh:=Lh+74;

        prn.canvas.TextOut(10,Lh,Editbox7.text+#32+Editbox17.text);Lh:=Lh+74;
        prn.canvas.TextOut(10,Lh,Editbox8.text+#32+Editbox18.text);Lh:=Lh+74;
        prn.canvas.TextOut(10,Lh,Editbox9.text+#32+Editbox19.text);Lh:=Lh+74;

        prn.canvas.TextOut(10,Lh,Editbox10.text+#32+Editbox20.text);Lh:=Lh+74;
                       prn.canvas.TextOut(10,Lh,'Srednee znaschenie');Lh:=Lh+74;
                       prn.canvas.TextOut(10,Lh,'v grammax');Lh:=Lh+74;
                       prn.canvas.TextOut(10,Lh,Label2.Caption+' g ');Lh:=Lh+74;
      prn.canvas.TextOut(10,Lh,'Sigma  '+Label4.Caption+' %');Lh:=Lh+74;
                    prn.canvas.TextOut(10,Lh,dateTime2strshort(now));
                       prn.EndDoc;
                 finally
                     prn.Free;
                    end;//endfinally
          end;

  • RusSun © (01.07.11 15:07) [2]
    За место Editbox...text можно писать memo.text ;)
    этот код так для примера
  • ebz (01.07.11 18:06) [3]
    Thank you RusSun, using MHPrinters works.
    Even I still confuse where I must add Linebreak and newpage for a long text..
 
Конференция "KOL" » Print from KOLMemo [Delphi, KOL]
Есть новые Нет новых   [134430   +4][b:0][p:0.002]