![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Ситуация:
Имееться достаточно большой файл порядка 0.5 мн строк. С ним нужно построчно прокрутить достаточно сложный алгоритм. Для этого я забиваю фаил в массив mf1[i] , где i - номер строки, по следующиму алгоритму
F1 - текстовой файл, l1 - кол-во строк. Результат: Для маленьких файлов все работает нормально, когда подставляем нужный, вместо массива строк получаем пустой массив. Вопрос: (В поиске признаюсь сразу не смотрел,инет тормозил Если какие-нибуть ограничения на кол-во строк при работе с файлом как с текстовым? Если да как их обойти, если нет в чем может быть проблема? Заранее всем спасибо. |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
А зачем тебе весь файл запихивать в массив? Это же так накладно...
|
|||
|
||||
| Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Yanis,
)) ладно спасибо, не подумал)) точнее подумал но не так)) хоть проблема решена а все-таки из-за чего не работало? Это сообщение отредактировал(а) Cheburek - 26.3.2006, 01:33 |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
||||
|
||||
| Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Кстати,а чем лучше пользоваться, что бы алгоритм побыстрее написать, а то по приблезительным расчетам анализ пару часиков точно проводиться будет)) TStringList или массив?
Это сообщение отредактировал(а) Cheburek - 26.3.2006, 01:52 |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
Не думаю что TStringList будет очень сильно отставать в скорости от протого массива.
ИМХО TStringList удобней использовать, т.к. в него уже встроены необходимые функции для работы с массивом строк. |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Т.е. тебе нужно узнать кол-во строк в файле?
|
|||
|
||||
| Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Yanis, э... я его знаю)))
|
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
||||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
А твой алгоритм обязательно требует наличия всего файла целиком в памяти?
|
|||
|
||||
| Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Ciber SLasH, Вот я это и делал, но нифига не работает..
Yanis, Нет, я думаю придеться это дело на блоки разбивать, желательно с помощью TStringList, вот вопрос как это сделать, или придеться с массивами мучиться? PS поробовал
такой же пустой список, только заметил, что в первом элементе какая-то бойда трех буквенная)) видимо компьютер меня посылает куда-то)) С менее длинными файлами по прежднему работает все отлично(( Это сообщение отредактировал(а) Cheburek - 26.3.2006, 03:26 |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Из первого поста этого не видно. Может ты не понял о чём я... я имею ввиду:
|
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Cheburek,
Проверь в свой большой файл на недопустимые символы - #00, EOF... Чудес не бывает. -------------------- |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
не совсем понятно из кода, как определяешь количество строк, может здесь косяк...модет стоит стделать так:
или использовать tStringList -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Проблема была не в длине файла)), а в кодировке(юникод Демо, Да, действительно чудес не бывает.. (ссори за то что голову заморочил) Всем спасибо. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |