Como actualizar la pantalla leyendo el puerto comm ???

Como actualizar la pantalla leyendo el puerto comm ???

Postby gabo » Tue Aug 21, 2007 12:23 am

Hola sigo con la lectura de los puertos comm.. estoy utilizando un reloj-lector de huella digital.. que usa el puerto usb y un controlador para accesarlo atravez de un puerto comm.. la lectura de los datos y acceso al lector todo bien.. pero.. quiero pintar una barra de progreso cada vez que me lee el puerto pero la app se queda congelada.. aguien ha hecho algo parecido que me un tip.. pongo codigo de lectura del puerto.. Saludos
Code: Select all  Expand view
/*----------------------------------------------------------------------------------------------------*/
STATIC FUNCTION ReadBufferComm( oLector, oBarra )
  LOCAL oDlg, oLbx
  LOCAL hDatos, nBytes, cBuffer, cLinea, aRecords, nRecCount
  LOCAL lPrimeraVez, cBuffTemp, nPos

  hDatos:= OutChr( "("+ oLector:ps_NOSERIE + ",kqdata)"  )

  cBuffer:= ""
  nBytes := 200
  cLinea := ""
  aRecords:= {}
  lPrimeraVez:= .T.

  DO WHILE .T.
     nBytes := InbufSize()
     cBuffer:= InChr( nBytes )
     IF At( "kqdata,ok", cBuffer ) > 0
        IF lPrimeraVez
           cBuffTemp:= cBuffer
           cBuffTemp:= SubStr( cBuffTemp, 1, 22 )
           nRecCount:= Val( SubStr( cBuffTemp, 16, 6 ) )
           lPrimeraVez:= .F.
           oBarra:SetRange( 1, nRecCount )
        ENDIF
     ENDIF
     IF At( "kqdataend,ok", cBuffer ) > 0
        IF Len( AllTrim( cBuffer ) ) > 0
           cLinea+= BufferClean( cBuffer )
           aRecords:= str2a ( cLinea, CRLF )
           oBarra:SetPos( Len( aRecords ) ) // Aqui se supone que actualiza la barra de progreso
           SysRefresh()
        ENDIF
        EXIT
     ELSE
        IF Len( AllTrim( cBuffer ) ) > 0
           cLinea+= BufferClean( cBuffer )
           aRecords:= str2a ( cLinea, CRLF )
           oBarra:SetPos( Len( aRecords ) )
           SysRefresh()
        ENDIF

     ENDIF
     SysRefresh()
     cBuffer:= ""
  ENDDO

  RETURN NIL

Saludos
gabo
 
Posts: 128
Joined: Tue Jan 03, 2006 8:31 pm

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: jmartial and 68 guests