Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Como imprimir un fichero con codigos escape (https://www.clubdelphi.com/foros/showthread.php?t=33639)

comba 12-07-2006 19:21:37

Como imprimir un fichero con codigos escape
 
Hola

Tengo un fichero txt con los codigos de escape de una impresora zebra y tengo que imprimirlor pero no se se hace.

Alguién me puede dar una horientación. Se que tengo que enviar ese fichero hacia la impresora pero no nunca lo he hecho.

Un saludo

marcoszorrilla 12-07-2006 19:53:26

Puedes probar con Print del antiguo MS.Dos, que lo encontrarás generalmente en Windows\System32.

Un Saludo.

neasoporte 05-08-2006 01:18:33

enviar codigo de escape embebido en qreport
 
Yo lo hago de esta manera,pego labeles en la linea a destacar en impresion.
alli al momento de imprimir el report lo exporto como archivo de texto,luego
lo imprimo desde el dos...

Código Delphi [-]
procedure TFprimostrador.btnpresuClick(Sender: TObject);
var
aexport:tqrasciiexportfilter;
chkdos:bool;
begin
imprimeok:='S';
chkdos:=fcfgprinter.chkprndos.Checked;
case chkdos of
 False:begin
  pnlopcprn.Visible:=false;
   if imprimeok='S' then
    begin
      fprnpresu.exptot.Expression:='sum(qprev.subtotal)';
     fprnpresu.qrppresu.Print;
    end else
      MessageDlg('Problemas de Comunicacion Con Impresora..Verifique', mtInformation,[mbOk], 0);
      gridprev.SetFocus;
 end else
 begin
  pnlopcprn.Visible:=false;
   if imprimeok='S' then
    begin
      try
       fprnpresu2.exptot.Expression:='sum(qprev.subtotal)';
       fprnpresu2.k1.Caption:=chr(14);
       fprnpresu2.k2.Caption:=chr(20);
       fprnpresu2.k3.Caption:=chr(15);
       fprnpresu2.k4.Caption:=chr(14);
       fprnpresu2.k5.Caption:=chr(20);
       aexport:=tqrasciiexportfilter.create('c:\preventa\presu.txt');
       fprnpresu2.qrppresu2.ExportToFilter(aexport);
       ShellExecute(handle,'open','Command.com','Command.com /c type c:\preventa\presu.txt>lpt1','',sw_normal);
       aexport.Finish;
      finally
        if not printer.Printing then
          begin
           saltos:=fcfgprinter.edtsaltos.IntValue;
           paracorte;
          end;
      end;
    end else
      MessageDlg('Problemas de Comunicacion Con Impresora..Verifique', mtInformation,[mbOk], 0);
      gridprev.SetFocus;
  end;
end;
end;

procedure TFprimostrador.mandocode(s: string);
var
 Handle, hDeviceMode: THandle;
 N: DWORD;
 DocInfo1: TDocInfo1;
 Device, Driver, Port: array[0..255] of char;
 PrinterName: string;
 buf:array[0..255] of char;
 lbuf:integer;
begin
 Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
 PrinterName := Format('%s', [Device]);
 if not OpenPrinter(PChar(PrinterName), Handle, nil) then
  //RaiseLastWin32Error;
  imprimeok:='N';
 try
  with DocInfo1 do
  begin
   pDocName := 'Control';
   pOutputFile := nil;
   pDataType := 'RAW';
  end;
  StartDocPrinter(Handle, 1, @DocInfo1);
  try
   lbuf:=length(s);
   copymemory(@buf,Pchar(s),lbuf);
   if not WritePrinter(Handle, @buf, lbuf, N) then
    //RaiseLastWin32Error;
    imprimeok:='N';
  finally
   EndDocPrinter(Handle);
  end;
 finally
  ClosePrinter(Handle);
 end;
end;
 
procedure TFprimostrador.paracorte;
var
inisalto:integer;
begin
  for inisalto:=1 to saltos do
   begin
   s:=#27+#10;
   mandocode(s);
   end;
end;

delphi.com.ar 05-08-2006 03:26:21

Podrías hacer algo como esto: http://www.clubdelphi.com/foros/show...64&postcount=3


La franja horaria es GMT +2. Ahora son las 06:23:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi