PDA

Ver la Versión Completa : Caracteres extraños en un Memo


Sr.Scorpion
22-10-2008, 21:20:17
Hola:

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


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

FGarcia
22-10-2008, 22:44:23
Hace poco se respondio un hilo con la misma pregunta. Los caracteres extraños son caracteres de control (ASCII 0 al 31). Generalmente el memo no los toma en cuenta si usas una fuente como tahoma. Si usas el font Terminal te los escribe, a excepcion del cr y lf.

egostar
22-10-2008, 22:52:20
Hace poco se respondio un hilo con la misma pregunta. Los caracteres extraños son caracteres de control (ASCII 0 al 31). Generalmente el memo no los toma en cuenta si usas una fuente como tahoma. Si usas el font Terminal te los escribe, a excepcion del cr y lf.

Y casualmente del mismo compañero :D:D:D

Salud OS

JoseFco
22-10-2008, 23:09:15
Y casualmente del mismo compañero :D:D:D

Salud OS

A que casueleros tan casuales me salieron este par de policias.:D:D:D

FGarcia
22-10-2008, 23:23:18
No me perroconfunda!! ¿como que tambien policia? ¿que mal le hice? ¿cuando he profanado su intimidad? Por cierto ya vi que hasta repitio el hilo hoy. ¿No habra encontrado la respuesta despues de dos paginas y volvio a la carga?

Lepe
23-10-2008, 12:21:04
Los dos primeros StringReplace, quitan los caracteres extraños.
Los dos siguientes añaden caracteres extraños :D.

El bug lo estás introduciendo tú mismo

Sr.Scorpion
23-10-2008, 14:47:05
Aqui voy de nuevo.... muchas gracias a todos por responder y mas aun por sus comentarios, el primer post era eliminar los caracteres extraños q obtenia del puerto y este es eliminar los caracteres extraños q pongo en el Memo.

Lepe:
El caracter q agrego #13 es para q me funcione como la tecla ENTER, cosa q me funciona pero al final me deja ciertos simbolos etc etc

FGarcia:
No he probado cambiar las fuentes del Memo a Tahoma como dices, realmente lo q hice fue sustituir el Memo por un RichEdit y eso me interpreta mejor cuando le pongo #13 y no me pone los garabatos extraños.

PD: Disculpen si solo les respondi a los q aportaron ideas, es q el tiempo no me sobra para los q comentan de mas.... saludos egostar