lroblesco
14-05-2005, 20:00:45
Hola
Saben estoy haciendo un sistema de ventas para un Restaurant en Delphi 6 + Access 2000. Manejo una impresora de tickets Star SP200 y un CashDrawer conectado a la impresora. En mi PC, la impresion de los tickets salen como yo lo programe, ademas se abre el cajon al finalizar la impresion. Todo bien
Sin embargo, lleve una muestra del sistema con el cliente, y al hacer una prueba de la impresion del ticket sale muchos simbolos: puntos,comas,parentesis. Osea ilegible, salen las primeras 2 letras de cada linea y las ultimas 2. En la impresion le mando un codigo de escape para agrandar la letra al doble en los titulos y ahi me pone igualmente caracteres extraños.
No utilizo driver, ya que mando la impresion directa al puerto paralelo.
Lei el manual de la impresora y cheque que tiene un ROM con 8 switch y que el segundo era para aceptar los CODES CONTROL, lo active, y al probar de nuevo vi que ya salia legible,pero en cada linea impresa, salia otra en blanco y pues me gasta hasta 2 veves y medio la cantidad de papel.
Devolvi la configuracion original de la impresora volvi a probar (en mi pc), y funciona tal como yo lo espero.
La verdad no se que pueda ser, tal vez la PC del cliente (win98,32MB Ram,pentium 300MHZ). Este el codigo de la impresion.
procedure TfrmPunto.print_Ticket;
var
str1,str2:string;
str3:string[6];
F:Textfile;
i:byte;
begin
AssignFile(F,'LPT1');
rewrite(F);
writeln(F,#14);
writeln(F,' Gran Pollo');
writeln(F,#15);
writeln(F,'**Restaurantes Gran Pollo S.A. de C.V.**');
writeln(F,' R.F.C. RGP-031217-JI8');
writeln(F,' BLVD. Agustin Olachea #449');
writeln(F,' CD. Constitucion, Baja Calif. Sur');
writeln(F,' Tel. 13-2-28-88 Fax 13-2-55-28');
writeln(F,' email: granpollomx@yahoo.com.mx');
writeln(F,'******************************************');
writeln(F,' '+bar.Panels.Items[0].Text);
writeln(F,' '+bar.Panels.Items[1].Text);
writeln(F,'Venta No. '+inttostr(idventa)+' Hora:'+timetostr(time));
//viene el detalle
writeln(F,'******************************************');
for i:=0 to lstVentas.Items.Count-1 do
begin
str1:=lstVentas.Items[i].SubItems.Strings[2];
rellena(str1,2);
str2:=lstVentas.Items[i].SubItems.Strings[0];
rellena(str2,25);
str3:=lstVentas.Items[i].SubItems.Strings[3];
writeln(F,str1+' '+str2,format('%8.2f',[strtofloat(str3)]));
end;
writeln(F,'******************************************');
writeln(F,#14);
writeln(F,'Total: $',format('%8.2f',[strtofloat(txttotal.text)]));
writeln(F,'Gracias por su compra');
writeln(F,#15);
writeln(F,#10,#13);
writeln(F,#10,#13);
writeln(F,#10,#13);
closefile(F);
end; {fin print_Ticket}
Pues de antemano les doy las gracias por la ayuda que puedan proprcionarme.
Saben estoy haciendo un sistema de ventas para un Restaurant en Delphi 6 + Access 2000. Manejo una impresora de tickets Star SP200 y un CashDrawer conectado a la impresora. En mi PC, la impresion de los tickets salen como yo lo programe, ademas se abre el cajon al finalizar la impresion. Todo bien
Sin embargo, lleve una muestra del sistema con el cliente, y al hacer una prueba de la impresion del ticket sale muchos simbolos: puntos,comas,parentesis. Osea ilegible, salen las primeras 2 letras de cada linea y las ultimas 2. En la impresion le mando un codigo de escape para agrandar la letra al doble en los titulos y ahi me pone igualmente caracteres extraños.
No utilizo driver, ya que mando la impresion directa al puerto paralelo.
Lei el manual de la impresora y cheque que tiene un ROM con 8 switch y que el segundo era para aceptar los CODES CONTROL, lo active, y al probar de nuevo vi que ya salia legible,pero en cada linea impresa, salia otra en blanco y pues me gasta hasta 2 veves y medio la cantidad de papel.
Devolvi la configuracion original de la impresora volvi a probar (en mi pc), y funciona tal como yo lo espero.
La verdad no se que pueda ser, tal vez la PC del cliente (win98,32MB Ram,pentium 300MHZ). Este el codigo de la impresion.
procedure TfrmPunto.print_Ticket;
var
str1,str2:string;
str3:string[6];
F:Textfile;
i:byte;
begin
AssignFile(F,'LPT1');
rewrite(F);
writeln(F,#14);
writeln(F,' Gran Pollo');
writeln(F,#15);
writeln(F,'**Restaurantes Gran Pollo S.A. de C.V.**');
writeln(F,' R.F.C. RGP-031217-JI8');
writeln(F,' BLVD. Agustin Olachea #449');
writeln(F,' CD. Constitucion, Baja Calif. Sur');
writeln(F,' Tel. 13-2-28-88 Fax 13-2-55-28');
writeln(F,' email: granpollomx@yahoo.com.mx');
writeln(F,'******************************************');
writeln(F,' '+bar.Panels.Items[0].Text);
writeln(F,' '+bar.Panels.Items[1].Text);
writeln(F,'Venta No. '+inttostr(idventa)+' Hora:'+timetostr(time));
//viene el detalle
writeln(F,'******************************************');
for i:=0 to lstVentas.Items.Count-1 do
begin
str1:=lstVentas.Items[i].SubItems.Strings[2];
rellena(str1,2);
str2:=lstVentas.Items[i].SubItems.Strings[0];
rellena(str2,25);
str3:=lstVentas.Items[i].SubItems.Strings[3];
writeln(F,str1+' '+str2,format('%8.2f',[strtofloat(str3)]));
end;
writeln(F,'******************************************');
writeln(F,#14);
writeln(F,'Total: $',format('%8.2f',[strtofloat(txttotal.text)]));
writeln(F,'Gracias por su compra');
writeln(F,#15);
writeln(F,#10,#13);
writeln(F,#10,#13);
writeln(F,#10,#13);
closefile(F);
end; {fin print_Ticket}
Pues de antemano les doy las gracias por la ayuda que puedan proprcionarme.