把prn作为文件,然后向它自己输出就可以。
assignfile(h,'prn');
rewrite(h);
write(h,'Test output');
closefile(h);

解决方案 »

  1.   

    Assignfile可不是Win API函数
    如下:  hPrn := CreateFile('LPT1',
              GENERIC_WRITE or GENERIC_READ,
              0,
              nil,
              OPEN_EXISTING,
              FILE_ATTRIBUTE_NORMAL,
              0);
      if hPrn = INVALID_HANDLE_VALUE then
        showmessage('Print port open failed');  c:=0;
      
      WriteFile(hPrn,
                PChar(s)^,
                Length(s),
                c,
                nil);
      CloseHandle(hPrn);
    这样做有一个问题:就是如果打印机没开的话,程序就停住了,停在WriteFile上了
    如果在此期间把打印机连好,装好纸,程序就会自动往下走,但这样显的太傻了,需要在
    写端口之前检测端口状态。
      

  2.   

    我记得好象有一个API可以让你直接输出ESC命令打印的速度很快(因为是在文本格式下)。我要的就是这样的效果。
      

  3.   

    我记得好象有一个API可以让你直接输出ESC命令打印的速度很快(因为是在文本格式下)。我要的就是这样的效果。
      

  4.   

    sohotline(TBird):
       请问我用COM1代替LPT1为什么不可以???