PDA

Ver la Versión Completa : Impresion en Epson Tm-300 o Start Sp2000


newdelphi7
07-05-2006, 05:39:20
Hola a todos, bueno no tengo mucho tiempo en esto de la programacion y tengo unas cuantas dudas acerca de imprimir un 'ticket' es decir lo que voy a imprimir es como un pequeño ticket en una impresora epson tm-300 o en una start sp2000....

Nose como hacerlo segun he visto en los foros y buscado en google, se puede mandar a imprimir directamente a la impresora, utilizando las secuencias ESC .. Si alguien tiene esas sencuencias o me pueda conseguir un ejemplo pues agradecido..?

Se puede imprimir utilizando a Qreport ya que tengo eso diseñado en Qreport pero dicen por ahi que necesito los drivers de la impresora instalado.. pues lo tengo y no funciona..

Igual si alguien me puede facilitar alguna ayuda con gusto la acepto.. y si es un ejemplo con algun codigo pues mejor, ya que me es mas facil analizarlo.. .digo...

Assolon
08-05-2006, 15:09:34
hola, yo tuve que hacerlo para la impresora epson tm-u220, creo que te va a valer porque es algo muy simple, te pongo un pequeño ejemplo.

procedure TForm1.Button1Click(Sender: TObject);
var
iImpresora : TextFile;
begin
Assignfile(iImpresora,'Lpt1'); //Puerto: LPT1, COM1, etc;
Rewrite(iImpresora);
Writeln(iImpresora,'Esto debe salir por la impresora.');
CloseFile(iImpresora);
end;

newdelphi7
09-05-2006, 05:06:02
Hola como estas, gracias man funciona a la mil maravillas sin problemas, nitido ahora tengo un par de preguntas ver si se te ha presentado la situacion>:

A) Y si es una variable que quiero imprimir que pasaria, como la pongo ahi?
B) en caso de ser un valor de una base de dato..o ya lo tengo almacenado en un dbgrid.?

Como lo imprimira dichos datos...? ya que como lo pusiste estaria imprimiendo un texto predeterminado...

Assolon
09-05-2006, 08:16:17
Hola,

Lo que tienes que hacer es recorrer un bucle tanto si es desde un select que hagas a una tabla o si lo tienes almacenado en un dbgrid.

Desde una tabla
Assignfile(iImpresora,'Lpt1'); //Puerto: LPT1, COM1, etc;
Rewrite(iImpresora);
with datos.query01 do begin
SQL.Clear;
SQL.Add('SELECT campo1');
SQL.Add('FROM tabla');
Open;
while(not EOF) do begin
Writeln(iImpresora, FieldByName('Campo1').AsString);
next;
end;
end;
CloseFile(iImpresora);

Bueno yo creo que con este ejemplo ya te vale para las dos opciones.
Suerte y espero que te funcione.

newdelphi7
09-05-2006, 15:07:42
Mira esta muy sencillo lo que pons pero veo que tienes sentencias sql y yo estoy usando una base de datos paradox.... un ttable un tdbgrid y unos cuantos tdbedit...

Mira para ponerlo mas sencillo tan solo explciame como imprimir el valor almacenado en una variable... o en un tdbedit,..?

Gracias y disculpa pero es que soy new programando en delphi....

Assolon
09-05-2006, 20:57:04
Paradox no lo he utilizado nunca, da igual aqui te pongo un ejemplo que recorre un bucle e imprime los valores de una variable:

var
strMensaje: string;
variable: integer;
iImpresora : TextFile;
begin
Assignfile(iImpresora,'Lpt1'); //Puerto: LPT1, COM1, etc;
Rewrite(iImpresora);
strMensaje := 'Imprimiendo...';
writeln(iImpresora, strMensaje);
for variable:=0 to 10 do begin
// writeln lo que hace es imprimir el valor de 'variable'
// iImpresora es donde estamos escribiendo dicho valor que en nuestro caso es el Lpt1, la impresora.
Writeln(iImpresora, intTostr(variable));
end;

strMensaje := 'Fin de impresion';

writeln(iImpresora, strMensaje);
CloseFile(iImpresora);


//Lo que tiene que salir en la impresora es lo siguiente
Imprimiendo...
0
1
2
3
4
5
6
7
8
9
Fin de impresion

Con esto tiene que acabar tus dudas, sino pillate un manual y empieza desde el principio.


:cool:

newdelphi7
30-12-2006, 05:08:23
Es decir en realidad nose que es l oque hace, " lo manda a imprimir directamente a la impresora? se podra hacer esto desde php mandar a imprimir de esta mnera, tengo un sistema hecho completamente en php pero no logro mandarlo a imprimir en estas impresoras.

Me invente una aplcaicon en delphi con estos codigos y funciona a la perfeccion solo un detallito, pues el archivo imprimir.exe esta en la pc cliente y el archivo imprimir.txt tambien esta en la pc cliente, desde php no puedo sobreescribir dicho archivo, asi que siempre imprimire lo mismo.... entonces hay dos soluciones y no se como hacerla ninguna de las dos:

1) o mando a imprimir desde php, como o con algunos comandos aprecidos a los anteriores que me dieron ustedes en delphi... ALguien los tiene please ayduame....

2) El archivo a imprimir se alojara en el servidor y llamarlo desde delphi en vez de que este en la pc local sino que abra el *.txt a imprimir desde una pc remotamnete en la red.. es posible eso? alguien que me pueda ayudar please es lo ultimo que necesita mi aplcaicion