Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1155192384
VictorT
2006-08-10 10:46
2006.09.17
Первый блин. Моё первое видео в воздухе.


15-1155287614
vajo
2006-08-11 13:13
2006.09.17
Штрафы за использование пиратского ПО


2-1156408396
Начинающий_1
2006-08-24 12:33
2006.09.17
Сравнение двумерных динамических массивов


8-1141571691
Sco
2006-03-05 18:14
2006.09.17
Взрыв


15-1156338855
AlexanderMS
2006-08-23 17:14
2006.09.17
Редактор ассемблера MASM.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский