Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresion En Lpt1 (https://www.clubdelphi.com/foros/showthread.php?t=21020)

Ricsato 04-05-2005 02:49:43

Impresion En Lpt1
 
Hola a todos en el Foro, estoy mandando imprimir un Ticket en una impresora matricial Star-SP200 y lo hago enviando la impresion en ascii al Lpt1 de la siguiente forma:

AssignFile(Lst,'LPT1');
Writeln(LST,' BAJA OPTICA');
Writeln(Lst,'');
Writeln(Lst,'Cliente : ' + eClienteNombre.Text);
Writeln(Lst,'------------------------------------------');
CloseFile(Lst);

Y todo esto sale en letra normal, se que existe una forma para indicarle a la impresora para que pueda remarcar la letra y salga del mismo tamaño pero en negritas, ademas de otra manera de indicarle que imprima las letras mas gruesas o de tamaño mas grande, en este caso para mi encabezado y todo esto haciendo una impresion al LPT1.

Me gustaria que alguien me dijera como puedo hacerle para poder imprimir de esta manera!!, de antemano gracias por su ayuda.

Ricardo.
Mexicali, B.C., Mexico.

marcoszorrilla 04-05-2005 07:14:10

Para eso tienes que conseguir los códigos de escape de la impresora, esto puede ser bien en la página Web del fabricante o llamar al teléfono de contacto que tengan y pedirlos.

Un Saludo.

Ricsato 04-05-2005 21:45:06

Tengo los Codigos!
 
Hola, tengo los codigos de la impresora, pero lo que no se es como indicarselos por programacion en Delphi, si lo que tengo es lo siguiente:

var
Lst : TextFile;
...........
AssignFile(Lst,'LPT1');
Rewrite(Lst);
Try
Writeln(Lst,'No hay devoluciones en Efectivo.');
Writeln(Lst,'Unicamente en productos.');
CloseFile(Lst);
Except
CloseFile(Lst);
End;

Lo que no se, es en que parte del Writeln(''), los tengo que indicar, si por ejemplo me dice el manual que para expandir el tamaño de un caracter, su codigo es: <SI> y en hexadecimal es 0E, como tengo que indicarlos?, gracias.

Ricardo.
Mexicali, B.C., Mexico

vic_ia 04-05-2005 21:51:49

hola...

yo los mando como caracteres y obviamente codificados en decimal,... por ejemplo el caracter que quieres enviar 0E (en hexadecimial) seria el 14 en decimal...por lo que lo enviaria asi...
Código Delphi [-]
writeln(Lst, #14)
espero te sirva...

saludos...

Ricsato 04-05-2005 22:30:32

Gracias!!
 
Muchas gracias amigo!!, era justo lo que necesitaba...

Ricardo.
Mexicali, B.C., Mexico

leonelpereda 16-03-2007 17:58:01

Cita:

Empezado por vic_ia
hola...

yo los mando como caracteres y obviamente codificados en decimal,... por ejemplo el caracter que quieres enviar 0E (en hexadecimial) seria el 14 en decimal...por lo que lo enviaria asi...

Código Delphi [-]writeln(Lst, #14)


espero te sirva...

saludos...

Hola

Tengo un problema parecido he probado con el #14 y funciona muy bien, pero cuando trato de poner double height con <ESC> "h" "1" es decir #27'h1' y no hace nada.

Gracias,
Leonel

basti 17-03-2007 15:20:19

Seguro que es "h""1" ? normalmente en los manuales de impresora mezclan los tipos y uno se forma un lío.

Por lo general ponen los códigos ESC en hexadecimal, las letras en formato texto y los números en decimal.

Supongo que lo que tendrás que mandar en tu caso es:
#27 + 'h' + #1

leonelpereda 18-03-2007 20:17:05

Cita:

Empezado por basti
Seguro que es "h""1" ? normalmente en los manuales de impresora mezclan los tipos y uno se forma un lío.

Por lo general ponen los códigos ESC en hexadecimal, las letras en formato texto y los números en decimal.

Supongo que lo que tendrás que mandar en tu caso es:
#27 + 'h' + #1

Hola,

De hecho he probado de ambas formas #27'h1' y #27'h'#1 y de ninguna me ha funcionado, realmente no se que pasa.

Saludos,
Leonel

AzidRain 19-03-2007 00:14:51

haciendo click Aquí llegas a un post que puse hace unos días con un componente muy simple para imprimir en matriz de punto, ya incluye lo necesario para negrita, subrayada, doble ancho o comprimida, asi como fijar el tamaño de la hoja, posicionar el cursor y saltos de página. No soy el autor pero me ha servido muy bien además de que es bastante simple y puedes modificarlo a tu gusto.

leonelpereda 21-03-2007 19:20:08

Hola

Cita:

Empezado por AzidRain
haciendo click Aquí llegas a un post que puse hace unos días con un componente muy simple para imprimir en matriz de punto, ya incluye lo necesario para negrita, subrayada, doble ancho o comprimida, asi como fijar el tamaño de la hoja, posicionar el cursor y saltos de página. No soy el autor pero me ha servido muy bien además de que es bastante simple y puedes modificarlo a tu gusto.

Muchas gracias, tu ejemplo esta muy bien solo que no hace lo que necesito, "poner double height"

Saludos,
Leonel

PabloTech 22-03-2007 23:07:24

Cita:

Empezado por Ricsato
Hola, tengo los codigos de la impresora,

¿Tengo un problema similar. Podrías compartir los códigos conmigo?
Mi e-mail: [email protected]
Gracias...

AzidRain 23-03-2007 06:40:13

Mi estimado leonel, el componente que te pase efectivamente no tiene el doubleheight pero creo que esta mas que claro como modificarlo ya que solo es cuestión de mover unos cuantos códigos. El código se explica por si solo, los códigos solo es cosa de buscar el google y listo recordemos que ESC es #27 en Delphi.

AGAG4 23-03-2007 18:19:27

Yo tengo una Star y si me funciona el caracter #14 pero con una Epson TM-U220 no me funciona, ya baje todos los manuales posibles de la Epson y no encuentro algo relacionado con los caracteres, señalan unos Font11, Font22, etc. pero no indican los caracteres para manipular el tamaño de letra, ya he investigado en otros medios y me indican que tengo que usar el #14 para la epson que ese caracter funciona para todas las miniprinter, pero veo que en mi caso no funciona :eek:

leonelpereda 23-03-2007 19:46:29

Cita:

Empezado por AzidRain
Mi estimado leonel, el componente que te pase efectivamente no tiene el doubleheight pero creo que esta mas que claro como modificarlo ya que solo es cuestión de mover unos cuantos códigos. El código se explica por si solo, los códigos solo es cosa de buscar el google y listo recordemos que ESC es #27 en Delphi.

Hola,

De hecho estuve revisando y el componente hace algo muy similar a lo que estoy haciendo, que es:

Estos codigos son para una STAR SP200
var Lst : TextFile;
begin
AssignFile(Lst,'LPT1');
Rewrite(Lst);
Write(Lst, #27'W1'#27'h1');
Write(Lst, 'Texto ancho y alto');
CloseFile(Lst);
end;
solo que no cambia el alto de la letra solo el ancho como si no fuera valido el cambio de alto o si fuera necesario algun comando previo a ese.

Tambien trate asi
var Lst : TextFile;
begin
AssignFile(Lst,'LPT1');
Rewrite(Lst);
Write(Lst, #27'h1');
Write(Lst, 'Texto alto');
CloseFile(Lst);
end;
y nada :(, y no veo cual es el problema,

Gracias,
Leonel

PabloTech 23-03-2007 22:59:34

Me parece...
 
No soy un experto; pero revisando aquí, solo aparecen dos tamaños de caracteres en esa impresora. Son el 7x7 y 7x9. No hay más.

Suerte.

AzidRain 26-03-2007 23:35:24

El doubleheight no esta soportado por todas las impresoras, me parece que las epson no lo hacen. Recordemos que hay dos estandares para impresoras matriciales el ESC de Epson y el IBM Proprinter, este último más extendido. En IBM PP si hay doubleheight...aqui te dejo unos links a codigos de control varios:

Star Micronics
Manual Epson ESC/P


La franja horaria es GMT +2. Ahora son las 12:08:09.

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