Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что же делать? Как мне быть?


Феликс ©   (2002-10-10 14:43:00) 

Вообщем ситуация такая!
Есть код:
SL := TStringList.Create;
SL.LoadFromFile("Base/"+s+".txt");
Form1.RichEdit1.Lines.AddStrings(SL);
, где s имя txt файла. Таких txt файлов 6 и их общий вес 276 кб.
Проблема в том, что richedit грузит эти файлы 40-45 сек, что сами понимаете
очень долго. Казалось бы используй вместо richedit memo, например. Однако, в memo влазит не более 64 кб в Windows 9x, кроме того richedit хорош тем, что в нем можно осуществлять поиск, что очень важно для моей программы. Возникает вопрос: richedit долго грузит, memo не подходит, так что же делать? Грузить то файлы и осуществлять в них поиск все равно надо!!


gek   (2002-10-10 15:44:00) [1]

примерно так

assignfile(f,FileName);
reset(f);
try
Form1.RichEdit1.Lines.BeginUpdate;
while not eof(f) do
begin
readln(f,s);
Form1.RichEdit1.Lines.Add(s);
finally
Form1.RichEdit1.Lines.EndUpdate;
CloseFile(f);
end;

и так по всем files


Феликс   (2002-10-10 15:40:00) [2]

2 gek ©
А можно по-подробней, да с исходником


gek   (2002-10-10 15:26:00) [3]

Ну сделай
Form1.RichEdit1.Lines.Add
и сам файл считывай
TStringList тут нечего делать


Феликс   (2002-10-10 15:23:00) [4]

1)
Form1.RichEdit1.Lines.BeginUpdate;
SL.LoadFromFile("Base/"+s+".txt");
Form1.RichEdit1.Lines.AddStrin(SL);
Form1.RichEdit1.Lines.EndUpdate;
Похоже еще медленей стало :)
2)А зачем TStringList ?
Так нельзя ? :
Если бы вопрос был только об одном файле, то Form1.RichEdit1.Lines.LoadFromFile("Base/"+s+".txt"); конечно подойдет, а так как их 6 и их всех надо запихнуть в один richedit, то tstring то что доктор прописал.


gek   (2002-10-10 14:50:00) [5]

Зачем сначала в TStringList грузить?
И странно что так долго
У меня на P2 350 ~ 1 сек 1Мб
Form1.RichEdit1.Lines.LoadfromFile
Form1.RichEdit1.Lines.LoadFromStream


Song   (2002-10-10 14:50:00) [6]

Используйте BeginUpdate/EndUpdate


gek   (2002-10-10 14:50:00) [7]

Да и еще
Form1.RichEdit1.Lines.BeginUpdate
...............
Form1.RichEdit1.Lines.EndUpdate


Skier   (2002-10-10 14:47:00) [8]

>Феликс
А зачем TStringList ?
Так нельзя ? :


Form1.RichEdit1.Lines.LoadFromFile("Base/"+s+".txt");


still   (2002-10-10 14:47:00) [9]

попробуй делать richedit невидимым на время загрузки, мож это из-за перерисовки тормозит? могу ошибаться


Наверх

Титульная страница Поиск, карта сайта Написать письмо