Скачать MetaTrader 5

CSV файл, как найти N-ю с конца строку??? (+)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114299
Forex Trader  
Добрый день.
Убился, помогите. Скорее всего, уперся во что-то элементарное.
Суть: нужен сборщик данных из МТ, но не переписывающий файл каждый раз заново, а добавляющий недостающую историю в конец. Соответственно, в файле нужно найти последнюю строку, распарсить дату/время, взять из МТ данные с этой точки и записать. Но у меня упорно не выходит получить начало последней строки поиском с конца файла, только в лоб:
while( !FileIsEnding( handle ) )
txt = FileReadString( handle );
при этом файл я открываю с "левым" разделителем.

Как решить задачу? Прямой поиск в конечном варианте неприемлем, слишком долго.

Спасибо.
Forex Trader
114299
Forex Trader  
Это - непростая задача. И однозначного решения не имеет.
Если Вы считаете свой вариант долгим, то попробуйте читать файл не сначала. Установите указатель, например, за 100 байт до конца файла. Этот размер (в данном случае 100) должен быть заведомо больше размера любой вашей строки.
Forex Trader
114299
Forex Trader  
Вот тут есть грамотная работа с файлом "MQL4: Новый взгляд на эквиобъемные графики"
Forex Trader
114299
Forex Trader  
Во-первых, Конец строки не всегда там, где его ждешь - http://simple-testing.blogspot.com/2007/12/blog-post_10.html.

Во-вторых, что мешает сначала считать файл в строковый массив (http://simple-testing.blogspot.com/2007/03/blog-post_30.html), а потом записать новый файл?
Forex Trader
114299
Forex Trader  

Во-вторых, что мешает сначала считать файл в строковый массив (http://simple-testing.blogspot.com/2007/03/blog-post_30.html), а потом записать новый файл?

Нет никакого желания читать этот файл вообще. Сейчас это часовки с 98 года, 3 с лишним мега на файл. Файлов сейчас 8, может стать больше..


Буду ставить указатель близко к концу файла, Slawa, спасибо за идею!
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий