Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Basura en el puerto serial??? (https://www.clubdelphi.com/foros/showthread.php?t=45541)

atapia 06-07-2007 08:12:41

Basura en el puerto serial???
 
Hola de nuevo,ok pues pregunto esto porque en el siguente fragmento de codigo que estoy analizando buff toma el valor q recibe del puerto serial ( PesoPort.ReadText es la funcion q lee del puerto),despues length calcula la longitud de la cadena buff y si es mayor o igual a 9 realiza la funcion copy ya mencionada,lo q sigue es una conversion de cadena a flotante.Mi pregunta es¿por q aplicarle la funcion length y luego copy a buff ,acaso el puerto serial manda un tipo de basura o datos q se tengan q desechar y por eso aplica un copy del caracter 1 al 9?


buff := PesoPort.ReadText;
if length(buff)>=9 then
begin
buff := copy(buff,1,9);
try
peso := strtofloat(buff);

Muchas gracias por su atencion,ojala puedan sakarme de la duda.

dec 06-07-2007 08:21:51

Hola,

Por favor, ten un poco de paciencia y no repitas Hilos porque puede resultar un lío. Dejaremos este sin cerrar, pero, por favor, revisa la guía de estilo de los Foros.

adfa 06-07-2007 17:25:39

Si, es probable que sea para descartar caracteres de control o basura.
Generalmente las balanzas o centrales telefónicas envian más datos o caracteres de los que necesitamos.
En el caso de las balanzas, hay algunas de camiones por ejemplo agregan algun caracter cuando el peso esta estabilizado.
Seguramente el que hizo el código esta utilizando solo lo que considera necesario, porque además muchas veces no se dispone de la documentación de los datos que se envian y se hace a puro pulmón (probando y probando).

Saludos


La franja horaria es GMT +2. Ahora son las 07:30:14.

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