Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2021
LACV LACV is offline
Miembro
 
Registrado: oct 2015
Posts: 80
Poder: 9
LACV Va por buen camino
Exclamation incoveniente para comparar los valores en Async Professional ApdComPort

Buena tarde estoy realizando una aplicacion para leer basculas digitales; estoy realizado la conexion y recibo correctamente el dato con este poco de codigo

estoy usando el componente Async Professional ApdComPort

Código Delphi [-]
procedure TFrmIndicador.ComPortConexTriggerAvail(CP: TObject; Count: Word);
var
  I: Word;
  C: String;
begin

  for I := 1 to Count do
  begin
    C := C + ComPortConex.GetChar;
  end;

  LbIndicador.Caption := C;
end;

pero me estan pidiendo que si el dato que recibo esta cambiado continuamente no permita capturar el dato y la verdad no e podido realizarlo e intentado hacerlo con un timer pero no lo e logrado lo ultimo que e intentado es esto

Código Delphi [-]
procedure TFrmIndicador.Timer1Timer(Sender: TObject);
var
  dato: string;
begin
 
  dato := LbIndicador.Caption;
  Sleep(1000);

  if C = dato then
  begin
    BtnGuardar.Enabled := true;
    StLMovimiento.NotLitColor := clBlack;
    StLPesoBruto.NotLitColor := clLime;
  end
  else
  begin
    BtnGuardar.Enabled := false;
    StLMovimiento.NotLitColor := clLime;
    StLPesoBruto.NotLitColor := clBlack;
  end;
    
end;

gracias de antemano
Responder Con Cita
  #2  
Antiguo 04-08-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tendrías que poner un ejemplo de datos recibidos.
Por lo que entiendo, lo que quieren es que detectes un peso "estable", que mientras el peso está cambiando no lo tengas en cuenta.

Dependiendo de la velocidsad de lectura, lo que podrías hacer es quedarte con la última 10 lecturas, por ejemplo (o con las últimas 50, dependiendo de la velocidad de lectura). Y con esa lista de lecturas, hacer una función que te devuelve si el valor de la lista es estable.

Por ejemplo:
  • Si recibes: 5,6,5,6,5,5,5,5,5,6 => Estable (teniendo en cuenta % ede error)
  • Si recibes: 5,8,4,5,1,4,5,6,7,9 => No estable
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
como leer datos enviados por COM3 ( TurboPower Async Professional.) Racso2006 Varios 18 07-11-2018 12:06:58
Configuración TurboPower Async Professional para Delphi 7 jvb2008 Varios 0 24-10-2014 19:42:44
Async pro para manejo de puerto serie genbat ASM y Microcontroladores 6 07-12-2008 00:09:54
separar y comparar valores en un edit jocey Varios 2 12-06-2008 16:39:38
comparar un string con un rango de valores locorez Varios 2 09-01-2006 15:54:43


La franja horaria es GMT +2. Ahora son las 19:27:32.


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