PDA

Ver la Versión Completa : Velocidad de acceso a un TRichEdit


shaktale
19-09-2003, 11:09:39
Saludos a todos,

Tengo que acceder muchas veces a la información de un fichero de texto que puede ser bastante grande (las pruebas las estoy haciendo con unas 10000 lineas pero puede ser bastante mayor).

Para agilizar el acceso lo vuelco a un TRichEdit.

El problema que tengo es que (creo que) tarda más en acceder a las líneas que tienen un índice mayor. Es decir invierte más tiempo en acceder a RichEdtOut.Lines[10000] que a RichEdtOut.Lines[1], de forma que cuando tengo que acceder a las últimas líneas se relentiza mucho el proceso.

¿Alguien sabe a que se puede deber esto y alguna forma de solucionarlo?

¿De qué otra forma se puede manejar el acceso a un fichero de texto lo más rapidamente posible?

Gracias

shaktale
19-09-2003, 11:35:54
De hecho con esta pequeña prueba que consiste en la lectura de las 200 primeras lineas y de las 200 lineas a partir de la 9000 me salen grandes diferencias: cuando leo las primeras lineas tarda del orden de 60ms, mientras q leyendo las ultimas unos 400.

Prueba:


t:=GetTickCount;
for i:=1 to 200 do
label2.caption:=RichEdit1.Lines[i];
label1.caption:=FloatToStr(GetTickCount-t);

t:=GetTickCount;
for i:=9001 to 9200 do
label4.caption:=RichEdit1.Lines[i];
label3.caption:=FloatToStr(GetTickCount-t);

shaktale
19-09-2003, 12:14:15
Hola soy yo de nuevo ;)

He encontrado una solución bastante buena a mi problema lo posteo por si puede servir a alguien.

La solución es tan simple como utilizar un TMemo en lugar de un TRichEdit, con esto he conseguido en la pruba anterior velocidades similares en ambos casos que rondan los 40-50 ms.

De todas formas ahora me han surgido nuevas dudas (http://www.clubdelphi.com/foros/showthread.php?s=&threadid=3779)

gracias por todo

un saludo