PDA

Ver la Versión Completa : caracteres de control


anubis
03-12-2009, 17:55:11
Hola de nuevo
Estoy intentando leer un archivo.txt y pasarlo a un memo. Eso funciona, que cosas!!!.
La cuestión es si el archivo lo leo con el notepad esta bien, pero si lo veo en el memo tengo dobles espacios.
Lo he abierto con un editor hexadecimal y hay caracteres de control como el 10, etc
intento leer letra por letra buscando esos caracteres pero no me salen
Hay forma de poder controlar esto?.
El archivo lo he leido con
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
Fa: TextFile;
sLinea: String;
begin
AssignFile( Fa,'s94.txt' );
Reset( Fa );
i:=1;
while i<20 do
begin
ReadLn( Fa, sLinea );

i:=i+1;

Memo1.Lines.Add(revisalinea (slinea));
end;

CloseFile( Fa );

end;
function tform1.revisalinea(linea:string): string;
var
n:integer;
begin
for n:=1 to length(linea) do
begin

linea[n]:=char(84);
// if linea[n]=char(10) then
// linea[n]:=char(84);
end;
revisalinea:=linea;
end;
he puesto una pequeña prueba convirtiendo todo a una letra pero me sigue haciendo lo mismo

gracias

tambien he probado poniendo #10 pero tampoco

rgstuamigo
03-12-2009, 18:39:34
Y por que no utilizar los propios metodos de la clase TStrings para leer el archivo?:confused:.
Tan solo se hace:
Memo1.Lines.LoadFromFile('s94.txt');
y ya...;).
Saludos...:)

anubis
03-12-2009, 19:07:16
gracias, asi tambien funciona ;), pero por ejemplo, para poder hacer un editor y que me conserve las tabulaciones y demas como se podrian leer los caracteres de control.

Lepe
03-12-2009, 20:48:02
Yo diría que lo primero es usar un RichEdit en lugar de memo, al menos tiene la capacidad de guardar con "Formato de texto enriquecido" (RTF) es decir, tabuladores, negritas, subrayados, formatos de párrafo... todo eso está ya implementado de serie, sólo tienes que poner algunos botones con una simple orden cada uno (más o menos).

Revisa la carpeta delphix\Demos\RichEdit