Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-03-2007
JuanHC JuanHC is offline
Miembro
 
Registrado: sep 2006
Posts: 25
Poder: 0
JuanHC Va por buen camino
enviar codigos ESC a impresora

Hola,
Necesito enviar los codigos de ESC a la impresora para la apertura del CAJON, CORTE DE TIQUET, Estos codigos se piden en campo EDIT

He probabo de varias formas, pero no consigo que me funcione, lo que envio me lo interpreta como si fuera un texto normal.

Agradeceria si alguien puede ayudarme.
Responder Con Cita
  #2  
Antiguo 07-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
No estaría de mas que pusieras el código que estas usando, y los códigos (el numero) que quieres mandar.
Responder Con Cita
  #3  
Antiguo 07-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Hay varias formas de enviar esos datos a la impresora.

Ejemplo de Abrir cajón (funciona en impresoras epson y compatibles):
Código Delphi [-]
var
  f : TextFile;
  CadenaCajon : string;

begin
  CadenaCajon := chr(27) + chr(112) + chr(0) + chr(100) + chr(200);

  AssignPrn(f);
  Rewrite(f);
  Write(f, CadenaCajon);
  CloseFile(f);
end;
Responder Con Cita
  #4  
Antiguo 07-03-2007
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Aqui hay algunos ejemplos
Responder Con Cita
  #5  
Antiguo 07-03-2007
JuanHC JuanHC is offline
Miembro
 
Registrado: sep 2006
Posts: 25
Poder: 0
JuanHC Va por buen camino
codigos a imprimir

TIenes razon,

Los codigos que yo quiero enviar a la impresora son:

ESC + 'p 0 5 20'

es para que se abra el cajon portamonedas.

como he dicho antes, me lo interpreta como un texto,

LineaTexto = chr(27)+ 'p 0 5 20'
Writeln ( Fichero, LineaTexto);

Última edición por JuanHC fecha: 07-03-2007 a las 15:47:50.
Responder Con Cita
  #6  
Antiguo 07-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Segun creo, lo que tienes que mandar a la impresora son los caracteres #27#112#0#5#20, siendo el #112 = 'p'. Esto no seria un problema, lo malo es si necesitas introducir los comandos en un edit, en otro hilo dí la siguiente solución al problema, espero que te sirva:
Código Delphi [-]
// Esta funcion decodifica una cadena, donde los caracteres no imprimibles
// estan sustituidos por % seguido de su valor hexadecimal.
function Decode(Str: string): string;
var
  i: integer;
begin
  Result:= '';
  while Length(Str) > 0 do
  begin
    if Copy(Str, 1, 1) = '%' then
    begin
      if not TryStrToInt('$' + Copy(Str, 2, 2),i) then
      begin
        Result:= '';
        Exit;
      end;
      Result:= Result + Char(i);
      Delete(Str, 1, 2);
    end else Result:= Result + Copy(Str, 1, 1);
    Delete(Str,1,1);
  end;
end;

// Por ejemplo para mandar Esc + p 0 5 20
LineaTexto = '%1Bp%00%05%14
Writeln ( Fichero,Decode(LineaTexto));
Responder Con Cita
  #7  
Antiguo 07-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Cita:
Empezado por JuanHC
LineaTexto = chr(27)+ 'p 0 5 20'
Writeln ( Fichero, LineaTexto);
Claro, es que lo que estás enviando es un texto, no los códigos correspondientes.

LineaTexto := chr(27) + 'p' + chr(0) + chr(5) + chr(20);

Fíjate que '0' no es lo mismo que chr(0). En el primer caso envías el carácter '0' (carácter número 48 de la tabla ASCII) a la impresora, eso te imprimirá un 0. En el segundo enviarás el carácter número 0 de la tabla ASCII, que en este caso se usa como carácter de control.
Responder Con Cita
  #8  
Antiguo 07-03-2007
JuanHC JuanHC is offline
Miembro
 
Registrado: sep 2006
Posts: 25
Poder: 0
JuanHC Va por buen camino
Gracias por vuestras respuestas. Creo que me servira.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
seleccion de impresora y letra de la impresora emeceuy Impresión 6 13-08-2017 14:11:05
¿Como se envian codigos de control a una impresora? flystar Impresión 5 05-08-2006 01:10:07
Codigos Escape Impresora Sansumg serhasae Varios 3 05-09-2005 10:40:17
Enviar el contenido de un TPanel a la impresora vicvil API de Windows 0 12-10-2004 20:49:27
Códigos de barra Pandre Varios 2 09-07-2003 00:35:24


La franja horaria es GMT +2. Ahora son las 22:11:51.


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
Copyright 1996-2007 Club Delphi