Ver Mensaje Individual
  #14  
Antiguo 09-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Reputación: 25
egostar Va camino a la fama
Hola

Los caracteres "raros" que ves son caracteres de control,

Cita:
02 Start of Text
1B Escape
03 End Of Text
Tus cadenas recibidas tienen este formato

Cita:
02 IB [Cadena de Datos] 03
Y lo que tú deseas es solo la [Cadena de Datos]

Hay varias formas de lograr lo que quieres.

1. Usar un ApdDataPacket configurando las propiedades
  • EndCond = [ecString]
  • EndString = #3
  • StartString = #2#27
  • IncludeStrings = False
  • StartCond = scString

En el evento OnStringPacket solo debes de mostrar el dato recibido, por ejemplo en un TMemo

Código Delphi [-]
procedure TFcalendar.ApdDataPacket1StringPacket(Sender: TObject;
  Data: String);
begin
  Memo1.Lines.Add(Data);
end;

2. Con la forma como estas recibiendo los datos eliminas el inicio de la cadena (02 y 1B) y reemplazando el (03) por #13

Código Delphi [-]
   Cadena := StringReplace(Cadena, #02#27,'',[rfReplaceAll]);
   Cadena := StringReplace(Cadena, #03,#13,[rfReplaceAll]);
   Memo1.Lines.Add(Cadena);

Trata con cualquiera de las dos opciones y nos comentas.

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