|
Вопрос # 1 769/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
А вопрос у меня вот такой: Как быстро загружать большие текстовые файлы? Напрямую тут все понятно, в мемо или стринглист, но программа очеееень медленно загружает, а если файл очень большой (порядка 100 мб), то и вообще виснет после 5 минут загрузки. Исторя та же, что со стандартным блокнотом виндовс, хотя (!) альтернативные редакторы (емЭдитор, Ноутпад++, тот же Ворд из пакета Мс Оффис) - все они открываю гигантские файлы за секунды, в чем же их секрет? стоящей информации по этому поводу в сети не нашел, поэтому обращаюсь к вам, уважаемые эксперты! Надеюсь на помощь!!
 |
Вопрос задал: Phoenix (статус: Посетитель)
Вопрос отправлен: 13 июля 2008, 17:51
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 14 июля 2008, 11:14; участников в обсуждении: 3.
|
Вадим К (статус: Академик), 13 июля 2008, 17:58 [#1]:
а какова цель загрузки такого большого файла?
В случае с мемо - большая часть времени при загрузке тратиться на отрисовку.
Альтернативные редакторы обычно имеют свой способ отрисовки и подгрузив небольшую часть текста, отрисовывают его. А в фоне подгружают остаток.
Озвучте цели сего действия.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Phoenix (статус: Посетитель), 13 июля 2008, 18:14 [#2]:
Понятно, вы мне прямотаки сказать глаза открыли. хотя мне нужно не только работать со строками большого файла, но и редактировать их.
|
|
Dron (статус: Студент), 13 июля 2008, 18:21 [#3]:
А вы попробуйте не в Memo загружать или в какой-то другой визуальный компонент, а в память - в TStringList. И сравните время. Уверяю, результаты будут сильно отличаться. Ну а как такой большой текст отображать - это уже другой вопрос.
С уважением.
|
|
Phoenix (статус: Посетитель), 13 июля 2008, 19:26 [#4]:
да, давно проверил! дело оказывается в визуально отображении. надеюсь есть компопненты, способные быстро отображать все содержимое стриглиста. Спасибо за ответы.
|
|
Вадим К (статус: Академик), 13 июля 2008, 22:34 [#5]:
Я всё таки не понимаю, зачем редактировать такие большие файлы???
Возмжожно у вашей задачи есть более простое решение.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Phoenix (статус: Посетитель), 13 июля 2008, 23:53 [#6]:
да все просто - имею строковые текстовые списки (адреса, имена), работаю с ними. понимаю, в таких случаях надо использовать БД, но я никогда с ними не работал, да и не хочу усложнять систему.
|
|
Вадим К (статус: Академик), 14 июля 2008, 00:41 [#7]:
по моему, в этом случае использование БД как раз приведёт к заметному упрощению системы и ускорению её работы. неделя мучений и будете иметь приложение-конфетку.
Что это за списки адресов? даже если предоположить, что на одну запись уходит байт 200 (это даже моноговато), то это полмиллиона записей. Это же как минимум один большой город.
Базы, однозначно базы. Даже описанный мной в статьях SQLite будет отрабатывать тут на ура. А различные выборки - то вообще за милую душу.
Примерять различные MSSQL и Ораклы в этой задаче думаю слишком жестоко, как и текстовые файлы.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Phoenix (статус: Посетитель), 14 июля 2008, 11:14 [#8]:
Спасибо, посмотрю, почитаю.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|