Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2004
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Unhappy Puertos Serie

Hola a todos/as

Mi caso es el siguiente:

Tengo una pistola lectora de codigos de barra, y necesito tomar la informacion, de dicha pistola, a traves del puerto serie.

Alguien tiene alguna idea o saben de alngun hilo que hable del tema?

Tengo la version 7 de delphi.
Responder Con Cita
  #2  
Antiguo 24-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Te recomiendo buscar en Torry's a alguna de ellas, algún componente de lectura de puertos serie
Responder Con Cita
  #3  
Antiguo 24-02-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Si puedo (y me dejan ) añadir algo a lo mencionado es que podés encontrar bastante info por la red buscando sobre los puertos serie, entre todo esta web con algo básico:
http://www.developers.demon.co.uk/serial.html

Por mi parte me parece increiblemente práctico las lectoras que van directamente al teclado.

Saludos
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #4  
Antiguo 25-02-2004
dannymunuera dannymunuera is offline
Registrado
 
Registrado: feb 2004
Posts: 8
Poder: 0
dannymunuera Va por buen camino
Thumbs up puerto serie

lo único que puedo decir es que te busques un getcat, que un scanner de códigos de barras y se conecta entre el ps2 del teclado y el MotherBoard de la maquina, la dirección que tiene mi getcat es www.getcat.com, busca por hay y quizás encuentras algo
Responder Con Cita
  #5  
Antiguo 01-03-2004
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Smile

Gracias a todos,

me pongo a buscar donde me habeis dicho, si tengo alguna duda preguntaré nuevamente

Sin mas un cordial saludo: mrmanuel
Responder Con Cita
  #6  
Antiguo 02-03-2004
Ignacio Ignacio is offline
Miembro
 
Registrado: may 2003
Posts: 77
Poder: 21
Ignacio Va por buen camino
Hola.
Tube la necesidad de controlar desde mi aplicación el puerto serie cuando conecté una balanza electrónica. Lo solucioné con los componentes "APRO".
Existe un control que te permite chequear permanentemente, enviar o recibir información por este puerto. Espero que te sirva.
Responder Con Cita
  #7  
Antiguo 03-03-2004
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Hola Ignacio,


Te importaria decirme que coponente es el que utilizastes, porque me he puesto a meterle mano a los "APRO" y eso no hay quien lo entienda, y para colmo, los ejemplos no compilan, siempre le falta alguna libreria o modulo.

PD: Tambien necesito conectar un peso al puerto serie.

Gracias, un saludo.
Responder Con Cita
  #8  
Antiguo 03-03-2004
Ignacio Ignacio is offline
Miembro
 
Registrado: may 2003
Posts: 77
Poder: 21
Ignacio Va por buen camino
Disculp la demora de la respuesta.

Las pestañas se llaman APRO, APRO Telephony, APRO Fax y APRO State Machine.
El control que usé es ApdComPort de la pestaña APRO. Basé todo en el ejemplo ExComp. Mas tarde te mando el codigo que hice, que no es más que la modificación del ejemplo.

Suerte.
Responder Con Cita
  #9  
Antiguo 04-03-2004
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Gracias,

Pruebo lo que me has dicho y te cuento, de todas formas si me puedes enviar lo tuyo, mejos, así me aseguro que funciona correctamente. (Porque para estas cosas soy un poco PEZ).

Muchas gracias.

Un saludo.
Responder Con Cita
  #10  
Antiguo 05-03-2004
Ignacio Ignacio is offline
Miembro
 
Registrado: may 2003
Posts: 77
Poder: 21
Ignacio Va por buen camino
Código:
unit Balanza;

interface

uses
  WinTypes, WinProcs, SysUtils, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, AdPort, OoMisc, ExtCtrls, Buttons, lmdcompo,
  lmdclass, lmdformA;

type
  TFormBalanza = class(TForm)
    ApdComPort1: TApdComPort;
    Bevel1: TBevel;
    LblPeso: TLabel;
    LblPeso2: TLabel;
    BBcorrecto: TBitBtn;
    BBcancelar: TBitBtn;
    LMDFormFill1: TLMDFormFill;
    procedure ApdComPort1TriggerAvail(CP: TObject; Count: Word);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
    function Valor(SS: string) :Integer;
  public
    { Public declarations }
    Peso:Integer;
    Cadena:String;
  end;

var
  FormBalanza: TFormBalanza;

implementation

{$R *.DFM}

procedure TFormBalanza.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  I : Word;
  C : Char;
  S : String;
begin
  S := '';
  for I := 1 to count do begin
    C := ApdComPort1.GetChar;  {C de carga con un caracter enviado por el puerto COM}
    case C of
      #0..#47 : {Desechar} ;   {Son caracteres no numericos previos al cero}
      #80: {Desechar} ; {La P, en esta balanza me indica el inicio de la cadena que trae el peso}
      #75: {Desechar} ; {La K, en esta balanza me indica el fin de la cadena que trae el peso}
      else  S := S + C; {se almacenan en S solo los caracteres que deseo}
      {De esta manera me queda en S una cadena a mi gusto}
    end;
  end;
  {Tengo una función llamada "Valor" que hace de S un numero que representa
   al peso que arrojó la balanza. Esta señal es enviada por el puerto muchas
   veces por segundo. Pero si cada vez que recibo una nueva, la muestro,
   tendría un efecto de parpadeo que dificultaría la lestura del numero por
   el operador. Para evitarlo muestro solamente si el valor que tengo en
   pantalla es distinto al valor resientemente recibido en S}
  if (Peso<>Valor(s)) and (Valor(s)>=0)then
  begin
    Peso:=Valor(s);
    LblPeso.Caption:=IntToStr(Peso);
    LblPeso2.Caption:=IntToStr(Peso);
  end;
end;

procedure TFormBalanza.FormActivate(Sender: TObject);
begin
  Peso:=0;
  LblPeso.Caption:=IntToStr(Peso);
  LblPeso2.Caption:=IntToStr(Peso);
  ApdComPort1.OutPut := 'ATZ'^M;  {Inicia la lectura del puerto}
end;

function TFormBalanza.Valor(SS: string) :Integer;
var
  i:Integer;
begin
  i:=1;
  if SS='' then
    result:=-1
  else
    Result:=StrToInt(Copy(SS,i,6));
end;

end.
Espero que te sea util. Suerte.
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


La franja horaria es GMT +2. Ahora son las 23:05:23.


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