hola:
yo use esta unit y la declaro en el formulario y hago el llamado al procedimiento
Código:
unit Escribe_directo;
interface
uses printers, WinProcs, WinTypes, SysUtils;
Procedure Prueba_impresora;
implementation
Type
Tpasa_datos = Record
nLong : Integer;
Datos : Array[0..255] of byte;
end;
Procedure Impresion_directa(s : String);
var
CadenaB : TPasa_datos;
Begin
CadenaB.nLong := Length(s);
StrPCopy(@CadenaB.Datos,s);
Escape(printer.handle, PASSTHROUGH,0,@CadenaB,nil);
End;
Procedure Prueba_impresora;
Begin
Printer.BeginDoc;
Impresion_directa(#27 + 'p0' + #100 + #0 + 'Hello');
//Impresion_directa(CHR(27)+'&l1O'+'Hello, World!'); // Aqui va el caracter de escape que abre el cajon
Printer.EndDoc;
End;
end.
Saludos
Luis Garcia