Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
ВнизЧто же делать? Как мне быть? Найти похожие ветки
← →
Феликс (2002-10-10 14:43) [0]Вообщем ситуация такая!
Есть код:
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 не подходит, так что же делать? Грузить то файлы и осуществлять в них поиск все равно надо!!
← →
Skier (2002-10-10 14:47) [1]>Феликс
А зачем TStringList ?
Так нельзя ? :
Form1.RichEdit1.Lines.LoadFromFile("Base/"+s+".txt");
← →
still (2002-10-10 14:47) [2]попробуй делать richedit невидимым на время загрузки, мож это из-за перерисовки тормозит? могу ошибаться
← →
gek (2002-10-10 14:50) [3]Зачем сначала в TStringList грузить?
И странно что так долго
У меня на P2 350 ~ 1 сек 1Мб
Form1.RichEdit1.Lines.LoadfromFile
Form1.RichEdit1.Lines.LoadFromStream
← →
Song (2002-10-10 14:50) [4]Используйте BeginUpdate/EndUpdate
← →
gek (2002-10-10 14:50) [5]Да и еще
Form1.RichEdit1.Lines.BeginUpdate
...............
Form1.RichEdit1.Lines.EndUpdate
← →
Феликс (2002-10-10 15:23) [6]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 15:26) [7]Ну сделай
Form1.RichEdit1.Lines.Add
и сам файл считывай
TStringList тут нечего делать
← →
Феликс (2002-10-10 15:40) [8]2 gek ©
А можно по-подробней, да с исходником
← →
gek (2002-10-10 15:44) [9]примерно так
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
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c