我通过向打印机发送打印命令实现本地打印。同时打印机是共享的,网络打印机用户可以打印普通文档,就是不能实现用打印命令打印所需要的东西。我用的是:AssignFile();Rewrite();writeln();CloseFile()实现本地打印的。怎么样让网络用户也可以发送打印命令呢?

解决方案 »

  1.   

    你打印,为什么还要用AssignFile();Rewrite();writeln();CloseFile(),我用点不是太明白你的意思!
      

  2.   

    那你用Tprinter 对象最好
      

  3.   

    利用重定向呀!!
    function  TFixtureControl.Print(Content:string):Boolean;
    var
      MYFile:TextFile;
    begin
      try
        Assignfile(MyFile,'\\fs\lpt1');
        Rewrite(MyFile);
        Writeln(MyFile,Content);
        System.CloseFile(MyFile);
      except
      end;
    end;
      

  4.   

    var
      MYFile:TextFile;
    begin
      try
        Assignfile(MyFile,'\\(local)\lpt1');
        Rewrite(MyFile);
        Writeln(MyFile,Content);
        System.CloseFile(MyFile);
      except
      end;
    end;//这样不行,把(local)换成其他的名称(有打印机)也不行
      

  5.   

    网络上的lpt1端口怎么表示呢?
      

  6.   

    比如现在有一台叫abc的机器,装有打印机,一台叫none的机器,没有打印机,怎么表示AssignFile(f,'\\abc\lpt1')这样的情况呢?,用AssignFile(f,'\\abc\lpt1')不行,我已经试过了。如果不用AssignFile,还有其他的好方法吗?
      

  7.   

    用TPrinter吧
    先用BeginDoc开始打印
    之后你就在它的Canvas上输出你要的东西
    换页用NewPage
    完毕之后用EndDoc结束