![]() |
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 |
Cita:
O lo escribes directamente en el edit. Porque puede que no estés introduciendo lo que piensas. Para comprobarlo utiliza algo como esto para saber exactamente que caracteres son:
|
si, estoy tecleando en el Edit
si obiamente estoy introducuiendo en el EDIT #27 +#105, el problema es cuando llamo, no lo ejecuta mas bien lo imprime
|
Sigo dándole vueltas al asunto, en el edit ¿estas introduciendo la cadena de texto '#27+#105'?, es decir la cadena de texto tal cual. Porque así el resultado es una cadena de 8 caracteres y no los 2 que tu necesitas para hacer el corte. Se me ocurre lo siguiente para que puedas introducir los caracteres especiales como el 27:
De este modo, por ejemplo, si queremos imprimir esto: Código:
Hola mundo Código:
Hola mundo%0A%0D%1B%69 |
Esto si te funcionará, lo que estás haciendo como te dice Seoane es: '#10#13' y en realidad lo que tiene que contener son los códigos de alimentación de línea: 10 y retorno de carro 13. Un Saludo. |
La franja horaria es GMT +2. Ahora son las 12:41:25. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi