🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: cn.bbs.comp.program
1 messages
1 total messages Started by ���� Tue, 20 Jan 1998 00:00
Re: ���DELPHI�Ĵ�ӡ
#2059
Author: ����
Date: Tue, 20 Jan 1998 00:00
227 lines
9640 bytes
�� �� ary (ary) �Ĵ������ᵽ: ��
: ���ʹ��DELPHI�е�TPRINTER����д�ӡ������
: лл������
: 
����������Ϊת�أ���
��DELPHI �� �� �� ͼ �� �� �� ӡ 

        �� �� ÿ һ ��WINDOWS Ӧ �� �� �� �� �� �� �� ˵�� �� ӡ �� �� �� ʵ �� �� �� ��
 Ϊ �� �� �ģ� �� Ϊ Ҫ �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �ӣ� �� ��
 ��DELPHI �� ʵ �� �� �� �� ͼ �� �� �� ӡ �� �� ȴ �� �� �� �� �� �ġ� 

        1�� �� �� �� �� ӡ �� �ܡ�DELPHI �� �� �� �� �� ӡ �� �� �� �� ͬ ��DOS �� ʵ ��
 �� �� �� �� ӡ �� �� һ �� �� �ף� �� Ҫ �� �� һ �� ֻ �� ȡ �� �� ӡ �� �� �� �� ��
 ӡ �� Ȼ �� �� �� �� �� �� ÿ һ �� �� �ݡ� ��DELPHI �� �� �� �� һ ��PRINTERS ��
 �� �� Ԫ�� �� ˵ �� �� һ ��TPRINTER �� �� �� װ ��WINDOWS �� ӡ �� �� �� �� ��
 �� ӡ �� ֮ �� �� �� �ڣ� �� �� �� �� �� �� �� �� �� �� ���� �� �� �� ��CANVAS �� һ
 �� �� �� �� �� �� �� �ԣ� �� �� �� �� �� ǰ �� ӡ �� �� �� �� �棬 �� �� ͼ �� �� ʽ ��
 �� �� �ģ� �� �� �� �� ӡ �� �� �� �� �� �� �� �� �� �� ӡ �� �� �� �� �� ��TPRINTER
 �� �� ��CANVAS �ϣ� �� ȫ �� �� �� �� �� �� �� �� �� �� �� ӡ �� ��TPRINTER��
 ��CANVAS �� �� �� ֵ �� �� �� ӡ �� �� ȥ�� 

        �� �� �� �� �� ˵ �� �� �� ͨ ��DELPHI ʵ �� �� �� �� �� �� �� ӡ�� ��DELPHI ��
 �� �� ��PRINTDIALOG��PRINTERSETUPDIALOG �� �� �� �� �� �� �� �� �� �� �� ӡ
 �� �� �� �� �� Ӱ �� �� ӡ �� �� �� ѡ �� �� �� �� �� Ҫ �� һ �� �� Ҫ �� ʵ �� �� ӡ
 �� �� �� �� �� �� �� �� �� �� ǰ ��PRINTERS �� �� ��INTERFACE ��
 ��IMPLEMENTATION ��UESE �� �� �� �У� �� ΪPRINTER �� Ԫ �� ��ASSIGNPRN
 �� �� �� �� �� �� ӡ �� �� �� �̡� 

        �� �� ��FORM �� �� �� ��MEMO��PRINTDIALOG��PRINTERSETUPDIALOG ��
 �� ��BUTTON �� ���� �� �� BUTTON ��CAPTION �� �� Ϊ�� �� ӡ �� �á� �͡� ��
 ӡ���� Ȼ �� �� дBUTTON �� �� �� �� �� �� �� �� �� �� �� �棩�� �� �� �� �� �� ��
 �� �� ֻ Ҫ �� ���� �� ӡ�� �� ť ʱ �� �� �� �� �� ӡ �� �� �� �� �� ��0S2.TXT�� ��
 ӡ �� �� �� �� �� �� �£� 



 implementation

 uses printers;

 {$R *.DFM}



 procedure TForm1.BitBtn1Click(Sender: TObject);

 begin

 printersetupdialog1.execute;  //ѡ������Ĵ�ӡ���Լ������ӡ����ѡ��

 end;

 procedure TForm1.BitBtn2Click(Sender: TObject);

 var

 lines:integer;

 prntext:system.text; 

 //��PRNTEXT����Ϊһ����SYSTEM����Ԫ���ж�����ı��ļ�

 begin

    if printdialog1.execute then

    assignprn(prntext); //��PRNTEST������ӡ��

    rewrite(prntext); //����REWRITE����Ϊ������ѷ�����ļ�

    printer.canvas.font:=memo1.font; 

    //�ѵ�ǰMEMO1������ָ�����ӡ�����CANVAS����������

    for lines:=0 to memo1.lines.count-1 do

    writeln(prntext,memo1.lines[lines]);

    //��MEMO������д����ӡ�����

    system.close(prntext); //�رմ�ӡ�ļ�

 end;



 procedure TForm1.FormCreate(Sender: TObject);

 begin

 memo1.lines.loadfromfile('c:\dos\os2.txt');

 //��FORM����ʱ����C:\DOS\OS2.TXT�ļ�  

 end;

 end.


        2�� ͼ �� �� �� ӡ �� ��, �� �� �� ͼ �� �� ӡ �� �� Ҳ �� �� ӡ �� �� һ �� �� ��
 �ף� ֻ �� �� �� �� ӡ �� �� ��TPRINTER�� �� ʼ �� ӡ�� �� ͼ �� �� �� �� �� �� ��
 �� ӡ �� �� ȥ�� �� �� �� �� �� ӡ �� �� �� �� ӡ �� ���� 

        �� �� ˵ ���� �� �� �� �� �� �� ��MEMO �� �� �� ��IMAGE �� ���� �� �� �� һ Щ
 �� �� �� �� �ģ� ͼ �� �� ӡ �� �� �� �� �£� 



 procedure TForm1.BitBtn1Click(Sender: TObject);

 begin

 if printdialog1.execute then begin

 printer.begindoc;

 printer.canvas.draw(0,0,image1.picture.graphic);

 printer.enddoc;

 end;

 end;


        �� �� �� �� �� �£� ʹ �� �� �� �� ӡ �� �� �� �� �ʣ� ͼ �� �� ҳ �� �� �� �� �� ��
 ʼ �� ӡ �� ���� �� �� �� ͼ �� �� С�� �� �� �� �� �� �� �� �� �� �� �� Ҫ �� �� ��
 �� ӡ �� �� ��CANVAS ��STRETHDRAW �� �� ���� �� �� �� �� �� �� ͼ �� �� �� ��
 �� �� �� �? �� ����CANVAS�� ��STRETCHDRAW �� �� �� �� �� 



 procedure StretchDraw(const Rect: TRect; Graphic: TGraphic);

 ���е�RECT������ͼ���������Ĵ�С��TRECT����������Ϊ��

 TRect = record

   case Integer of

     0: (Left, Top, Right, Bottom: Integer);

     1: (TopLeft, BottomRight: TPoint);

 end;


        �� �� �� �� ֻ Ҫ �� ��RECT �� �� С �� �� �� �� ӡ ҳ �� �� �� λ �ã� �� �� �� ��
 �� �� �� �� �� Ч �� �� �� �� �� �� �� �� �� �� �� �� ͼ �Σ� �� �� �� �� �� �� �� ��
 �� �� �� �� �� �� �� λ �� �� ӡ �� �� ����CANVAS�� �� �� �� �� �� �� ���� �� ��
 �� �£� 



 procedure TForm1.Button1Click(Sender: TObject);

 VAR

 strect:Trect;    //�����ӡ������ο�Ĵ�С

 temhi,temwd:integer;

 begin

 if printdialog1.execute then

    begin

    temhi:=image1.picture.height;

    temwd:=image1.picture.width;

       while (temhi printer.pageheight div 2)and

             //��ͼ�ηŴ󵽴�ӡҳ���1/2��С

          (temwd printer.pagewidth div 2)   do

               begin

               temhi:=temhi+temhi;

               temwd:=temwd+temwd;

               end;

          with strect do    //����ͼ����ҳ���ϵ�����λ�����

               begin

               left:=(printer.pagewidth -temwd) div 2;

               top:=(printer.pageheight-temhi) div 2;

               right:=left+temwd;

               bottom:=top+temhi;

               end;

    with printer do

    begin

    begindoc;

    canvas.stretchdraw(strect,image1.picture.graphic);  

                //���Ŵ��ͼ�����ӡ�����

    enddoc;

    end;

 end;

 end;


        �� �� �� �� ��DELPHI2.0 �� �� �� ͨ �� ͨ �� �� Щ С С �� �� �ӣ� �� �� �� ��
 �� �� ��DELPHI �� �� ӡ ͼ �� �� �� �� �� һ �� �� �� �⣬ ͬ �� ͨ �� �� ӡ �� �� ��
 ����CANVAS�� �� �� Ҳ �� �� ʵ �� �� �� �� �� �� �� �� ӡ�� �� �� �� �� һ һ ׸
 ���� �� �� �� �� �� �� Ȥ �� �� һ �ԡ� 

--
 ��Դ: ����������BBSվ��bbs.nease.net�E[FROM: www-post@bbs.nease.n]
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads