Fórum RichEdit lento #280845
10/05/2005
0
Estou fazendo um editor de textos em Delphi 2005 e estou utilizando o RichEdit como base do editor.
Ele está funcionando bem, mas quando abro arquivos texto maiores que 1Mb o programa fica muito lento, tanto para carregar o arquivo quanto para fazer buscas, através da função FindText.
Existe alguma configuração ou algum truque que possa deixá-lo mais ágil?
Obrigado pelas dicas! :-)
Jorge Olimpia
Jorgeolimpia
Curtir tópico
+ 0Posts
10/05/2005
Edilcimar
Gostei + 0
10/05/2005
Jorgeolimpia
consegui localizar um trecho do programa onde acontece uma das situações de lentidão, que é ao abrir o arquivo texto. Segue abaixo parte do código:
...
MXEDITOR.Lines.LoadFromFile(flst);
for i := 0 to MXEDITOR.Lines.Count do
begin
if LeftStr(PChar(MXEDITOR.Lines.Strings[i]),1) = #12 then
counter := counter + 1;
end;
...
Como o arquivo que vêm para abrir pode ter ou não FormFeed, o jeito que encontrei para saber quantas páginas tem o arquivo texto foi este.
Quando faço o LoadFromFile(flst) em um arquivo texto de 24Mb o tempo de abertura é de aproximadamente 2seg. Quando chega nesta rotina do for i: 0 to ... é que o bicho pega! Demora demais.... A princípio pelo número de linhas que vai vasculhar, que neste arquivo dá umas 250000, mas mesmo assim, se estou trabalhando em memória isso não deveria ser mais rápido?
Quanto a relação processador x memória, no meu caso, acho meio improvável de ser o problema, pois estou executando os testes em um P4 HT 3,06 com 1Gb RAM.
Obrigado pelas dicas! :-)
Gostei + 0
10/05/2005
Michael
Aproveitando a sua mensagem, dê uma olhada no componente TRichView - http://www.trichview.com. É simplesmente sensacional e deixa no TRichEdit comendo poeira. ;-)
Apesar de ser comercial, tem uma versão free e com fontes.
Abraços!
Gostei + 0
11/05/2005
Jorgeolimpia
Alguem tem alguma dica de como agilizar a leitura deste arquivo?
Obrigado pelas dicas! :-)
Gostei + 0
11/05/2005
Edilcimar
Gostei + 0
11/05/2005
Jorgeolimpia
Se não encontrar outra solução, o jeito vai ser tentar fazer um thread para calcular o número de páginas, estilo o que o Microsoft Word faz quando se abre um DOC muito grande.
Obrigado pelas dicas! :-)
Gostei + 0
11/05/2005
Edilcimar
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)