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 23-07-2007
Mariolarr Mariolarr is offline
Miembro
 
Registrado: jul 2007
Posts: 45
Poder: 0
Mariolarr Va por buen camino
Delphi puerto paralelo

Hola, soy nueva en el foro, así que espero que mi pregunta sea clara, a ver...
Me gustaria saber como puedo mandar a imprimir por puerto paralelo de una impresora términa el contenido de una ristra(donde un texto viene expresado por 121100102800760HOLA), algun componente que sea necesario, no se...
es la impresion de etiquetas. No se si me he expresado con claridad.
Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 23-07-2007
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
http://www.clubdelphi.com/foros/show...resion+directa
Responder Con Cita
  #3  
Antiguo 23-07-2007
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
Puerto impresora.

Este es un ejemplo simple para que empieces:
Código Delphi [-]
procedure Imprime;
var
  PT: integer;
  P  : PChar;
begin
  PT := FileOpen('LPT1', fmOpenWrite);
  if PT > 0 then begin
    P := 'Prueba de impresion' + #10 + #13;
    FileWrite(PT, P^, Length(P));
    P := #12; // Salto de página
    FileWrite(PT, P^, Length(P));
    FileClose(PT);
  end else begin
    ShowMessage('No he podido acceder a la impresora.');
  end;
end;

Esto manda caracteres a la impresora directamente, es decir, impresión en modo texto, a la antigüa usanza, usando la unidad printers imprimirás en modo gráfico, más lento, pero te dará más posibilidades.

Te hará falta echar un ojo a la función CharToOem para que se te impriman bien algunos caracteres, por la diferencia de la tabla de caracteres entre windows y las impresoras.

Saludos.

Última edición por afxe fecha: 23-07-2007 a las 10:23:32.
Responder Con Cita
  #4  
Antiguo 23-07-2007
Mariolarr Mariolarr is offline
Miembro
 
Registrado: jul 2007
Posts: 45
Poder: 0
Mariolarr Va por buen camino
Gracias pero...

Gracias pero creo que no me habeis entendido chicos porque lo que quiero no es imprimir el texto que contiene un fichero ni el de una ristra sino la interpretacion del contenido, por ejemplo 121100105650140REMITENTE, imprimira remitente en las coordenadas indicadas (x,y) con el tipo y tamaño de fuente indicados (con la numeración), ... Se que con puerto serie un componente que funciona es TConPort pero en puerto paralelo no se.

Gracias
Responder Con Cita
  #5  
Antiguo 23-07-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por Mariolarr
Gracias pero creo que no me habeis entendido chicos porque lo que quiero no es imprimir el texto que contiene un fichero ni el de una ristra sino la interpretacion del contenido, por ejemplo 121100105650140REMITENTE, imprimira remitente en las coordenadas indicadas (x,y) con el tipo y tamaño de fuente indicados (con la numeración), ... Se que con puerto serie un componente que funciona es TConPort pero en puerto paralelo no se.

Gracias
Tendrias que explicar mas:

Código Delphi [-]
 
121100105650140REMITENTE

La longitud del numero es siempre fija?
Las coordenadas salen de ese mismo numero?
De que se compone ese numero, como se genera?

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #6  
Antiguo 25-07-2007
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
TComPort.

Con el TComPort puedes abrir también el puerto RS232, es decir, el puerto paralelo, no obstante, con el ejemplo que te puse anteriormente abres el puerto y envias caractes por dicho puerto, tal y como lo haría el TComPort. No obstante, Mamu tiene razón: ¿Qué significan esos números?

Con las impresoras nos podemos comunicar con varios lenguajes: xIBM, Modo Epson, PCL-5, PCL-6, etc... Normalmente, los drivers de windows evitan que tengamos que aprendernos todos esos lenguajes para sacar el mayor rendimiento a una impresora. Si tu "ristra" de números tienen algún significado para tu impresora (que lo dudo, pues no se parece a ninguno de los lenguajes que yo conozca, aunque no los conozco todos), abriendo el puerto (como te indiqué o con el TComPort) y enviándo dichos caracteres tu impresora los debe saber "interpretar" e imprimir correctamente.

Pero si la impresora no es capaz de interpretar esos números, tendrás que interpretarlos tú por ella, es decir, tendrás que usar el ejemplo del Dioni y usar el Canvas de la Printer para "dibujar" una interpretación de esos números, ya que por lo que comentas (posicionamiento (x,y), tipo de letra, tamaño de letra...) estamos hablando de impresión en modo gráfico.

De todas maneras, me uno a la duda de Mamu: ¿De donde han salido y qué significan esa ristra de números?

Saludos.
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
Puerto paralelo bactering Varios 8 15-09-2011 07:55:09
PWM con puerto paralelo... emeceuy Varios 5 19-07-2007 20:30:23
Captura del puerto paralelo con delphi janlo Impresión 2 04-08-2006 08:10:32
Como puedo manejar el puerto paralelo con Delphi 2005 .NET? z-7 .NET 4 26-07-2005 12:47:40


La franja horaria es GMT +2. Ahora son las 13:39:41.


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