Ver Mensaje Individual
  #5  
Antiguo 05-10-2024
delphi50jmb delphi50jmb is offline
Miembro
 
Registrado: jul 2007
Posts: 39
Reputación: 0
delphi50jmb Va por buen camino
Wink

Hola Pruz.
Hace ya mucho tiempo tuve que programar una impresora de etiqutas XPrinter, para una cafeteria tipo Starbucks, que imprimia el numero de atencion y el nombre del cliente en una etiqueta para luego pegarla en el vaso.

Aqui va el codigo que utilizaba.

Código Delphi [-]
procedure ImprimeEtiqueta(sPuerto, sNumClie, sDescrip, sComentario: String);
begin
   writeln( sPuerto, 'CLS'); // Limpia el buffers de la impresora
   //writeln( sPuerto, 'BACKUP 220');    // Reversa la etiqueta 40 puntos. Trabaja junto con Backfeed
   //writeln( sPuerto, 'BACKFEED 220');   // Reversa la etiqueta 40 puntos
   writeln( sPuerto, 'DIRECTION 1');
   writeln( sPuerto, 'REFERENCE 1,1');  //posicion inicial
   //writeln( sPuerto, 'SHIFT 140');         // mueve la posision de la etiqueta
   //writeln( sPuerto, 'OFFSET 12.7 mm');
   //writeln( sPuerto, 'GAP 17.62 mm, 17.54 mm');
   writeln( sPuerto, 'TEXT 20,50,"3",0,1,1,' + '"' + 'Numero: ' + sNumClie + '"');
   writeln( sPuerto, 'TEXT 20,80,"2",0,1,1,' + '"' + sDescrip + '"');
   writeln( sPuerto, 'TEXT 20,110,"2",0,1,1,' + '"' + sComentario + '"');
   writeln( sPuerto, 'TEXT 20,200,"1",0,1,1,' + '"' + DateToStr(Date) + space(2) + TimeToStr(Time) + '"');
   writeln( sPuerto, 'PRINT 1');
   //writeln( sPuerto, 'FEED 300');   // Avanza la etiqueta 260 puntos
   //writeln( sPuerto, 'CUT');     // Corta la etiqueta
end;


Y, este otro codigo, lo utilice en algun momento para imprimir codigos de barra en en una impresora de etiqutas Zebra.

Código Delphi [-]
         ImpCodBarra( Tabla.FieldByName('Codigo').AsString,
                      Tabla.FieldByName('Talla').AsString,
                      Tabla.FieldByName('Color').AsString,
                      Tabla.FieldByName('Precio').AsString );

*******************************************************

procedure ImpCodBarra( sP1, sP2, sP3, Sp4: String );
var
   a         : Integer;
   iCantidad : Integer;
   iCantAux  : Extended;

begin
   AssignFile(MyFile, iPtoImpBar );
   reset( MyFile );
   rewrite(MyFile);

   writeln( MyFile, 'N');
   writeln( MyFile, 'S6');

   iCantidad := StrToInt(sParamB);

   for a := 1 to iCantidad do
   begin
      //
      Etiqutas3x1(sP1, sP2, sP3, Sp4 );
      //
      writeln( MyFile,  'P1' );  // ---
      writeln( MyFile,  'N');    //    +-- Controles internos para la impresora
      writeln( MyFile,  'O');    // ---

   end;
end;


procedure Etiqutas3x1(sCodigo, sTalla, sColor, sPrecio: String );
begin
     //                1)--- Pos. Columna
     //                |    2)--- Pos. Filas
     //                |    |  3)--- Rotacion.0=No rot.
     //                |    |  | 4)--- Font. 1..5
     //                |    |  | | 5)--- Ancho Horizontal
     //                |    |  | | | 6)--- Altura Vertical
     //                |    |  | | | | 7)--- N=Normal, R=Reversa
     //                |    |  | | | | |
     //                |    |  | | | | |    8)--- Data
     //                |    |  | | | | |    |
     //                |    |  | | | | |    |
     // Etiqueta 1     |    |  | | | | |    |
   writeln( MyFile,  'A000,020,0,2,1,1,N,"' + copy(sCodigo,1,20) + '"' ); // Codigo Barra
   writeln( MyFile,  'A000,040,0,2,1,1,N,"Color ' + sColor + '"' );
   writeln( MyFile,  'A000,060,0,2,1,1,N,"Talla ' + sTalla + '"' );

   writeln( MyFile,  'A000,080,0,2,1,1,N,"$ ' + Picture(sPrecio) + '.-"' );  // Precio

   // Etiqueta 2
   writeln( MyFile,  'A200,020,0,2,1,1,N,"' + copy(sCodigo,1,20) + '"' );
   writeln( MyFile,  'A200,040,0,2,1,1,N,"Color ' + sColor + '"' );
   writeln( MyFile,  'A200,060,0,2,1,1,N,"Talla ' + sTalla + '"' );

   writeln( MyFile,  'A200,080,0,2,1,1,N,"$ ' + Picture(sPrecio) + '.-"' );

   // Etiqueta 3
   writeln( MyFile,  'A470,020,0,2,1,1,N,"' + copy(sCodigo,1,20) + '"' );
   writeln( MyFile,  'A470,040,0,2,1,1,N,"Color ' + sColor + '"' );
   writeln( MyFile,  'A470,060,0,2,1,1,N,"Talla ' + sTalla + '"' );

   writeln( MyFile,  'A470,080,0,2,1,1,N,"$ ' + Picture(sPrecio) + '.-"' );
end;

Espero, te sirvan de ejemplo.

Saludos.

Jose Miguel B.
Responder Con Cita