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