解决打印机LQ300k倒回的问题,
          ESC j 0~255
发十进制:27 106 0~255
上面是打印机的可以认的命令

解决方案 »

  1.   

    uses
      Printers;begin
      Printer.BeginDoc;
      Printer.Canvas.TextOut(0, 0, '直接打印本字符串');
      Printer.EndDoc;
    end;
      

  2.   

    不好意思,我可能没有说清楚,我要的是打印机可以直接可认的程序,不是转成文本的打印,谢谢!!
    下面是我写的,有问题,朋友们看看
    var
        DD,EE,SS:DWORD;
        write_os:Toverlapped;
        pDataToWrite:PChar;
        SendString:string;
    begin
        hSend:=CreateFile(pchar('LPT1'),GENERIC_WRITE,0, nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);
        SetupComm(hSend,1024,1024);
        SS := 0;
        SendString :=SendString+chr(7); //发送的字符串
        SendString :=SendString+chr(27)+chr(106)+'23';  //发送的字符串
        SendString :=SendString+chr(27)+chr(64);  //发送的字符串
        EE := length(SendString) + 1;
        pDataToWrite := PChar(SendString);
        Write_Os.hEvent := CreateEvent(nil,True,False,nil);
        SetCommMask(hSend,EV_TXEMPTY);
        writefile(hsend,pDatatoWrite[SS],EE,DD,@write_os);
        CloseHandle(hSend);
      

  3.   

    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.