![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка текстового файла большого объема
Pavel © (2010-02-25 17:15:00)Имеется текстовый файл размером 250 МБ. Создаю переменную типа TextFile и с помщью ReadLn начинаю считывать данные из файла и сохранять в массив. Проблема в том что не удается полностью прочитать файл, так как в определенный момент программа зависает. Какие могут быть варианты для решения подобной проблемы?
KilkennyCat (2010-02-27 22:05:00) [1]ну, если так рассуждать, то и байт прочитать сложно. а вообще, зависит от носителя.
Демо (2010-02-27 21:55:00) [2]
> Anatoly Podgoretsky © (27.02.10 21:30) [30]
> Бит получить легко, прочитать сложно.
Ну никто же не заставляет этот бит самому читать;)
Заставляем прочитать система, либо другое приложение, подсовываем ему переменную для установки бита. Вот и всё.
По-существу читаем бит из файла.
-)
Anatoly Podgoretsky (2010-02-27 21:30:00) [3]Бит получить легко, прочитать сложно.
Демо (2010-02-27 21:25:00) [4]
> Ну так были же вопросы, как прочитать один бит из файла.
Путём нехитрых манипуляций можно и бит получить... ;)
Anatoly Podgoretsky (2010-02-26 11:55:00) [5]> sniknik (26.02.2010 11:51:26) [26]
Ну так были же вопросы, как прочитать один бит из файла. Очень нужный мемо
KilkennyCat (2010-02-26 11:52:00) [6]Забыли приставку Nano. Говорят, это - модно.
sniknik (2010-02-26 11:51:00) [7]> И заменят на MemoCharByChar
MemoBitCharByBit
Anatoly Podgoretsky (2010-02-26 10:58:00) [8]
> А TMemo наконец-то удалят из палитры компонент тогдашнего
> потомка Дельфи!!!
И заменят на MemoCharByChar
Anatoly Podgoretsky (2010-02-26 10:56:00) [9]
> пост [1] прошу считать недействительным
Почему, реально же не большой.
Anatoly Podgoretsky (2010-02-26 10:54:00) [10]
> Вот процедура, которая собственно и обрабатывает файл:
Отвратительно написаная процедула, побайтовое чтение, большой расход памяти. Переписать все нафиг.
Anatoly Podgoretsky (2010-02-26 10:53:00) [11]
> Вот процедура, которая собственно и обрабатывает файл:
А говорил про TextFile
Германн (2010-02-26 01:57:00) [12]
> KilkennyCat © (26.02.10 01:35) [20]
>
> хуже того - от скорости и длинны прогрессбара зависит стоимость
> программы. чем длиннее и медленнее - тем дороже.
>
В точку!
Подробности письмом.
KilkennyCat (2010-02-26 01:35:00) [13]хуже того - от скорости и длинны прогрессбара зависит стоимость программы. чем длиннее и медленнее - тем дороже.
Германн (2010-02-26 01:30:00) [14]
> и ниче, даж обидно было, что прогрессбар слишком быстро
> бежит.
Да. Однажды я так старался сделать красивую визуализацию процесса обработки. И всё коту под хвост! :)
Всё пролетало так, что ничего не видно было.
KilkennyCat (2010-02-26 01:21:00) [15]
> Германн ©
Это утопия... скорее всего, программы будут писать себя сами... или будет уже одна Идеальная Программа, могущая все.
А фактически, мне приходилось парсить побайтно и большие размеры... и ниче, даж обидно было, что прогрессбар слишком быстро бежит.
Германн (2010-02-26 01:11:00) [16]
> sniknik © (26.02.10 00:43) [15]
>
> > Да, при подобных способах обработки это очень большой
> объем
> > всего-то четверть миллиарда итераций
> а представляете, что будет когда автор узнает о битовых
> операциях... ;)
>
Тогда уже речь будет идти о квинтиллионах итераций :)
А TMemo наконец-то удалят из палитры компонент тогдашнего потомка Дельфи!!!
(Или компилятор станет настолько умным, что будет выдавать предупреждения об увольнении при компиляции подобного кода :).
KilkennyCat (2010-02-26 00:47:00) [17]фигня, ща в процессорах много ядер, достаточно грамотно написать в описании программы требования к компу.
sniknik (2010-02-26 00:43:00) [18]> Да, при подобных способах обработки это очень большой объем
> всего-то четверть миллиарда итераций
а представляете, что будет когда автор узнает о битовых операциях... ;)
KilkennyCat (2010-02-26 00:31:00) [19]всего-то четверть миллиарда итераций
Игорь Шевченко (2010-02-26 00:21:00) [20]
> что, передумал, и теперь считаешь 250мб большим объемом?
> :о))
Да, при подобных способах обработки это очень большой объем