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