Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Velocidad de acceso a un TRichEdit (https://www.clubdelphi.com/foros/showthread.php?t=3776)

shaktale 19-09-2003 11:09:39

Velocidad de acceso a un TRichEdit
 
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:

Código:

  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

gracias por todo

un saludo


La franja horaria es GMT +2. Ahora son las 09:55:23.

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