PDA

Ver la Versión Completa : Imprimir por Puerto Com1


ASUNCION
22-12-2010, 21:38:03
Saludos para todos,

Tengo una Impresora que se comunica a la computadora por el com1,
Estoy utilizando el componente TComport,

con este codigo puedo probar y me envia esta informacion
ComPort.Open;
ComPort.WriteStr('ESTO ES UN PRUEBA');
ComPort.Close;

Hice un programa en delphi 7 que me genera una secuencia de numeros y lo almacena un una tabla, por ejemplo del 1 al 10,000, cada numero tengo que imprimir en una hoja 8 1/2 * 11 en dos lugares.

como hago para preparar todo el conjunto de datos y enviarlos a la impresora
y que me caigan en el lugar que quiero?. puedo tener un preview antes de enviarlo?

defcon1_es
23-12-2010, 18:27:27
Hola.

Tienes que contar los caracteres que caben en una línea del papel, y crearte las cadenas de texto que mandas a imprimir con el formato que tu quieres,
es decir, si en cada línea caben 110 caracteres (por ejemplo, ahora no recuerdo cuantos caben en ese formato de papel)
debes enviar una cadena de texto con lo siguiente:

<Nº Caracteres margen izquierdo> + <Nº Caracteres primera etiqueta> + <Nº Caracteres separacion entre etiquetas> + <Nº Caracteres segunda etiqueta>


var AuxCadena: String;
....
ComPort.Open;
AuxCadena := ' '+TextoEtiqueta1+' '+TextoEtiqueta2;
ComPort.WriteStr(AuxCadena);
ComPort.Close;


PD: Al estar usando la impresión directa, no puedes previsualizar lo que mandas a imprimir, pero si puedes guardar en un txt todas las cadenas de texto que mandas a imprimir, y lo abres con el bloc de notas, por ejemplo.

sistem
23-12-2010, 21:41:28
¿has pensado en usar el QuickReport?
ya esta integrado, es facil y ya tiene muchas cosas predeterminadas

manuc
24-12-2010, 13:06:31
Hola,

Aunque la impresora se conecte al Com1: ¿la instalas bajo windows con un driver, aunque sea con Generica solo texto?

Al instalarla como Generica sólo Texto, se puede aprovechar la velocidad de impresión y se simplifica los métodos para imprimir desde Delphi.

Un saludo.