Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Caracteres extraños en un Memo (https://www.clubdelphi.com/foros/showthread.php?t=61038)

Sr.Scorpion 22-10-2008 21:37:46

Caracteres extraños en un Memo
 
Hola:

Estoy utilizando el ComPort y Delphi 6, cuando leo del puerto serie filtro los caracteres q me entran:

Código Delphi [-]
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
str,cadena: string;
begin
ComPort.ReadStr(cadena, Count);
str:= StringReplace(cadena, #$13, '',[rfReplaceAll]);
str:= StringReplace(str, #$11, '',[rfReplaceAll]);
str:= StringReplace(str, #$A#$A, #13#13,[rfReplaceAll]);
str:= StringReplace(str, #$A, #13,[rfReplaceAll]);
ShowMessage(Str);
Memo1.Text := Memo1.Text + Str;
end;

Resulta q con esto el texto me sale totalmente depurado, de hecho cuando me sale el texto en el ShowMessage me sale perfecto, sin embargo cuando el Memo me lo carga, me lo muestra con caracteres bastante extraños con simbolos musicales etc etc.... q fuente le puedo poner al Memo para q me salga el texto como mismo me sale el ShowMessage.... ???

Saludos

elcolo83 23-10-2008 19:54:59

Es muy probable que la funcion ShowMessage tambien este filtral los caracteres que no corresponden... Creo que deberias filtrar algo como asi:

Código Delphi [-]
procedure Filtrar(var Cadena: String);
  var i: integer;      
begin
  i:= 1;
  while i < Length(Cadena) do
   begin
    //Si no es un TAB ni un Enter lo borro
    if (Cadena[i]<#32)and(Cadena[i]<>#9)and(Cadena[i]<>#13) then
      Delete(Cadena, i, 1)
    else i:= i+1;
   end;
end;


La franja horaria es GMT +2. Ahora son las 11:01:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi