<div dir="ltr">Muchas gracias, Pancho.<div><br></div><div>Te he estado siguiendo en la lisa de lazarus.es y veo que pudistes salir muy bien de todos los consejos.</div><div><br></div><div>Bonito por tu parte. Un abrazo y todo un detalle por este aporte</div><div><br><br>El martes, 4 de agosto de 2015, 19:30:50 (UTC+3), Pancho  escribió:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Tengo el siguiente código<br><br>procedure TfrmPesaje.UpdPeso(cLectura:<wbr>String);<br>var<br>  lcTramas:TStringList;<br>  lnIndice,lnNeto,lnNegativo,<wbr>lnFueraRango,lnFueraEqui,<wbr>lnTeclaAd,lnCantTramas:<wbr>integer;<br>  lcEstadoA,lcEstadoB,lcEstadoC,<wbr>lcPeso,lcTara,lcDecimales,<wbr>lcLectura:string;<br>begin<br>  lcEstadoA:='';<br>  lcEstadoB:='';<br>  lcEstadoC:='';<br>  lcPeso:='';<br>  lcTara:='';<br>  lcTramas:= TStringList.Create;<br>  Split('|', cLectura, lcTramas);<br>  lnCantTramas:=lcTramas.count;<br>  if lnCantTramas=5 then<br>     begin<br>       lcEstadoA:=lcTramas.Strings[1]<wbr>;<br>       lcEstadoB:=lcTramas.Strings[2]<wbr>;<br>       lcEstadoC:=lcTramas.Strings[3]<wbr>;<br>       lcPeso:=copy(lcTramas.Strings[<wbr>4],1,6);<br>       lcTara:=copy(lcTramas.Strings[<wbr>4],7,6);<br>       {Analisis Estado A}<br>       lcEstadoA:=HextoBin(lcEstadoA)<wbr>;<br>       lcDecimales:=copy(lcEstadoA,6,<wbr>3);<br>       case lcDecimales of<br>            '010':lnPesoComa:=0;<br>            '011':lnPesoComa:=1;<br>            '100':lnPesoComa:=2;<br>            '101':lnPesoComa:=3;<br>            '110':lnPesoComa:=4;<br>       else<br>            lnPesoComa:=0;<br>       end;<br>       {Analisis Estado B}<br>       lcEstadoB:=HextoBin(lcEstadoB)<wbr>;<br>       lnNeto:=StrToInt(copy(<wbr>lcEstadoB,8,1));<br>       lnNegativo:=StrToInt(copy(<wbr>lcEstadoB,7,1));<br>       lnFueraRango:=StrToInt(copy(<wbr>lcEstadoB,6,1));<br>       lnFueraEqui:=StrToInt(copy(<wbr>lcEstadoB,5,1));<br>       {Analisis Estado C}<br>       lcEstadoC:=HextoBin(lcEstadoC)<wbr>;<br>       lnTeclaAd:=StrToInt(copy(<wbr>lcEstadoB,5,1));<br>       {Calculos Finales}<br>       lnPesoTara:=StrToInt(lcTara)/(<wbr>Exp(LN(10)*lnPesoComa));<br>       lnPesoTot:=StrToInt(lcPeso)/(<wbr>Exp(LN(10)*lnPesoComa));<br>       if lnNegativo=1 then<br>          lnPesoTot:=lnPesoTot*(-1);<br>       {Actualizo campo de Peso Actual}<br>       txtPesoAct.Text:=FloatToStr(<wbr>lnPesoTot);<br>       txtPesoAct.Refresh;<br>       application.ProcessMessages;<br>     end;  <br><br></div>Que se ejecuta por cada lectura del puerto serie.<br><br></div>txtPesoAct es una caja de texto en la cual pongo el peso de la balanza.<br><br></div>Si solo hago el Refresh no se refresca el control...<br></div>Si le agrego application.ProcessMessages tampoco se refresca el control.<br><br></div>El control solo se refresca cuando hago un showmessage desde otro control.<br><br></div>Tengo otra pantalla que tiene un codigo similar pero el que recibe la info es una lista, en ese caso funciona sin inconvenientes...<br><br></div>Espero sus comentarios.<br><br></div>Pancho<br></div>Córdoba<br></div>Argentina<br></div>
</blockquote></div></div>