Ver Mensaje Individual
  #4  
Antiguo 06-05-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Reputación: 25
egostar Va camino a la fama
Cita:
Empezado por vejerf Ver Mensaje
Quizás no sea la forma más práctica ni ortodoxa, pero más o menos me funciona
Hola vejerf

Para este tipo de menesteres y desde mi experiencia con la recepción de paquetes de datos a través de puerto serial, te recomiendo que uses el componente TurboPower Async Professional (gracias amigo Al por recomendarmelo hace ya unos años ), el cual tiene dentro de sus particularidades un objeto de nombre ApdDataPacket, a este objeto le asignas una cadena de inicio y una cadena de final por ejemplo:

En las propiedades del Objeto ApdDataPacket

StartString = #22 [SYN] (Aunque yo usaria solo #2 [STX], a menos que requieras por fuerza el [SYN])
EndString = #3 [ETX];

y en código solo requieres hacer esto:

Código Delphi [-]
procedure TLector.ApdDataPacket1StringPacket(Sender: TObject; Data: string);
begin
  ProcesaInformacion(Data); //Data ya tiene todo el paquete de datos que esperas.
end;

Al final, te olvidas de codificar y validar cada vez que recibes un caracter.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita