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 13-07-2014
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Alinear texto para imprimir en canvas

Hola a todos los compañeros del club

Recurro a Uds. en esta oportunidad, para preguntar si hay la posibilidad de alinear a la derecha un texto que se imprime de la forma
Código Delphi [-]
 
Printer.Canvas.TextOut(30,135,'Precio incluye I.V.A');
Edit3.Text:=FormatCurr('###,##0.00',Table1PVP.Value);
Printer.Canvas.TextOut(30,160,'BsF: '+edit3.Text);
No soy un especialista en imprimir con canvas y por eso es que me pregunto si un monto se puede alinear a la derecha en la impresión de una impresora de etiquetas. Los montos salen impresos bien, pero si unos montos son más pequeños o más grandes que otros entonces no los puedo alinear de derecha a izquierda, solo puedo alinear de izquierda a derecha pero los montos así no se ven bien.

Agradezco su ayuda

Actualimente salen así
1.200,00
350,00
3.400,00

O quisiera saber si hay otra forma de enviar esa información a la impresora zebra alineada a la derecha con otra instrucción de Delphi. He buscado bastante en muchos sitios y lo único que he encontrado es alineación con textout pero para stringgrid
__________________
Oskar
Responder Con Cita
  #2  
Antiguo 14-07-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Oscar.

Ejemplo:
Código Delphi [-]
...
uses Printers;

procedure TForm1.Button1Click(Sender: TObject);
  // Escribir número en posición alineado a la derecha
  procedure WriteAligned(Printer: TPrinter; const X, Y: Integer; const s: string);
  begin
    with Printer do
      Canvas.TextOut(X+(X-Canvas.TextWidth(s)) div 2, Y, s);
  end;

const
   VALUES: array[1..3] of Currency = (1200, 350, 3400);
var
  Prn: TPrinter;
  P: TPoint;
  i: Integer;
begin
  Prn:= TPrinter.Create;
  try
    Prn.BeginDoc;
    P.X:= 1800; // Posición horizontal deseada
    P.Y:= Printer.PageHeight div 50; // Tamaño linea
    Prn.Canvas.Font.Name:= 'Currier New'; // Nombre fuente
    Prn.Canvas.Font.Color:= clBlack;          // Color

    // Imprimir 
    for i:= 1 to 3 do
      WriteAligned(Prn, P.X, P.Y*i, FormatCurr('###,##0.00',VALUES[i]));

    Prn.EndDoc;
  finally
    Prn.Free;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 16-07-2014 a las 11:56:40.
Responder Con Cita
  #3  
Antiguo 16-07-2014
Oscar Guzmán Oscar Guzmán is offline
Miembro
 
Registrado: oct 2008
Ubicación: Caracas-Venezuela
Posts: 79
Poder: 16
Oscar Guzmán Va por buen camino
Hola Ecfisa, gracias por responder

Se ve excelente tu código, lo voy a poner en práctica y te comentaré los resultados por aquí, creo que va a funcionar.

gracias
__________________
Oskar
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
alinear texto en el pdf dimitri PHP 2 23-05-2007 18:28:01
Alinear texto a la derecha luxus OOP 5 07-03-2007 01:53:00
Alinear datos de una tabla via Canvas maravert Impresión 0 16-01-2007 07:03:58
Alinear Texto a la Derecha sierraja Varios 7 16-06-2005 23:58:45
Alinear texto de un label Tecnic2 OOP 2 15-02-2005 16:42:39


La franja horaria es GMT +2. Ahora son las 13:54:22.


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