Ver Mensaje Individual
  #7  
Antiguo 21-01-2008
mtirado mtirado is offline
Miembro
 
Registrado: mar 2007
Posts: 26
Reputación: 0
mtirado Va por buen camino
Impresion y tamaño papel.

Hola nuevamente.
En mi tema anterior les comentaba que necesitaba imprimir un comprovante de venta con los datos del cliente y los productos que compro. El tique debe ser de una medida de 75 por 75 mm.
El moderador me dio un codigo donde podia entrar el tamanno del papel, pero lo que le paso son dos integer, como puedo hacer para llevar estas medidas en milimetros a integer?
El codigo es:
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;

Por otra parte, a la hora de pasarle al canvas lo que quiero imprimir, que copordenas les debo pasar para que se ajusten a mi papel. En caso de que la linea sobrepase la hoja que ocurre? Da un salto de linea o me corta lo que deseo escribir???
Por jemplo: Printer.Canvas.TextOut(90, 90, LbComprobanteTexto.Caption);

Muchas gracias a todos.
Yunier.

Última edición por marcoszorrilla fecha: 21-01-2008 a las 20:36:28. Razón: Etiquetas Delphi
Responder Con Cita