Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Comandos para Epson TM-U220B (https://www.clubdelphi.com/foros/showthread.php?t=6467)

MAGRANA 09-01-2004 13:54:38

Comandos para Epson TM-U220B
 
Hola, necesito imprimir unos ticket mediante una Epson TM-U220B. Se que se utilizan los camandos de API Escape, he conseguido algunos de ellos, pero no consigo imprimir nada más que guarrería. ¿Qué debo de hacer para que salgan los caracteres que yo quiero imprimir? ¿Cómo se activa el corte de la cuchilla? ¿Qué comando tengo que emplear para que habra un caján portamonedas?

Espero que me podais ayudar. Gracias.

__cadetill 09-01-2004 15:50:03

Un ejemplo de impresión con ficheros de texto

Código:

procedure TForm1.ImprimirClick(Sender: TObject);
var F : TextFile;
    i, j : integer;
    temp : string;
begin
    AssignFile(F, 'c:\lolo.txt');
    Rewrite(F);

    // Ponemos título de las columnas
    temp := 'Columna1 Columna2 Columna3 Columna4 Columna5';
    Writeln(F, temp);
    for i := 0 to ListView1.Items.Count - 1 do
      begin
          temp := ListView1.Items[i].Caption;
          for j := 0 to ListView1.Items[i].SubItems.Count - 1 do
              temp := temp + ' ' + ListView1.Items[i].SubItems[j];
          Writeln(F, temp);
      end;

    CloseFile(F);
end;

(esto imprime el contenido de un TListView)

Otro ejemplo con Canvas
Código:

procedure TForm1.ImprimirCanvasClick(Sender: TObject);
var y, i, j : integer;
    temp : string;
begin
    Printer.BeginDoc;
    With Printer.canvas do
      Begin
          Printer.Title := 'El titulo del documento que quiero';
          Font.Name := 'MS Sans Serif';
          Font.Color := ClBlack;
          Pen.Color := ClBlack;
          Font.Size := 12;
          Font.Name := 'Times New Roman';
          Font.Size := 12;

          // imprimimos ListView
          temp := 'Titulo que sale escrito en el papel';
          y := 100;
          TextOut(10, y, temp);
          for i := 0 to ListView1.Items.Count - 1 do
            begin
                inc(y, 20);
                temp := ListView1.Items[i].Caption;
                for j := 0 to ListView1.Items[i].SubItems.Count - 1 do
                    temp := temp + ' ' + ListView1.Items[i].SubItems[j];
                TextOut(10, y, temp);
            end;
      end;
    Printer.EndDoc;
end;

Para abrir el cajón portamonedas, sólo has de enviarle los siguientes códigos

Código:

procedure AbrirCajon;
var f : TextFile;
begin
    AssignFile(f,'lpt1');
    try
        Rewrite(f);
        Writeln(f,#27+'p0'+#100+#0);
    finally
            CloseFile(f);
    end;
end;

Para el tema de la guillotina..... ni idea :(

guillotmarc 09-01-2004 17:05:24

Prueba a descargarte de la web de Epson, el manual con los códigos de escape para las impresoras TM

https://www.epson-pos.com/cgi-bin/sd...sp?sel_lang=es

Saludos.

MAGRANA 12-01-2004 09:56:45

Gracias Cedetill
 
:) Muchas Gracias Cadetill, tu respuesta me ha ayudado mucho y ya consigo controlar la impresora.

Por si te hace falta a ti o a alguien, he conseguido los comandos Escape para controlar las impresoras Epson TM de la serie U200.

Para activar el corte es:(Por si algún día lo necesitas).
Write (f, #29+'V'+#66+#20);

Un saludo.


La franja horaria es GMT +2. Ahora son las 10:29:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi