我设了一个Memo控件,用来显示事件日志,现在想添加一个按钮实现将文本打印,不知怎么写,有哪位大虾替我写一下

解决方案 »

  1.   

    SaveToFile,然后用winexec调用dos命令type aa.txt>prn.
      

  2.   

    memo没有打印的方法,你用
    RichEdit1.Print就可以
      

  3.   

    TPrinter类的一个对象,该对象在Printers单元中定义。可以把Printer全局函数看作一个全局变
      量,并利用这个全局变量来与打印机进行打印操作。
      利用Printer来实现打印的一般过程如下:
      1)调用BeginDoc过程向打印机发送一个打印作业(此时还没有在打印机上开始打印)。
      2)通过一个Text变量或调用Canvas对象方法建立打印输出。
      3)调用EndDoc过程结束当前的打印作业,该打印作业开始在打印机上打印。
      4)如果出现问题,调用Abort过程取消当前打印的作业。
      下面是TPrinter类的几个常用属性:
     Aborted判断是否中止打印作业。
     Canvas画布属性。
     Capabilities当前打印机驱动设备的设置信息。
     Copies打印的份数。
     Fonts字体属性。
     Handle打印机句柄。
     Orientation纸张的方向:横向或纵向。
     PageHeight纸张的高度。
     PageNumber当前打印的页数。
     PageWidth纸张的宽度。
     PrinterIndex打印机属性中当前打印机的索引值。
     Printers系统中安装的所有打印机。
     Printing标识是否正在进行一个打印作业。
     Title打印管理器中显示的打印作业的名称。
      下面是TPrinter类的几个常用函数:
     Abort中止正在打印的打印作业。
     BeginDoc向打印机发送一个打印作业。
     EndDoc结束当前的打印作业并关闭文本文件变量。
     NewPage开始新的一页并增加PageNumber属性。
     Refresh更新字体和打印机的属性。
      通常,在打印前要进行打印预览。在打印预览的时候,往往要将打印的结果在屏幕上显示
      出来。这时,就要注意屏幕的分辨率和打印机的分辨率的差别了。读取屏幕信息可以通过全局
      变量Screen来实现,Screen为TScreen类的一个实例,在创建工程的时候就自动创建了,并在程
      序开始运行时读取了屏幕的一些设置信息。
      

  4.   

    下载一个组件,我一般用preview
      

  5.   

    用Canvas一行一行的画上去打印吧。图片打印也是这么做的。
      

  6.   

    你只需要引用一个Printers就行了。弄起来相当简单的!
      

  7.   

    我这样写,结果编译通过,可是由于我本机上没有打印机,所以一运行时就弹出错误,并关闭程序。出现这样的问题该怎么办?
    var 
       FrmFileName: string;
    begin
    if PrintDialog.execute then
      RichEdit1.Print(FrmFileName);
    end;
      

  8.   

    将MEMO保存到TXT,直接打印即可。