Ver Mensaje Individual
  #6  
Antiguo 02-09-2014
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Reputación: 18
anubis Va por buen camino
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'); //Puerto: LPT1, COM1, etc;    
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.

Última edición por anubis fecha: 02-09-2014 a las 02:57:57.
Responder Con Cita