Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2010, 21:31   #1
)Игнат(
Форумчанин
 
Регистрация: 06.01.2008
Сообщений: 180
Сообщение Вывод текста

Здравствуйте уважаемые форумчане.
Есть форма, на которой лежит компонент Memo1.
при выводе в Memo1 текста большой величины(1 млн. символов, и более) программа на некоторое время "виснет"
можно эту проблему как-то решить?
генерация этих самых символов занимает всего несколько миллисекунд, а вывод их в текстовое поле - очень долго(2-7 сек, в зависимости от производительности компа).
если же это факт из биографии этого компонента, или операции - будьте добры, скажите.
В таком случае как можно вывести в Memo1 не более N символов из переменной к примеру _txt ?
)Игнат( вне форума Ответить с цитированием
Старый 09.08.2010, 22:18   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Код:
Memo1.Lines.Add(Copy(_txt, 0, N);
У Memo есть ограниченике на кол. символов
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 10.08.2010, 09:40   #3
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

у меня одно время тоже TMemo висло из большого кол символов, но я решил проблему так перед вводом Memo1.Visible := false; а после ввода Memo1.Visible := true; мне помогло.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 10.08.2010, 09:51   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Может это поможет?
Код:
Memo1.Perform( WM_SETREDRAW, 0, 0 );
  //грузим в МЕМО строки...
Memo1.Perform( WM_SETREDRAW, 1, 0 );
Memo1.Refresh;
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод текста Aleksey1989 Помощь студентам 7 25.04.2010 16:52
Вывод текста (Visual C++) SeeWhoIam Помощь студентам 0 25.12.2009 22:24
Вывод текста SeeWhoIam Помощь студентам 2 24.12.2009 22:36
C|Вывод текста Troi666 Помощь студентам 4 09.05.2009 01:31
вывод текста Shkentik Общие вопросы Delphi 5 21.04.2009 23:29