Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Necesito un pequeño empujon (https://www.clubdelphi.com/foros/showthread.php?t=24979)

ElDioni 08-09-2005 10:51:20

Necesito un pequeño empujon
 
Debo imprimir el contenido de unas cajas de texto en papel continuo o sea que no quiero crear un reporte sino indicarle al programa por medio de codigo las posiciones de los textos indicandole la x y la y por ejemplo, no tengo ni idea de como se hace, porque ademas tengo que repetir la accion x veces segun las etiquetas que me indiquen imprimir, alguien me puede guiar un poco sobre este tema.

Neftali [Germán.Estévez] 08-09-2005 12:29:11

Échale un vistazo a la clase TPrinter y a la propiedad Canvas que permite acceder al canvas directamente.
Haz un par de pruebas simples para ver si por ese camino tienes salida.
Un ejemplo que puedes encontrar en Delphi es el siguiente:

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 
 begin
   with Printer do
   begin
     BeginDoc;
     Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
                     200, 200, Memo1.Lines.Text);
     EndDoc;
   end;
 end;

Puedes hacer pruebas con TextOut y TextRect de TCanvas para pintar texto en una posición determinada.

ElDioni 08-09-2005 12:48:04

pero como repito la siguiente etiqueta
 
Lo que quiero es repetir los mismo textos en papel continuo, lo tengo puesto en una instruccion for pero lo que hace es cogerme cada una en un folio, es papel continuo, pero digamos que en cada folio van cuatro etiquetas que tengo que rellenar cuando relleno la primera como hago que los mismo textos me los ponga en la tercera y en la cuarta y en la segunda sin salrtarme el folio entero. no se si me he explicado bien pero es que es un poco dificil expresar el problema

Sirkius 08-09-2005 13:59:01

Pues no hagas el endDoc hasta que no hagas las 4. Y para imprimir las tres siguientes sumale al Top del Rect el tamaño de una etiqueta.

PD: No se... supongo que así deberia funcionar...

ElDioni 09-09-2005 13:44:46

la solucion no me sirvio
 
Tengo una impresora matricial para imprimir sobre papel continuo el cual tiene unas etiquetas que estan impresas y solo falta rellenear los recuadros en blanco, bien, el codigo que estoy realizando es para hacer la impresion directa sin reportes, estos con el objeto printer, cuando el usuario del programa rellena el formulario para imprimir una etiqueta puede indicarle la cantidad de etiquetas como esa quiere imprimir, hasta 99 como hago para que el papel se vaya subiendo cuando acabe una etiqueta y me siga imprimiendo en las mismas posiciones porque es como si empezara otra vez desde la posicion 0,0 sin que me tire el folio, alguien me puede poner un ejemplo de aunque sea dos textos y la forma de repetir el codigo.


La franja horaria es GMT +2. Ahora son las 10:29:07.

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