Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 769

/ вопрос открыт /

Приветствую, уважаемые эксперты!
А вопрос у меня вот такой: Как быстро загружать большие текстовые файлы? Напрямую тут все понятно, в мемо или стринглист, но программа очеееень медленно загружает, а если файл очень большой (порядка 100 мб), то и вообще виснет после 5 минут загрузки. Исторя та же, что со стандартным блокнотом виндовс, хотя (!) альтернативные редакторы (емЭдитор, Ноутпад++, тот же Ворд из пакета Мс Оффис) - все они открываю гигантские файлы за секунды, в чем же их секрет? стоящей информации по этому поводу в сети не нашел, поэтому обращаюсь к вам, уважаемые эксперты! Надеюсь на помощь!!

Phoenix Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Phoenix (статус: Посетитель)
Вопрос отправлен: 13 июля 2008, 17:51
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 8; последнее сообщение — 14 июля 2008, 11:14; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 13 июля 2008, 17:58 [#1]:

а какова цель загрузки такого большого файла?
В случае с мемо - большая часть времени при загрузке тратиться на отрисовку.
Альтернативные редакторы обычно имеют свой способ отрисовки и подгрузив небольшую часть текста, отрисовывают его. А в фоне подгружают остаток.

Озвучте цели сего действия.
Галочка "подтверждения прочтения" - вселенское зло.
Phoenix

Phoenix (статус: Посетитель), 13 июля 2008, 18:14 [#2]:

Понятно, вы мне прямотаки сказать глаза открыли. хотя мне нужно не только работать со строками большого файла, но и редактировать их.
Dron

Dron (статус: Студент), 13 июля 2008, 18:21 [#3]:

А вы попробуйте не в Memo загружать или в какой-то другой визуальный компонент, а в память - в TStringList. И сравните время. Уверяю, результаты будут сильно отличаться. Ну а как такой большой текст отображать - это уже другой вопрос.
С уважением.
Phoenix

Phoenix (статус: Посетитель), 13 июля 2008, 19:26 [#4]:

да, давно проверил! дело оказывается в визуально отображении. надеюсь есть компопненты, способные быстро отображать все содержимое стриглиста. Спасибо за ответы.
Вадим К

Вадим К (статус: Академик), 13 июля 2008, 22:34 [#5]:

Я всё таки не понимаю, зачем редактировать такие большие файлы???
Возмжожно у вашей задачи есть более простое решение.
Галочка "подтверждения прочтения" - вселенское зло.
Phoenix

Phoenix (статус: Посетитель), 13 июля 2008, 23:53 [#6]:

да все просто - имею строковые текстовые списки (адреса, имена), работаю с ними. понимаю, в таких случаях надо использовать БД, но я никогда с ними не работал, да и не хочу усложнять систему.
Вадим К

Вадим К (статус: Академик), 14 июля 2008, 00:41 [#7]:

по моему, в этом случае использование БД как раз приведёт к заметному упрощению системы и ускорению её работы. неделя мучений и будете иметь приложение-конфетку.

Что это за списки адресов? даже если предоположить, что на одну запись уходит байт 200 (это даже моноговато), то это полмиллиона записей. Это же как минимум один большой город.

Базы, однозначно базы. Даже описанный мной в статьях SQLite будет отрабатывать тут на ура. А различные выборки - то вообще за милую душу.

Примерять различные MSSQL и Ораклы в этой задаче думаю слишком жестоко, как и текстовые файлы.
Галочка "подтверждения прочтения" - вселенское зло.
Phoenix

Phoenix (статус: Посетитель), 14 июля 2008, 11:14 [#8]:

Спасибо, посмотрю, почитаю.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:57
Выполнено за 0.02 сек.