Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2006
comba comba is offline
Miembro
 
Registrado: feb 2004
Posts: 89
Poder: 21
comba Va por buen camino
Smile Imprimir etiqueta con codigos escape

Hola a todos

Siempre he utilizado para imprimir etiquetas con su codigo de barras y demas, quickreport y delphi 6. Hasta ahora todo funcionaba bien.

Pero ahora tengo que hacerlo através de los codigos de escape de la impresora. (Zebra Lp 2844).

Tengo los códigos en un fichero txt.

FK"*"
N
B60,8,0,2C,3,8,232,N,"0000001231542361416795001001"
A100,254,0,4,1,1,N,"000000-000000-1416795001-123564"
A540,300,0,3,1,1,N,"C.POSTAL"
.
.

Pero no se como enviarselo a la impresora.
He buscado por muchos sitios incluyendo el manual de programación de dicha impresora pero no encuentro como enviar una linea y que la impresora la interprete.

Es verdad que si desde ms-dos le digo print etiqueta.txt me la imprime pero por el puerto LPT1 y tengo la necesidad de imprimirla por el USB.

Si alguién me puede dar una pista. Gracias.
Responder Con Cita
  #2  
Antiguo 17-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Si buscas en los foros, vas a encontrar hilos que hablan de como eviar un texto a una impresora por un puerto USB. Una de las que recuerdo haber leído es que compartas la impresora y luego en vez de escribir el Puerto, colocas el nombre que tiene la impresora compartida.

Suerte.
Responder Con Cita
  #3  
Antiguo 17-07-2006
comba comba is offline
Miembro
 
Registrado: feb 2004
Posts: 89
Poder: 21
comba Va por buen camino
Ya lo intenté pero no me funcionó.

Gracias.
Responder Con Cita
  #4  
Antiguo 18-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Bueno, yo he impreso de esa manera y me ha funcionado. Déjame hacer unas pruebas y cualquier cosa te aviso.

Suerte.
Responder Con Cita
  #5  
Antiguo 18-07-2006
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Puedes usar el procedimiento AssignPrn y sacando el nombre de TPrinter:

Código Delphi [-]
  var
    f : textfile;

begin
  pr := TPrinter.Create;
  printer.PrinterIndex := pr.Printers.IndexOf('aquí el nombre de la impresora');
  AssignPrn(f);
  Rewrite(f);

  write(f, 'lo que quieras imprimir');


  closeFile(f);
  pr.free;
end;
Responder Con Cita
  #6  
Antiguo 03-08-2006
comba comba is offline
Miembro
 
Registrado: feb 2004
Posts: 89
Poder: 21
comba Va por buen camino
Smile Solucionado y agradecido

De esta forma envío el archivo con los códigos de escape y funciona muy bien y muy rápido.


procedure TForm2.PrintFile(const sFileName: string);
const
iBufferSize = 32768;
var
Count, BytesWritten: Cardinal;
hPrinter, hDeviceMode: THandle;
sDevice : array[0..255] of char;
sDriver : array[0..255] of char;
sPort : array[0..255] of char;
DocInfo: TDocInfo1A;
f: File;
pBuffer: Pointer;
begin
Printer.PrinterIndex := etiqueta.ItemIndex ;
Printer.GetPrinter(sDevice, sDriver, sPort, hDeviceMode);
if not WinSpool.OpenPrinter(@sDevice, hPrinter, nil) then
exit;
DocInfo.pDocName := 'Etiqueta;
DocInfo.pDatatype := 'RAW';
DocInfo.pOutputFile := nil;

if StartDocPrinter(hPrinter, 1, @DocInfo) = 0 then
begin
WinSpool.ClosePrinter(hPrinter);
exit;
end;
if not StartPagePrinter(hPrinter) then
begin
EndDocPrinter(hPrinter);
WinSpool.ClosePrinter(hPrinter);
exit;
end;
System.Assign(f, sFileName);
try
Reset(f, 1);
GetMem(pBuffer, iBufferSize);
while not eof(f) do
begin
Blockread(f, pBuffer^, iBufferSize, Count);
if Count > 0 then
begin
if not WritePrinter(hPrinter, pBuffer, Count, BytesWritten) then
begin
EndPagePrinter(hPrinter);
EndDocPrinter(hPrinter);
WinSpool.ClosePrinter(hPrinter);
FreeMem(pBuffer, iBufferSize);
exit;
end;
end;
end;
FreeMem(pBuffer, iBufferSize);
EndDocPrinter(hPrinter);
WinSpool.ClosePrinter(hPrinter);
finally
System.Closefile(f);
end;
end;

procedure TForm2.SpeedButton2Click(Sender: TObject);
begin
PrintFile('C:\........\fichero.txt');
end;
Responder Con Cita
  #7  
Antiguo 05-08-2006
Avatar de PepeLolo
PepeLolo PepeLolo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Fuenlabrada - Madrid - Espagna
Posts: 265
Poder: 21
PepeLolo Va por buen camino
Cita:
Empezado por comba
Hola a todos

Siempre he utilizado para imprimir etiquetas con su codigo de barras y demas, quickreport y delphi 6. Hasta ahora todo funcionaba bien.

Pero ahora tengo que hacerlo através de los codigos de escape de la impresora. (Zebra Lp 2844).

Tengo los códigos en un fichero txt.

FK"*"
N
B60,8,0,2C,3,8,232,N,"0000001231542361416795001001"
A100,254,0,4,1,1,N,"000000-000000-1416795001-123564"
A540,300,0,3,1,1,N,"C.POSTAL"
uff.., que pena, he utilizado esa impresora hece un mes en un proyecto en el curro, si el lunes me lo recuerdas te adjunto el código.

un saludo.
__________________
PepeLolo
El hombre el único virus que mide más de unas cuantas micras
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como imprimir un fichero con codigos escape comba Impresión 3 05-08-2006 03:26:21
codigos escape bernat_f Impresión 4 17-06-2006 18:27:57
Codigos Escape Impresora Sansumg serhasae Varios 3 05-09-2005 10:40:17
Codigos de escape con Zreport Sick boy Impresión 0 22-07-2005 12:27:13
Codigos de escape jsanchez Impresión 1 17-05-2003 13:54:00


La franja horaria es GMT +2. Ahora son las 09:52:16.


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