SoloCodigo

Programación General => Pascal => Mensaje iniciado por: Hao en Sábado 5 de Junio de 2004, 04:54

Título: Como Imprimir...
Publicado por: Hao en Sábado 5 de Junio de 2004, 04:54
Fire...
Alguien me puede ayudar a imprimir en pascal si me facilitan el codigo se los agradeceria...

Que la fuerza los acompañe...
 :lightsabre:
Título: Re: Como Imprimir...
Publicado por: Amilius en Sábado 5 de Junio de 2004, 22:55
Para imprimir texto en forma secuencial:

writeln(lst,'texto');

Los caracteres especiales tienen efecto, por ejemplo: retorno de carro.

Para imprimir gráficos:... Eso es complicado...  no es como en windows...

Esto sirve para imprimir texto en impresoras Epson lx-810, como la que tenía hace unos siglos: (Tienes que ordenar lo que estás imprimiento y recién en forma ordenada llamar a "imprime")

Nota: los comandos de impresión están listados en el manual de la impresora, por lo que varían con el fabricante.

Código: Text
  1.  
  2. unit impresor;
  3.  
  4. interface
  5.  
  6. Uses printer;
  7.  
  8. var lineas_avanzadas:real;
  9.  
  10. procedure inicializa(opc:byte);
  11. procedure imprime(x,y:real;cad:string);
  12. procedure finaliza;
  13.  
  14. implementation
  15. procedure inicializa(opc:byte);
  16. begin
  17.  write(lst,#27+'M'+#27+'x');
  18.  if opc=0 then
  19.    write(lst,#0)
  20.  else
  21.  begin
  22.    write(lst,#1);
  23.    write(lst,#27+'k'+chr(opc-1))
  24.  end;
  25.  lineas_avanzadas:=0;
  26. end;
  27.  
  28. procedure imprime(x,y:real;cad:string);
  29. var a:word;
  30.     x1,y1,y2:byte;
  31.     spa:string;
  32. begin
  33.  x:=x/2.54;
  34.  y:=(y-0.8)/2.54-lineas_avanzadas;
  35.  lineas_avanzadas:=lineas_avanzadas+y;
  36.  y1:=round(y*216) div 216;
  37.  y2:=round(y*216) mod 216;
  38.  x1:=round(x*12);
  39.  spa:='';
  40.  if y1<>0 then
  41.  begin
  42.    write(lst,#27+'3'+#216);
  43.    for a:=1 to y1 do write(lst,#13,#10)
  44.  end;
  45.  write(lst,#27+'3'+#0);
  46.   if y2<>0 then
  47.       write(lst,#27+'J'+chr(y2));
  48.  for a:=1 to x1 do
  49.     spa:=spa+' ';
  50.  write(lst,spa);
  51.  writeln(lst,cad);
  52. end;
  53.  
  54. procedure finaliza;
  55. begin
  56.   write(lst,#27+'x'+#0,#12)
  57. end;
  58.  
  59. end.
  60.  
  61.  
Título: Re: Como Imprimir...
Publicado por: Hao en Lunes 7 de Junio de 2004, 03:04
:gracias: Amilius..!!!

Ya lo pruebo....y te cuento si funciono..... :comp:
 
  por cierto q bien se mira tu nuevo avatar..... :yes:  :good:

Hasta la vista.. B)
Título: Re: Como Imprimir...
Publicado por: Hao en Sábado 12 de Junio de 2004, 02:29
Funciona!! Funciona!!!

Gracias de nuevo..
chauuu :jumpie: