Gracias por aporte,
Seoane, intente compilarlo en lazarus pero me da error en
Código Delphi
[-]if OpenPrinter(PChar(PrinterName), PrinterHandle, nil) then
Código:
unit1.pas(48,51) Error: Incompatible type for arg no. 2: Got "LongWord", expected "PHANDLE"
unit1.pas(50,21) Hint: Local variable "DocInfo" does not seem to be initialized
unit1.pas(57,37) Warning: Local variable "PrinterHandle" does not seem to be initialized
unit1.pas(73,54) Error: Incompatible type for arg no. 4: Got "LongWord", expected "PDWord"
unit1.pas(90) Fatal: There were 2 errors compiling module, stopping]
Primero lo saque directamente de tu codigo printtest, aunque de momento me interesa el que pusiste aqui.
No se puede compiar en lazarus, aunque le cambie el modo de sintaxis a delphi?
Lo que prentendo solo es imprimir en impresora de tickets y que solo imprima lo que envio y no me saque un feed del tamaño asignado.
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var iImpresora : TextFile;
begin
Assignfile(iImpresora,'LPT1'); Rewrite(iImpresora);
Writeln(iImpresora,'Esto debe salir por la impresora.');
CloseFile(iImpresora);
end;
[font=Arial]Este metodo no me funciona porque no imprime nada.
Código Delphi
[-]with Printer do
begin
PRINTER.PrinterIndex:=COMBOBOX1.ItemIndex;
r := Rect(200,200,(Pagewidth - 200),(PageHeight - 200));
BeginDoc;
Canvas.Brush.Style := bsClear;
for i := 0 to IMPRIMIR.Count -1 do
Canvas.TextOut(200,200 + (i *
Canvas.TextHeight(IMPRIMIR.Strings[i])),
IMPRIMIR.Strings[i]);
Canvas.Brush.Color := clBlack;
Canvas.FrameRect(r);
EndDoc;
Este si funciona pero me hace feed de papel.
La impresora es una epson tm-u220pa por puerto paralelo.
Tambien he visitado la pagina de epson en relación a los codigos
Código:
PRINT #1 "Hola"; -Imprime texto
PRINT #1 CHR$(&H1B); "d"; CHR$(11); -Avanza 11 líneas
PRINT #1 CHR$(&H1B); "i"; -Ejecuta corte completo
Pero primero hay que hacer un assignfile que no funciona.
Alguna idea del cómo, ya no se donde mas buscar.
Gracias y perdon por ser tan largo.