Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2011
Avatar de ethangio
ethangio ethangio is offline
Miembro
 
Registrado: jul 2008
Posts: 63
Poder: 18
ethangio Va por buen camino
Corte de Papel en impresora

Hola buen dia a todos.

Llevo dias probando como realizar el corte de papel en una impresora Epson, la secuencia de corte es #27#109 pero no corta
al mandar la secuencia se impreme sus respectivos caracteres ascii .(27) m(109)

Ya he buscado en el foro a muchos dicen que siles funciona pero ami no :S ..

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var x, y: Integer;
begin
  Printer.BeginDoc;
  with Printer.Canvas do
  begin
    x := Printer.PageHeight div 50;
    y := Printer.PageWidth div 15;
    Font.Name:= 'tahoma';
    Font.Height:= x*2;
    Font.Color:= clblack;
    TextOut (x,y * 3, 'Prueba ...'+IntToStr(x)+'--'+IntToStr(y));
    x := x + 2;
    y := y + 2;
    TextOut(x, y, #27+#109); //corte de papel
  end;
  Printer.EndDoc;
end;

La impresora está esta dada de alta como Generica - Solo texto
Puede alguien darme una sugerencia de que hacer ???

Gracias

Última edición por ethangio fecha: 02-12-2011 a las 23:31:14.
Responder Con Cita
  #2  
Antiguo 03-12-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Algunas impresoras tienen unos switchs para configurar que corte o que no corte, no sé si la tuya será de esas.
Responder Con Cita
  #3  
Antiguo 03-12-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Hola.

Igual estoy confundido pero creo que los caracteres de corte de la EPSON son #27+#i, o sea, #27+#105.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 03-12-2011
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Poder: 22
CrazySoft Va por buen camino
Si no estoy mal no funciona con canvas
prueba de esta manera
Código Delphi [-]
var Impresora: TextFile;
 
Begin
            assignFile(Impresora,'LPT1');
 
//           o
//                       AssignPrn(Impresora);
 
            rewrite(Impresora); //apertura del archivo, creacion
            Write(Impresora, #27); //ESC, Write(Impresora, ESC);
            Write(Impresora, '!'); // ! , Write(Impresora, !);
            Write(Impresora, #0); //Write(Impresora, n); #n
            Writeln(Impresora, ' Prueba');
            CloseFile(Impresora); //cerrar el archivo
        except
            Showmessage('Error impresora');
        end;
End;
Responder Con Cita
  #5  
Antiguo 05-12-2011
Avatar de ethangio
ethangio ethangio is offline
Miembro
 
Registrado: jul 2008
Posts: 63
Poder: 18
ethangio Va por buen camino
Hola disculpa la demora. Tuve que salir y no pude checar el foro antes

He estado probando con tu ejemplo CrazySoft ,, pero no me ha funcionado sigue sin cortar el papel
e imprimiendo los caracteres correspondientes al 27 y al 105 y/o 109

por cierto la impresora esta conectada por el puerto serial.

Tendras alguna otra solucion que nos pueda ayudar

Gracias, seguiré investigando.
Responder Con Cita
  #6  
Antiguo 05-12-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Hola.

No tengo impresora de tickets a mano para probar pero mira a ver si esto te sirve, tendrás que poner en el uses del formulario la unidad WinSpool.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  DocInfo1: TDocInfo1;
  sLinea:   String;
  N:        DWORD;
  Handle:   THandle;
begin
  OpenPrinter('NombreImpresora', handle, nil);
  with DocInfo1 do begin
    pDocName    := PChar('prueba.doc');
    pOutputFile := nil;
    pDataType   := 'RAW';
  end;
  StartDocPrinter(Handle, 1, @DocInfo1);
  StartPagePrinter(Handle);
  sLinea := #27 + #105;
  WritePrinter(Handle, PChar(sLinea), Length(sLinea), N);
  EndPagePrinter(Handle);
  EndDocPrinter(Handle);
  ClosePrinter(Handle);
end;

Saludos
__________________
Be water my friend.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
FastReport+Corte de papel+tamaño de papel Cheerpipe Impresión 3 25-03-2008 17:55:53
Corte de papel de epson tm u220b BBTO Impresión 2 12-05-2006 19:44:59
Como forzar corte de papel en una impresora de tickets Javi2 Impresión 1 20-01-2006 18:46:49
Traer los tipos de papel de una impresora ElCherchu Impresión 2 07-05-2005 15:47:17
Corte papel en impresora Epson superfer17 Impresión 4 01-04-2004 17:08:49


La franja horaria es GMT +2. Ahora son las 23:38:16.


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
Copyright 1996-2007 Club Delphi