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 08-11-2004
Raptor Raptor is offline
No confirmado
 
Registrado: jul 2003
Ubicación: Santo Domingo R.D.
Posts: 105
Poder: 0
Raptor Va por buen camino
como cambiar tipo de papel en la impresora ??

hola a todos espero que esten muy bien..

bueno a lo que vinimos

Es posible cambiar el tipo de papel que tiene una impresora a travez de un programa echo en delphi.

por ejemplo.
la impresora tiene por default el tipo de papel A4, pero desde mi aplicacion quiero poner un papel definido por mi que se llama factura.

Esto lo necesito porque no quiero varias impresoras con papel diferentes.

desde ya muchas gracias...
Responder Con Cita
  #2  
Antiguo 17-11-2004
Raptor Raptor is offline
No confirmado
 
Registrado: jul 2003
Ubicación: Santo Domingo R.D.
Posts: 105
Poder: 0
Raptor Va por buen camino
Hola a todos

No se si es que este tema no lo han visto oh sera que es tan dificil.

bueno pues lo planteo nuevamente a ver si alguien me da una manito.

Cuando se crea una impresora en windows esta tiene un conjunto de tipo de papel predefinido por windows ejemplo : A3,A4.Legal,Letter, etc;

generalmente el papel por default es A4 o Letter. Entonces mi pregunta es como puedo cambiar de A4 a Legal en delphi; alquien tiene una idea

gracias de antemano...
Responder Con Cita
  #3  
Antiguo 28-11-2004
Raptor Raptor is offline
No confirmado
 
Registrado: jul 2003
Ubicación: Santo Domingo R.D.
Posts: 105
Poder: 0
Raptor Va por buen camino
Chico disculpen ; solo estoy editando para que se muestre en la cabecera otravez .

Verdaderamente es muy dificil este tema eh...
Responder Con Cita
  #4  
Antiguo 28-11-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
  
  procedure SetPaperSize (intAlto,intAncho : Integer);
  {aqui se define el tamaño del papel}
  var
     ADevice, ADriver, APort : array [0..255] of Char;
     ADeviceMode : THandle;
     DevMode : PDevMode;
  begin
     with Printer do
        begin
           GetPrinter (ADevice, ADriver, APort, ADeviceMode);
           SetPrinter (ADevice, ADriver, APort, 0);
           GetPrinter (ADevice, ADriver, APort, ADeviceMode);
           DevMode := GlobalLock(ADeviceMode);
           if not Assigned(DevMode) then
              ShowMessage('Ha entrado en -> if not Assigned(DevMode) ...')
           else
              begin
                 with DevMode^ do
                    begin
                       dmPaperSize:= DMPAPER_User;
                       dmPaperLength := intAlto;
                       dmPaperWidth:= intAncho;
                       dmFields := dmFields or DM_PAPERSIZE or
  DM_PAPERLength or DM_PAPERWidth;
                    end;
                 GlobalUnLock(ADeviceMode);
                 SetPrinter(ADevice, ADriver, APort, ADeviceMode);
             end;
        end;
  end;
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 02-12-2004
Raptor Raptor is offline
No confirmado
 
Registrado: jul 2003
Ubicación: Santo Domingo R.D.
Posts: 105
Poder: 0
Raptor Va por buen camino
Marco : Muchisimas gracias por la ayuda pero este codigo ya lo he probado antes, no funciona para Tecnologia NT , solo me ha funcionado en win9x.

y otra cosa:

cuando dice dmPaperSize:= DMPAPER_User; supongo que es el papel custom que trae el tipo de papel. pero imaginate que en nt eh creado un formulario(papel en la impresora) que se llama factura , como le digo que es ese especificamente.

dmPaperSize:= DMPAPER_User;
dmPaperLength := intAlto;
dmPaperWidth:= intAncho;
dmFields := dmFields or DM_PAPERSIZE or
DM_PAPERLength or DM_PAPERWidth;

Como dije en el primer mensaje : Cuando le pongo el tipo de papel manualmente funciona muy bien. pero realmente lo quiero poner via programacion, ya que si el usuario quita el papel predefinido en la impresora entonces no funcionaria.

mi hermano de antemano muchas gracia por tu esfuerzo, yo se que por el poco conocimiento de parte mia no te puedo ayudar en mucho, pero cuando lo necesite aqui estamos.

Saludo desde Santo Domingo ; R.D.
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


La franja horaria es GMT +2. Ahora son las 07:00:09.


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