comandos de impresion
en otro hilo hemos estado tratando de hacer el manejo de las secuencias de escape de las impresoras, yo trabajo con la tm-t90 de epson y ya encontre el comando para cortar el papel es #27 +#105
y me funciono definiendolo como un constante como se ve abajo
const pNewLn = #10 +#13; // Salto de linea
pCuton = #27 +#105; //Corte #27 +#105
begin
PWrite(pNewLn );
PWrite(pNewLn );
PWrite(' hola como estas');
PWrite(pNewLn );
PWrite(pNewLn );
PWrite(' Preparando Prueba de Corte');
PWrite(pNewLn );
PWrite(pCuton);
end;
lo que ahora quiero es poder manejarlo como una variable que en un campo se capture esta secuencia y se ejecute, pero no funciona asi con uan variable, asi:
const
pNewLn = #10 +#13; // Salto de linea
Var
Varcut :String;
Begin
Varcut := edit1.Text;
PWrite(' Preparando Prueba de Corte');
PWrite(pNewLn );
PWrite(Varcut);
la impresora me imprime el comando en vez de ejecutarlo, alguien podria decirme porque y como lo soluciono, el procedimiento es el que se publico en otro hilo y la presento a continuacion:
Procedure TForm1.PWrite(s:String);
var PT :Integer;
P :Pchar;
Begin
PT := FileOpen('lpt1',fmOpenWrite ); // Abrimos la impresora como un archivo
P := PChar( s ); //convertimos la cadena a un PChar
FileWrite(PT,P^,length( s )); //escribimos a la impresora
FileClose(PT);//cerrar el archivo de la impresora
end;
de antemano gracias por su tiempo y disculpen si la pregunta es muy tonta
|