![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тормозит добавление текста в Memo
AlexeyT © (2006-08-29 03:29:00)Возникла проблемка: тормозит добавление в Memo текста, когда размер строки превышает где-то мегабайт. Добавляю так:
Memo.Lines.Add(s);
или так
Memo.Lines.Text:= s;
//Length(s)=N*1024*1024
Можно загрузить текст в мемо быстро? Может, предварительно преобразовать строку в StringList и передавать в мемо его? Может, лучше пользоваться не мемо, а, скажем, RichEdit, если у него такой проблемы нет?
DrPass (2006-08-29 21:45:00) [1]
> тормозит добавление в Memo текста, когда размер строки превышает
> где-то мегабайт
В большинстве версий Windows (по-моему, во всех, кроме ХР/2003) там вообще ограничение на 64К
PSPF2003 (2006-08-29 20:56:00) [2]Кстати автор этого блокнота добился очень высокой скорости загрузки, поинтересуйся у него может поделится секретом.
http://www.progland.org/
AlexeyT (2006-08-29 20:51:00) [3]
> Может автор ветки поделиться гениальным замыслом - ЗАЧЕМ
> ЕМУ ЭТО НУЖНО ?
Гениальный замысел прост. Это работа плагина к Тотал Коммандеру "OpenOffice.org Viewer". Желающие могу скачать со страницы
http://wincmd.ru/plugring/OOSimpleViewer.html
Для показа текста там стоит мемо...
> Хотя если честно, БЫСТРО оно работать не будет НИКОГДА!!
> !
Похоже на то.
Наверное, лучше попробовать RichEdit.
Anatoly Podgoretsky (2006-08-29 15:38:00) [4]Dmitrij_K (29.08.06 15:23) [7]
Вот это верный путь к тормозам.
Memo.Text := S;
Dmitrij_K (2006-08-29 15:23:00) [5]Еще вариант
Memo1.Lines.BeginUpdate;
Memo1.Lines.Add(String);
Memo1.Lines.Add(String);
Memo1.Lines.Add(String);
...
Memo1.Lines.EndUpdate;
McLaud (2006-08-29 15:19:00) [6]Попробуй следующий вариант:
procedureWriteToMemo(Str: string);
var
Stream: TStream;
begin
Stream := TMemoryStream.Create;
try
Stream.Read(PChar(Str), Length(Str));
Memo1.LoadFromStream(Stream);
finally
Stream.Free;
end
end;
Хотя если честно, БЫСТРО оно работать не будет НИКОГДА!!!
PSPF2003 (2006-08-29 12:48:00) [7]Это коммерческая тайна… :)
Ганна Юхимівна (2006-08-29 12:30:00) [8]Может автор ветки поделиться гениальным замыслом - ЗАЧЕМ ЕМУ ЭТО НУЖНО ?
Desdechado (2006-08-29 12:28:00) [9]LoadFromFile ?
Ketmar (2006-08-29 09:43:00) [10]> [0] AlexeyT © (29.08.06 03:29)
может, лучше не грузить в memo мегабайты? memo -- это "памятка". где это видано -- памятка на мегабайты? %-)
пихай лучше в RichEdit. а ещё лучше -- реши: точно ли нужно там столько текста?
Германн (2006-08-29 04:05:00) [11]
> AlexeyT © (29.08.06 03:29)
>
> Возникла проблемка: тормозит добавление в Memo текста, когда
> размер строки превышает где-то мегабайт. Добавляю так
Да как ты не добавляй! Результат всё-равно тот же. Тормоза!
Вот только сначала подумай - а нужно ли пользователю иметь в Memo столько "мегабайт!", если вышеуказанный может реально видеть только несколько десятков строк!