Pascal/Turbo Pascal - Libreria Printer

 
Vista:

Libreria Printer

Publicado por Beto (1 intervención) el 30/06/2003 01:22:28
Necesito saber donde puedo conseguir especificaciones sobre a libreria PRINTER, algun tutorial que tengan o algo asi... es urgente... Necesito como enviar una informacion a travez de un pin especificado del puerto de la impresora... cualquier ayuda que me puedan ofrecer, les estare muy agradecido...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Libreria Printer

Publicado por ramon (2158 intervenciones) el 12/05/2011 12:20:24
{Sobre la librería printer te paso ina unidad para impresión de facturas en tres impresoras diferentes
en modo texto veras que depende de los comando de cada impresora la unidad printer solo
disecciona el puerto de impresora lo demás lo tienes que implementar tu en caso de impresión de gráficos seria de otra forma espero esto te sirva de ayuda}

unit inpress;
interface
uses
crt,printer;

procedure imprime_olivetti(cual : integer);
procedure imprime_epson(cual : integer);
procedure imprime_laser(cual : integer);

implementation


procedure imprime_olivetti(cual : integer);
begin
if cual = 1 then
pon_limpio1
else
pon_limpio;
write(lst,#27#64); {inicializa impresora}
write(lst,#12);
write(lst,#27#85#49);
write(lst,#27#108#2); {determina margen izquierdo}
write(lst,#27#80); {seleciona 10p}
write(lst,#12);
writeln(lst);
writeln(lst,'ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿',' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿');
writeln(lst,'³ ÄÄÄconstruccionesÄÄÄ ³',' ³ FACTURA N£m. ',numf,' ³');
writeln(lst,'³ NOMBRE ³',' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
writeln(lst,'³ DIRECCION ³');
writeln(lst,'³ PROVINCIA ³');
writeln(lst,'ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
write(lst,#27,#77); {seleciona 12p}
write(lst,#12); {avance de pagina}
end;


procedure imprime_epson(cual : integer);
begin
if cual = 1 then
pon_limpio1
else
pon_limpio;
write(lst,#27,#64);
write(lst,#27,#85,#1);
write(lst,#27,#71);
write(lst,#27,#108,#2);
write(lst,#27,#69);
write(lst,#27,#120,#0);{sans serif}
writeln(lst,'ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿',' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿');
writeln(lst,'³ ÄÄÄconstruccionesÄÄÄ ³',' ³ FACTURA N£m. ',numf,' ³');
writeln(lst,'³ NOMBRE ³',' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
writeln(lst,'³ DIRECCION ³');
writeln(lst,'³ PROVINCIA ³');
writeln(lst,'ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');

write(lst,#27,#85,#0);
write(lst,#27,#72);
write(lst,#27,#70);
write(lst,#27,#107,#0); {Romana}
write(lst,#12);
end;


procedure imprime_laser(cual : integer);
begin
if cual = 1 then
pon_limpio1
else
pon_limpio;
write(lst,chr(027),chr(040),chr(049),chr(048),chr(085));
write(lst);
writeln(lst,'ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿',' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿');
writeln(lst,'³ ÄÄÄconstruccionesÄÄÄ ³',' ³ FACTURA N£m. ',numf,' ³');
writeln(lst,'³ NOMBRE ³',' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
writeln(lst,'³ DIRECCION ³');
writeln(lst,'³ PROVINCIA ³');
writeln(lst,'ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
write(lst,chr(12));
end;
begin
end.


[Para gráficos seria para la hp_laser observa las diferencias }

const
esc = #27;
one : word = 1;
var
regs : registers;
inicio_lado_izquierdo, puntos_verticales : string;
procedure sendstring(var s : string);
begin
inline($5b/ {pop bx}
$5A/ {pop dx}
$1e/ {push ds}
$8e/$da/ {mov ds,dx}
$8a/$0f/ {mov cl,[bx]}
$30/$ed/ {xor ch,ch}
$31/$d2/ {xor dx,dx}
$43/ {inc bx}
$8a/$07/ {mov al,[bx]}
$30/$e4/ {xor ah,ah}
$cd/$17/ {int $17}
$e2/$f7/ {loop 0175}
$1f); {pop ds}
end;
procedure set_resolucion(res : integer);
var
s : string;
begin
s := esc + '*t';
case res of
75 : s := s + '75';
100 : s := s + '100';
150 : s := s + '150';
300 : s := s + '300';
end;
s := s + 'R';
sendstring(s);
end;
procedure start_raster_graphics(number : integer);
var
s, dummy : string;
begin
s := esc + '*b';
str(number : 0,dummy);
s := s + dummy + 'w' + 'data';
sendstring(s);
end;
procedure end_raster_graphics;
var
s : string;
begin
s := esc + '*rbC';
sendstring(s);
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Libreria Printer

Publicado por Diego Romero (786 intervenciones) el 30/06/2003 09:21:44
Creo que no es el camino para hacer lo que deseas, la BIBLIOTECA Printer es solo para hacer interface con la impresora, no puedes interactuar con el puerto LPT através de ella.
Para hacerlo, necesitas usar el array predefinido Port[], por ejemplo:
Port[$378]:=1;
estarías enviando el valor 1 por el puerto LPT1, al mismo tiempo estarías activando el pin 1 de los ocho pines de datos del puerto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Libreria sci

Publicado por Adalia Marilu Romero (1 intervención) el 12/05/2011 04:47:23
Les deseo éxitos en sus labores cotidianos de antemano les agradezco me informen sobre precios para poder surtir mi libreria.
Les agradeceria mandaran dicha informacion a mi correo.

atte: Adalia Romero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar