Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2006
Sick boy Sick boy is offline
Miembro
 
Registrado: may 2003
Ubicación: Cantabria
Posts: 245
Poder: 22
Sick boy Va por buen camino
Cita:
Yo no me acabo de tomar un café pero estaba pensando "Qué cabrones los chicos de Epson, tienen un driver tan bueno y ni siquiera son capaces de ponerlo en la caja, ¿será para que sus impresoras funcionen peor?"
No lo pienses, coje el numero de telefono que viene en la caja y se lo preguntas.

Yo lo hice hace ya unos años y me dijeron que sus impresoras son OEM, y que las venden ha PROFESIONALES, los cuales SE SUPONE que deben de tener el driver para instalarlas. Solo hay una impresora que venden al publico (EPSON TM-L90 BOX) y que si lleva drivers.

Tras un buen rato insistiendo en que me dejaran poner los drivers en el CD de instalación (lo cual tampoco lo permiten) y de hablar con media plantilla, llegamos al acuerdo de que: yo pongo lo que quiera en el CD, y si les molesta me lo indican y lo quito. Vamos, que me hago el loco, como si no lo supiera.

Tampoco llevan cable, que cabrones, que poco les costaria, verdad??

Veo que aun dudas de que la opción correcta es instalar el driver adecuado.

Ah, que nadie piense que con el "generico solo texto" no se puede imprimir, que si que se puede, pero no es mejor.

Suerte
Responder Con Cita
  #2  
Antiguo 07-06-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hoy en día, casi todos los "aparatos" vienen sin nada, vas a la página web del fabricante y desde allí te descargas el manual, los drivers y toda la información que necesites. Es una manera de ahorrarse costes y poder ofrecer sus productos más baratos para poder competir con el resto de fabricantes.
Imagina preparar 1 millón de cds de drivers más 1 millón de manuales de usuario... ¿cuánto costaría eso?, pues compáralo con poner un par de ficheros en una página web y quien lo necesite que lo descargue.
Responder Con Cita
  #3  
Antiguo 09-06-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Post

Yo estoy a punto de iniciar un proyecto que incluira estas impresoras y lo había pensado mucho por el problema que tiene nuestro amigo el cual me resulta una completa ironía: Es mas díficil imprimir de la forma más simple.

Por ahí vi que te recomendaro usar secuencias de escape, lo cual me parece es tu mejor solución pero tienes que considerar que:

- con el Writeln de Delphi las secuencias de escape (#27) se descartan antes de llegar a la impresora (más bien lo hace windows) por lo que no importa que tantas secuencias mandes antes del texto, a la impresora solo llega el texto "pelón".

-Tendrás que imprimir directamente a la impresora, pero sin pasar por Windows

Lo puedes hacer de esta forma:
Código Delphi [-]

Procedure PWrite(s:String);
var PT :Integer;
     P   :Pchar;
Begin
   PT := FileOpen('lpt1',fmOpenWrite ); // Abrimos la impresora como un     archivo
   P   := PChar( s ); //convertimos la  cadena a un PChar
   FileWrite(PT,P^,length( s )); //escribimos a la impresora
   FileClose(PT);//cerrar el archivo de la impresora
end;

Uso:

// ..
// Definimos algunas constantes para las secuencias  de escape
const pNewLn    = #10 +#13;      // Salto de linea
         pBold       = #27 + 'E';       // Activar negrita
        pBoldOff     = #27 + 'F';      //Desactivar negrita
        pDouble     = #27 + 'W' +'1';  //Activar doble Ancho
        pDoubleOff = #27 + 'W' +'0'; //Desactivar doble ancho
        pFormSize  = #27 + 'C' +#10;//Definir tamaño de la hoja en líneas (en este caso es 10, pero se puede cambiar por el que necesitemos
        pFF= #12; // Salto de página

begin
  PWrite( pForm );
  PWrite( pBold + 'Pagina 1 ' +pBoldOff);
end;

Es un código muy simple pero de esta forma las secuencias de escape si son pasadas tal cual a la impresora. Ojo, como no estamos usando Windows para ello, no tenemos ninguna función del driver disponible por lo que tendremos que checar por nuestra cuenta si hay papel, tinta, etc. Pero para el caso de impresoras de ticket no es tan dificil.

La colocación de coordenadas la puedes usar con la secuencia de escape correspondiente (no me acuerdo ahorita cual es) hay una para mover la cabeza en X y otra en Y, tambien puedes simular esto enviando saltos de línea para las Y e imprimiendo espacios en blanco para las X.

A mi me funcionó de maravilla y para este tipo de impresión se me hace la forma mas sencilla. Además no importa si tienes el driver o no, de hecho funciona aunque no tengas ninguno instalado en Windows.

Ojala te sirva
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 06-09-2006
federicorl federicorl is offline
Miembro
 
Registrado: may 2006
Posts: 31
Poder: 0
federicorl Va por buen camino
Question salto de pagina

lo hice como indicaste con las secuencias de escape y funciono perfecto, en dos pcs, cuando trato en una tercera no funciona y es la misma impresora!, a que crees que se deba?

lo que sucede es que en esta nueva PC esta tiene WXP Profesional como la anterior, si empieza a imprimir pero no hace los saltos de pagina, lo curioso es que es la misma impresora, no el mismo modelo, la misma impresora, solo cambio el cable de una Pc a La otra, lo unico diferente es que esta pc no tiene impresoras instaladas, ya instale incluso una Impresora solo para probar si le faltaban los drivers (instale los drivers de la fx880 de epson , no la impresora real) y el problema persiste

te doy un ejemplo del codigo

const pNewLn = #10 +#13; // Salto de linea
pBold = #27 + 'E'; // Activar negrita
pBoldOff = #27 + 'F'; //Desactivar negrita
begin
PWrite(pNewLn );
PWrite(pNewLn );
PWrite(' hola como estas');
PWrite(pNewLn );
PWrite(pNewLn );
PWrite(' Preparando Prueba de Impresion');
PWrite(pNewLn );
PWrite(pNewLn );

Antes cree el procedure Pwrite

Procedure TForm1.PWrite(s:String);
var PT :Integer;
P :Pchar;
Begin
PT := FileOpen('lpt1',fmOpenWrite ); // Abrimos la impresora como un archivo
P := PChar( s ); //convertimos la cadena a un PChar
FileWrite(PT,P^,length( s )); //escribimos a la impresora
FileClose(PT);//cerrar el archivo de la impresora
end;

ojala me puedas ayudar
Responder Con Cita
Respuesta



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
Problema con el Canvas de Impresion Delphi 5 cesarlopez Impresión 2 05-02-2006 18:41:07
Impresion de Tickets nasedo Impresión 2 14-06-2005 08:46:36
Problema al cerrar ventana de impresion salvanano Impresión 4 04-06-2005 20:21:20
impresion de tickets ronson Impresión 3 10-03-2004 06:46:03
Impresión de Tickets jmoran Impresión 4 04-02-2004 16:40:56


La franja horaria es GMT +2. Ahora son las 12:06:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi