<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Tocando de oído, quizas puedas forzar un repintado con Invalidate() (en Delphi funcionaba)</div><div class="gmail_extra"><br><div class="gmail_quote">2015-08-04 13:30 GMT-03:00 francisco prieto <span dir="ltr"><<a href="mailto:fajprieto@gmail.com" target="_blank">fajprieto@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 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:String);<br>var<br> lcTramas:TStringList;<br> lnIndice,lnNeto,lnNegativo,lnFueraRango,lnFueraEqui,lnTeclaAd,lnCantTramas:integer;<br> lcEstadoA,lcEstadoB,lcEstadoC,lcPeso,lcTara,lcDecimales,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];<br> lcEstadoB:=lcTramas.Strings[2];<br> lcEstadoC:=lcTramas.Strings[3];<br> lcPeso:=copy(lcTramas.Strings[4],1,6);<br> lcTara:=copy(lcTramas.Strings[4],7,6);<br> {Analisis Estado A}<br> lcEstadoA:=HextoBin(lcEstadoA);<br> lcDecimales:=copy(lcEstadoA,6,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);<br> lnNeto:=StrToInt(copy(lcEstadoB,8,1));<br> lnNegativo:=StrToInt(copy(lcEstadoB,7,1));<br> lnFueraRango:=StrToInt(copy(lcEstadoB,6,1));<br> lnFueraEqui:=StrToInt(copy(lcEstadoB,5,1));<br> {Analisis Estado C}<br> lcEstadoC:=HextoBin(lcEstadoC);<br> lnTeclaAd:=StrToInt(copy(lcEstadoB,5,1));<br> {Calculos Finales}<br> lnPesoTara:=StrToInt(lcTara)/(Exp(LN(10)*lnPesoComa));<br> lnPesoTot:=StrToInt(lcPeso)/(Exp(LN(10)*lnPesoComa));<br> if lnNegativo=1 then<br> lnPesoTot:=lnPesoTot*(-1);<br> {Actualizo campo de Peso Actual}<br> txtPesoAct.Text:=FloatToStr(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>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" rel="noreferrer" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr"><span style="font-size:small;font-family:tahoma,sans-serif"><div style="display:inline"></div></span><font face="tahoma, sans-serif" style="font-size:small">Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.<div style="display:inline"> </div></font><i style="font-size:small;font-family:tahoma,sans-serif">Linus Torvalds</i><br></div></div>
</div></div>