• Sábado 20 de Abril de 2024, 07:54

Autor Tema:  Uses Printer  (Leído 1708 veces)

edd_cb_america

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Uses Printer
« en: Martes 2 de Agosto de 2005, 06:08 »
0
Hola, tngo un problema con la impresion :lightsabre: , es k kisiera saber si no hay alguna funcion tipo gotoxy(x,y); pero para la impresion para poder colocar exactamente el texto donde quiero que salga.ya he intentado buscar en internet pero no lo encuentro
pk no hay mucha informacion sobre la libreria printer, el problema es que lo k voy a imprimir esta en un ciclo <for to do>y al saltar de linea el texto de arriba es mas grande k el de abajo y lo demas sale desordenado...

ejemplo de como m sale la impresion

printer<6 caracteres>libreria<4caracteres>3 ....writeln(lst);<-este es al saltar
crt<6caracteres>libreria<4caracteres>1

y sale asi
       printer.......libreria....3
       crt......libreria....1         {los puntos son simulacion de los espacios}   :blink:

y yo quisiera que salga ordenado, osea si existe alguna funcion que haga que la impresora coloque en un lugar determinado, asi como el gotoxy; con el uses crt :D

muchas gracias ante todo y espero y si haya respuesta ante mi problema :hola:
un saludo a todos...

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: Uses Printer
« Respuesta #1 en: Sábado 6 de Agosto de 2005, 12:23 »
0
:huh:  &lt;_&lt;  :)
Prueba con esto:
wrilteln(lst,'hola':15,'hola':10);
pruebalo primero sobre la pantalla sin el lst, los dos puntos le dicen a write o writeln que reserve el numero de espacios por la derecha , osea la 'a' de hola seria el caracter numero 15 la 'l' el 14 la 'o' el 13 la 'h' el 12 y así. :whistling:

espero que fuera eso lo que estabas buscando , lo que ves en la pantalla , es lo que ves en la impresora.

Saludos.

edd_cb_america

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Uses Printer
« Respuesta #2 en: Sábado 6 de Agosto de 2005, 18:23 »
0
:hola:
gracias por la respuesta pero es que asi es como yo lo manejaba pero en la impresora yo he n otado que lo maneja asi:

write(lst,'hola':15,'hola':10);

la a del primer hola sale en el caracter num. 15 pero en el otro hola salta 10 espacios despues del primero , y es por eso que a mi me salia desordenado... :D

muxas gracias de todos modos y saludos  :hola:

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: Uses Printer
« Respuesta #3 en: Lunes 8 de Agosto de 2005, 10:08 »
0
{
  Centrar lineas en la impresora,usando el eje X, cambia los valores
  X1 y X2 para la salida por pantalla, El eje Y no se puede cambiar
  directamente,pero si, indirectamente usando wrilte(lst,#13,#10)
  que provoca un salto de linea y un retorno de carro,  puedes avanzar
  el cabezal  pero NO puedes retroceder el cabezal de impresion al igual
  que en una  pantalla.

  NOTA:si lo que quieres es hacer eso,Retroceder deberas mandar codigos
  de control especificos de cada impresora , mira el manual de tu impresora
  pero ya te digo que no es estandar y cambia con el modelo y marca de estas.
  mira tambien el fichero de impresion PRNFLTR.PAS.
 }

uses crt;
var
lst:text;
p_uno,p_dos:string;
l1,l2:integer;
x1,x2:integer;

begin
    Assign(Lst, 'LPT1');
    Rewrite(Lst);

p_uno:='Mes';                   { primera frase }
p_dos:='Total en Euros';        { segunda frase }
l1:=length(p_uno);              { longitud de la primera palabra }
l2:=length(p_dos);              { longitud de la segunda palabra }

x1:=21;                         { posicion de la primera palabra p_uno }
x2:=54;                         { posicion de la segunda palabra p_dos }

clrscr;
                                { escala de comprobacion }
writeln(lst,'123456789012345678901234567890123456789012345678901234567890');
writeln(lst,'         1         2         3         4         5         6');

write(lst,p_uno:(l1-1)+x1);
if ( (X1+l1)<x2) then write(lst,p_dos:((l2-l1-x1)+x2)   );
readln;
close(lst);
end.

edd_cb_america

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Uses Printer
« Respuesta #4 en: Miércoles 10 de Agosto de 2005, 15:13 »
0
hola
Doy las gracias por ayudarme y tambien decirles que esta bien chida su pagina, si me sirvieron sus respuestas :kicking:   .. y pos les mando saludos a ustedes los que saben   :D

atte.Eduardo